Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaren Butzke2012-11-15 16:29:10 +0000
committerKaren Butzke2012-11-16 17:10:46 +0000
commitde93748ea9e02d5a1ed876929539d003571485b4 (patch)
treef15fbae027dc55f2592b3377dd2557b67f958b52 /jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa
parent9aac2034a035b5dd91d1eef619df75e218607f09 (diff)
downloadwebtools.dali-de93748ea9e02d5a1ed876929539d003571485b4.tar.gz
webtools.dali-de93748ea9e02d5a1ed876929539d003571485b4.tar.xz
webtools.dali-de93748ea9e02d5a1ed876929539d003571485b4.zip
jpt.jpa.core move EMF generated code to model/src
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa')
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlAttributeMapping.java293
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseColumn.java547
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseDiscriminatorColumn.java305
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlEmbedded.java220
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlMultiRelationshipMapping.java1137
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlNamedColumn.java288
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlReferenceTable.java222
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlRelationshipMapping.java419
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlSingleRelationshipMapping.java614
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTable.java467
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTypeMapping.java568
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Attributes.java792
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/CascadeType.java586
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnMapping.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnResult.java221
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/DiscriminatorType.java262
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListener.java928
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListeners.java200
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityResult.java363
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EnumType.java235
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EventMethod.java285
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FetchType.java235
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FieldResult.java294
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/GenerationType.java289
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Inheritance.java231
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/InheritanceType.java260
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Lob.java56
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/MapKey.java232
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmFactory.java944
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmPackage.java12962
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostLoad.java68
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostPersist.java68
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostRemove.java68
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostUpdate.java68
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PrePersist.java68
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreRemove.java68
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreUpdate.java68
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/SqlResultSetMapping.java418
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/TemporalType.java262
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAccessHolder.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverride.java531
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverrideContainer.java57
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeMapping.java71
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverride.java451
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverrideContainer.java57
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseColumn.java177
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseDiscriminatorColumn.java94
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseJoinColumn.java66
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBasic.java687
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlClassReference.java266
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlCollectionTable.java68
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlColumn.java375
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlConvertibleMapping.java144
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlDiscriminatorColumn.java76
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlElementCollection.java1706
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddable.java81
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbedded.java256
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddedId.java74
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntity.java2308
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntityMappings.java1154
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEventMethodContainer.java227
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratedValue.java313
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGenerator.java128
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratorContainer.java86
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlId.java801
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlIdClassContainer.java61
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumn.java277
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumnContainer.java50
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTable.java210
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTableContainer.java59
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToMany.java88
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToOne.java85
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedByMapping.java70
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedSuperclass.java570
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedColumn.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedNativeQuery.java646
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedQuery.java644
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNullAttributeMapping.java54
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToMany.java376
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToOne.java478
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderColumn.java404
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderable.java64
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOverride.java69
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitDefaults.java742
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitMetadata.java393
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumn.java273
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumnContainer.java50
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQuery.java126
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryContainer.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryHint.java366
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlReferenceTable.java56
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSecondaryTable.java205
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSequenceGenerator.java731
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTable.java71
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTableGenerator.java994
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTransient.java77
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTypeMapping.java167
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlUniqueConstraint.java286
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlVersion.java523
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/LockModeType_2_0.java397
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Factory.java166
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Package.java3806
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAssociationOverride_2_0.java64
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeMapping_2_0.java35
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeOverride_2_0.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributes_2_0.java86
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCacheable_2_0.java71
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCascadeType_2_0.java61
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCollectionTable_2_0.java35
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlDerivedId_2_0.java72
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlElementCollection_2_0.java269
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEmbedded_2_0.java34
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntityListener_2_0.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntity_2_0.java32
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEventMethod_2_0.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlGenerator_2_0.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlManyToMany_2_0.java34
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyAttributeOverrideContainer_2_0.java58
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyClass_2_0.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyConvertibleMapping_2_0.java115
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapsId_2_0.java70
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMultiRelationshipMapping_2_0.java117
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlNamedQuery_2_0.java70
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToMany_2_0.java28
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToOne_2_0.java33
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderColumn_2_0.java121
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderable_2_0.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrphanRemovable_2_0.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitDefaults_2_0.java94
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitMetadata_2_0.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQueryHint_2_0.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQuery_2_0.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSequenceGenerator_2_0.java94
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSingleRelationshipMapping_2_0.java31
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSqlResultSetMapping_2_0.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlUniqueConstraint_2_0.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistenceFactory.java250
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistencePackage.java1309
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJarFileRef.java254
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJavaClassRef.java264
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlMappingFileRef.java283
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistence.java262
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnit.java1105
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnitTransactionType.java236
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperties.java202
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperty.java322
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Factory.java192
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Package.java450
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitCachingType_2_0.java312
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitValidationModeType_2_0.java258
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnit_2_0.java96
151 files changed, 58014 insertions, 0 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlAttributeMapping.java
new file mode 100644
index 0000000000..c08fd376b0
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlAttributeMapping.java
@@ -0,0 +1,293 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Xml Attribute Mapping</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlAttributeMapping()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlAttributeMapping
+ extends EBaseObjectImpl
+ implements XmlAttributeMapping
+{
+
+ /**
+ * The default value of the '{@link #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected static final String ACCESS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected String access = ACCESS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractXmlAttributeMapping()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ABSTRACT_XML_ATTRIBUTE_MAPPING;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Access</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Access</em>' attribute.
+ * @see #setAccess(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder_Access()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getAccess()
+ {
+ return access;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping#getAccess <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access</em>' attribute.
+ * @see #getAccess()
+ * @generated
+ */
+ public void setAccess(String newAccess)
+ {
+ String oldAccess = access;
+ access = newAccess;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS, oldAccess, access));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeMapping_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS:
+ return getAccess();
+ case OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__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 OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS:
+ setAccess((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__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 OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS:
+ setAccess(ACCESS_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS:
+ return ACCESS_EDEFAULT == null ? access != null : !ACCESS_EDEFAULT.equals(access);
+ case OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__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(" (access: ");
+ result.append(access);
+ result.append(", name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** validation ***********
+
+ public TextRange getNameTextRange() {
+ return getAttributeTextRange(JPA.NAME);
+ }
+
+ // ********** translators **********
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlAttributeMapping_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildAccessTranslator() {
+ return new Translator(JPA.ACCESS, OrmPackage.eINSTANCE.getXmlAccessHolder_Access(), Translator.DOM_ATTRIBUTE);
+ }
+
+ // *********** content assist ************
+
+ protected TextRange getNameCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.NAME);
+ }
+
+ public boolean nameTouches(int pos) {
+ TextRange textRange = this.getNameCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseColumn.java
new file mode 100644
index 0000000000..72d68fbe62
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseColumn.java
@@ -0,0 +1,547 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.BooleanTranslator;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Xml Abstract Column</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlBaseColumn()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlBaseColumn extends AbstractXmlNamedColumn implements XmlBaseColumn
+{
+ /**
+ * The default value of the '{@link #getInsertable() <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInsertable()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean INSERTABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInsertable() <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInsertable()
+ * @generated
+ * @ordered
+ */
+ protected Boolean insertable = INSERTABLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNullable() <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNullable()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean NULLABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNullable() <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNullable()
+ * @generated
+ * @ordered
+ */
+ protected Boolean nullable = NULLABLE_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 #getUnique() <em>Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnique()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean UNIQUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnique() <em>Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnique()
+ * @generated
+ * @ordered
+ */
+ protected Boolean unique = UNIQUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUpdatable() <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpdatable()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean UPDATABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUpdatable() <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpdatable()
+ * @generated
+ * @ordered
+ */
+ protected Boolean updatable = UPDATABLE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractXmlBaseColumn()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ABSTRACT_XML_BASE_COLUMN;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Insertable</b></em>' attribute.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Insertable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getInsertable()
+ {
+ return insertable;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn#getInsertable <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Insertable</em>' attribute.
+ * @see #getInsertable()
+ * @generated
+ */
+ public void setInsertable(Boolean newInsertable)
+ {
+ Boolean oldInsertable = insertable;
+ insertable = newInsertable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_BASE_COLUMN__INSERTABLE, oldInsertable, insertable));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Nullable</b></em>' attribute.
+ * <!-- 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 #setNullable(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Nullable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getNullable()
+ {
+ return nullable;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn#getNullable <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nullable</em>' attribute.
+ * @see #getNullable()
+ * @generated
+ */
+ public void setNullable(Boolean newNullable)
+ {
+ Boolean oldNullable = nullable;
+ nullable = newNullable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_BASE_COLUMN__NULLABLE, oldNullable, nullable));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Table()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getTable()
+ {
+ return table;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn#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
+ */
+ public void setTable(String newTable)
+ {
+ String oldTable = table;
+ table = newTable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_BASE_COLUMN__TABLE, oldTable, table));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Unique</b></em>' attribute.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Unique()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getUnique()
+ {
+ return unique;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn#getUnique <em>Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unique</em>' attribute.
+ * @see #getUnique()
+ * @generated
+ */
+ public void setUnique(Boolean newUnique)
+ {
+ Boolean oldUnique = unique;
+ unique = newUnique;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_BASE_COLUMN__UNIQUE, oldUnique, unique));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Updatable</b></em>' attribute.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Updatable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getUpdatable()
+ {
+ return updatable;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn#getUpdatable <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Updatable</em>' attribute.
+ * @see #getUpdatable()
+ * @generated
+ */
+ public void setUpdatable(Boolean newUpdatable)
+ {
+ Boolean oldUpdatable = updatable;
+ updatable = newUpdatable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_BASE_COLUMN__UPDATABLE, oldUpdatable, updatable));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__INSERTABLE:
+ return getInsertable();
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__NULLABLE:
+ return getNullable();
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__TABLE:
+ return getTable();
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UNIQUE:
+ return getUnique();
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UPDATABLE:
+ return getUpdatable();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__INSERTABLE:
+ setInsertable((Boolean)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__NULLABLE:
+ setNullable((Boolean)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__TABLE:
+ setTable((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UNIQUE:
+ setUnique((Boolean)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UPDATABLE:
+ setUpdatable((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__INSERTABLE:
+ setInsertable(INSERTABLE_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__NULLABLE:
+ setNullable(NULLABLE_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__TABLE:
+ setTable(TABLE_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UNIQUE:
+ setUnique(UNIQUE_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UPDATABLE:
+ setUpdatable(UPDATABLE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__INSERTABLE:
+ return INSERTABLE_EDEFAULT == null ? insertable != null : !INSERTABLE_EDEFAULT.equals(insertable);
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__NULLABLE:
+ return NULLABLE_EDEFAULT == null ? nullable != null : !NULLABLE_EDEFAULT.equals(nullable);
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__TABLE:
+ return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table);
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UNIQUE:
+ return UNIQUE_EDEFAULT == null ? unique != null : !UNIQUE_EDEFAULT.equals(unique);
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UPDATABLE:
+ return UPDATABLE_EDEFAULT == null ? updatable != null : !UPDATABLE_EDEFAULT.equals(updatable);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlBaseColumn.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__INSERTABLE: return OrmPackage.XML_BASE_COLUMN__INSERTABLE;
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__NULLABLE: return OrmPackage.XML_BASE_COLUMN__NULLABLE;
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__TABLE: return OrmPackage.XML_BASE_COLUMN__TABLE;
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UNIQUE: return OrmPackage.XML_BASE_COLUMN__UNIQUE;
+ case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UPDATABLE: return OrmPackage.XML_BASE_COLUMN__UPDATABLE;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlBaseColumn.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_BASE_COLUMN__INSERTABLE: return OrmPackage.ABSTRACT_XML_BASE_COLUMN__INSERTABLE;
+ case OrmPackage.XML_BASE_COLUMN__NULLABLE: return OrmPackage.ABSTRACT_XML_BASE_COLUMN__NULLABLE;
+ case OrmPackage.XML_BASE_COLUMN__TABLE: return OrmPackage.ABSTRACT_XML_BASE_COLUMN__TABLE;
+ case OrmPackage.XML_BASE_COLUMN__UNIQUE: return OrmPackage.ABSTRACT_XML_BASE_COLUMN__UNIQUE;
+ case OrmPackage.XML_BASE_COLUMN__UPDATABLE: return OrmPackage.ABSTRACT_XML_BASE_COLUMN__UPDATABLE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (insertable: ");
+ result.append(insertable);
+ result.append(", nullable: ");
+ result.append(nullable);
+ result.append(", table: ");
+ result.append(table);
+ result.append(", unique: ");
+ result.append(unique);
+ result.append(", updatable: ");
+ result.append(updatable);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getTableTextRange() {
+ return getAttributeTextRange(JPA.TABLE);
+ }
+
+ // ********** translators **********
+
+ protected static Translator buildUniqueTranslator() {
+ return new BooleanTranslator(JPA.UNIQUE, OrmPackage.eINSTANCE.getXmlBaseColumn_Unique(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildNullableTranslator() {
+ return new BooleanTranslator(JPA.NULLABLE, OrmPackage.eINSTANCE.getXmlBaseColumn_Nullable(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildInsertableTranslator() {
+ return new BooleanTranslator(JPA.INSERTABLE, OrmPackage.eINSTANCE.getXmlBaseColumn_Insertable(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildUpdatableTranslator() {
+ return new BooleanTranslator(JPA.UPDATABLE, OrmPackage.eINSTANCE.getXmlBaseColumn_Updatable(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildTableTranslator() {
+ return new Translator(JPA.TABLE, OrmPackage.eINSTANCE.getXmlBaseColumn_Table(), Translator.DOM_ATTRIBUTE);
+ }
+
+ // ************ content assist ************
+
+ private TextRange getTableCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.TABLE);
+ }
+
+ public boolean tableTouches(int pos) {
+ TextRange textRange = this.getTableCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+} // AbstractXmlAbstractColumn
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseDiscriminatorColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseDiscriminatorColumn.java
new file mode 100644
index 0000000000..dd1d0fb92c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseDiscriminatorColumn.java
@@ -0,0 +1,305 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Xml Discriminator Column</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlBaseDiscriminatorColumn()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlBaseDiscriminatorColumn extends AbstractXmlNamedColumn implements XmlBaseDiscriminatorColumn
+{
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final DiscriminatorType DISCRIMINATOR_TYPE_EDEFAULT = null;
+
+ /**
+ * 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 #getLength() <em>Length</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLength()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer LENGTH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLength() <em>Length</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLength()
+ * @generated
+ * @ordered
+ */
+ protected Integer length = LENGTH_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractXmlBaseDiscriminatorColumn()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.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.jpt.jpa.core.resource.orm.DiscriminatorType
+ * @see #setDiscriminatorType(DiscriminatorType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn_DiscriminatorType()
+ * @model default="STRING"
+ * @generated
+ */
+ public DiscriminatorType getDiscriminatorType()
+ {
+ return discriminatorType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn#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.jpt.jpa.core.resource.orm.DiscriminatorType
+ * @see #getDiscriminatorType()
+ * @generated
+ */
+ public void setDiscriminatorType(DiscriminatorType newDiscriminatorType)
+ {
+ DiscriminatorType oldDiscriminatorType = discriminatorType;
+ discriminatorType = newDiscriminatorType == null ? DISCRIMINATOR_TYPE_EDEFAULT : newDiscriminatorType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE, oldDiscriminatorType, discriminatorType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Length</b></em>' attribute.
+ * <!-- 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 #setLength(Integer)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn_Length()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ public Integer getLength()
+ {
+ return length;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn#getLength <em>Length</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Length</em>' attribute.
+ * @see #getLength()
+ * @generated
+ */
+ public void setLength(Integer newLength)
+ {
+ Integer oldLength = length;
+ length = newLength;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH, oldLength, length));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
+ return getDiscriminatorType();
+ case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH:
+ return getLength();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
+ setDiscriminatorType((DiscriminatorType)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH:
+ setLength((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
+ setDiscriminatorType(DISCRIMINATOR_TYPE_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH:
+ setLength(LENGTH_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
+ return discriminatorType != DISCRIMINATOR_TYPE_EDEFAULT;
+ case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH:
+ return LENGTH_EDEFAULT == null ? length != null : !LENGTH_EDEFAULT.equals(length);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlBaseDiscriminatorColumn.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE: return OrmPackage.XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE;
+ case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH: return OrmPackage.XML_BASE_DISCRIMINATOR_COLUMN__LENGTH;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlBaseDiscriminatorColumn.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE: return OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE;
+ case OrmPackage.XML_BASE_DISCRIMINATOR_COLUMN__LENGTH: return OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (discriminatorType: ");
+ result.append(discriminatorType);
+ result.append(", length: ");
+ result.append(length);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** translators **********
+
+ protected static Translator buildDiscriminatorTypeTranslator() {
+ return new Translator(JPA.DISCRIMINATOR_TYPE, OrmPackage.eINSTANCE.getXmlBaseDiscriminatorColumn_DiscriminatorType(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildLengthTranslator() {
+ return new Translator(JPA.LENGTH, OrmPackage.eINSTANCE.getXmlBaseDiscriminatorColumn_Length(), Translator.DOM_ATTRIBUTE);
+ }
+} // AbstractXmlDiscriminatorColumn
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlEmbedded.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlEmbedded.java
new file mode 100644
index 0000000000..f464f8f385
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlEmbedded.java
@@ -0,0 +1,220 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Base Xml Embedded</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlEmbedded()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlEmbedded extends AbstractXmlAttributeMapping implements XmlAttributeOverrideContainer
+{
+ /**
+ * 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<XmlAttributeOverride> attributeOverrides;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractXmlEmbedded()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ABSTRACT_XML_EMBEDDED;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer_AttributeOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAttributeOverride> getAttributeOverrides() {
+ if (attributeOverrides == null)
+ {
+ attributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES);
+ }
+ return attributeOverrides;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES:
+ return ((InternalEList<?>)getAttributeOverrides()).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 OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES:
+ return getAttributeOverrides();
+ }
+ 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 OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ getAttributeOverrides().addAll((Collection<? extends XmlAttributeOverride>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES:
+ return attributeOverrides != null && !attributeOverrides.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlAttributeOverrideContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlAttributeOverrideContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES: return OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+
+ // ********** translators **********
+
+ protected static Translator buildAttributeOverrideTranslator() {
+ return XmlAttributeOverride.buildTranslator(JPA.ATTRIBUTE_OVERRIDE, OrmPackage.eINSTANCE.getXmlAttributeOverrideContainer_AttributeOverrides());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlMultiRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlMultiRelationshipMapping.java
new file mode 100644
index 0000000000..8654b43834
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlMultiRelationshipMapping.java
@@ -0,0 +1,1137 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.jdt.core.IType;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0;
+import org.eclipse.text.edits.ReplaceEdit;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Multi Relationship Mapping</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKey <em>Map Key</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlMultiRelationshipMapping()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlMultiRelationshipMapping extends AbstractXmlRelationshipMapping implements XmlMappedByMapping, XmlJoinTableContainer, XmlOrderable, XmlMultiRelationshipMapping_2_0
+{
+ /**
+ * 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 cached value of the '{@link #getJoinTable() <em>Join Table</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJoinTable()
+ * @generated
+ * @ordered
+ */
+ protected XmlJoinTable joinTable;
+ /**
+ * The cached value of the '{@link #getOrderColumn() <em>Order Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrderColumn()
+ * @generated
+ * @ordered
+ */
+ protected XmlOrderColumn orderColumn;
+ /**
+ * The default value of the '{@link #getOrderBy() <em>Order By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrderBy()
+ * @generated
+ * @ordered
+ */
+ protected static final String ORDER_BY_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getOrderBy() <em>Order By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrderBy()
+ * @generated
+ * @ordered
+ */
+ protected String orderBy = ORDER_BY_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getMapKeyAttributeOverrides() <em>Map Key Attribute Overrides</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKeyAttributeOverrides()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlAttributeOverride> mapKeyAttributeOverrides;
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final TemporalType MAP_KEY_TEMPORAL_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getMapKeyTemporal() <em>Map Key Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKeyTemporal()
+ * @generated
+ * @ordered
+ */
+ protected TemporalType mapKeyTemporal = MAP_KEY_TEMPORAL_EDEFAULT;
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final EnumType MAP_KEY_ENUMERATED_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getMapKeyEnumerated() <em>Map Key Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKeyEnumerated()
+ * @generated
+ * @ordered
+ */
+ protected EnumType mapKeyEnumerated = MAP_KEY_ENUMERATED_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getMapKeyClass() <em>Map Key Class</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKeyClass()
+ * @generated
+ * @ordered
+ */
+ protected XmlClassReference mapKeyClass;
+ /**
+ * The cached value of the '{@link #getMapKeyColumn() <em>Map Key Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKeyColumn()
+ * @generated
+ * @ordered
+ */
+ protected XmlColumn mapKeyColumn;
+ /**
+ * The cached value of the '{@link #getMapKeyJoinColumns() <em>Map Key Join Columns</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKeyJoinColumns()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlJoinColumn> mapKeyJoinColumns;
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractXmlMultiRelationshipMapping()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedByMapping_MappedBy()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getMappedBy()
+ {
+ return mappedBy;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#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
+ */
+ public void setMappedBy(String newMappedBy)
+ {
+ String oldMappedBy = mappedBy;
+ mappedBy = newMappedBy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY, oldMappedBy, mappedBy));
+ }
+
+ /**
+ * 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(XmlJoinTable)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer_JoinTable()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlJoinTable getJoinTable()
+ {
+ return joinTable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetJoinTable(XmlJoinTable newJoinTable, NotificationChain msgs)
+ {
+ XmlJoinTable oldJoinTable = joinTable;
+ joinTable = newJoinTable;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE, oldJoinTable, newJoinTable);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#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
+ */
+ public void setJoinTable(XmlJoinTable newJoinTable)
+ {
+ if (newJoinTable != joinTable)
+ {
+ NotificationChain msgs = null;
+ if (joinTable != null)
+ msgs = ((InternalEObject)joinTable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE, null, msgs);
+ if (newJoinTable != null)
+ msgs = ((InternalEObject)newJoinTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE, null, msgs);
+ msgs = basicSetJoinTable(newJoinTable, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE, newJoinTable, newJoinTable));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Order Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Order 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>Order Column</em>' containment reference.
+ * @see #setOrderColumn(XmlOrderColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable_2_0_OrderColumn()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlOrderColumn getOrderColumn()
+ {
+ return orderColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOrderColumn(XmlOrderColumn newOrderColumn, NotificationChain msgs)
+ {
+ XmlOrderColumn oldOrderColumn = orderColumn;
+ orderColumn = newOrderColumn;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN, oldOrderColumn, newOrderColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getOrderColumn <em>Order Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Order Column</em>' containment reference.
+ * @see #getOrderColumn()
+ * @generated
+ */
+ public void setOrderColumn(XmlOrderColumn newOrderColumn)
+ {
+ if (newOrderColumn != orderColumn)
+ {
+ NotificationChain msgs = null;
+ if (orderColumn != null)
+ msgs = ((InternalEObject)orderColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN, null, msgs);
+ if (newOrderColumn != null)
+ msgs = ((InternalEObject)newOrderColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN, null, msgs);
+ msgs = basicSetOrderColumn(newOrderColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN, newOrderColumn, newOrderColumn));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Order By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Order 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>Order By</em>' attribute.
+ * @see #setOrderBy(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable_OrderBy()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getOrderBy() {
+ return orderBy;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getOrderBy <em>Order By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Order By</em>' attribute.
+ * @see #getOrderBy()
+ * @generated
+ */
+ public void setOrderBy(String newOrderBy) {
+ String oldOrderBy = orderBy;
+ orderBy = newOrderBy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY, oldOrderBy, orderBy));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key 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>Map Key Attribute Overrides</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAttributeOverride> getMapKeyAttributeOverrides()
+ {
+ if (mapKeyAttributeOverrides == null)
+ {
+ mapKeyAttributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES);
+ }
+ return mapKeyAttributeOverrides;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Map Key Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key 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>Map Key Class</em>' containment reference.
+ * @see #setMapKeyClass(XmlClassReference)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMultiRelationshipMapping_2_0_MapKeyClass()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlClassReference getMapKeyClass()
+ {
+ return mapKeyClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMapKeyClass(XmlClassReference newMapKeyClass, NotificationChain msgs)
+ {
+ XmlClassReference oldMapKeyClass = mapKeyClass;
+ mapKeyClass = newMapKeyClass;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS, oldMapKeyClass, newMapKeyClass);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKeyClass <em>Map Key Class</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Class</em>' containment reference.
+ * @see #getMapKeyClass()
+ * @generated
+ */
+ public void setMapKeyClass(XmlClassReference newMapKeyClass)
+ {
+ if (newMapKeyClass != mapKeyClass)
+ {
+ NotificationChain msgs = null;
+ if (mapKeyClass != null)
+ msgs = ((InternalEObject)mapKeyClass).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS, null, msgs);
+ if (newMapKeyClass != null)
+ msgs = ((InternalEObject)newMapKeyClass).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS, null, msgs);
+ msgs = basicSetMapKeyClass(newMapKeyClass, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS, newMapKeyClass, newMapKeyClass));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Map Key Temporal</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key Temporal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Map Key Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #setMapKeyTemporal(TemporalType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal()
+ * @model
+ * @generated
+ */
+ public TemporalType getMapKeyTemporal()
+ {
+ return mapKeyTemporal;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKeyTemporal <em>Map Key Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #getMapKeyTemporal()
+ * @generated
+ */
+ public void setMapKeyTemporal(TemporalType newMapKeyTemporal)
+ {
+ TemporalType oldMapKeyTemporal = mapKeyTemporal;
+ mapKeyTemporal = newMapKeyTemporal == null ? MAP_KEY_TEMPORAL_EDEFAULT : newMapKeyTemporal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL, oldMapKeyTemporal, mapKeyTemporal));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Map Key Enumerated</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.EnumType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key Enumerated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Map Key Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #setMapKeyEnumerated(EnumType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated()
+ * @model
+ * @generated
+ */
+ public EnumType getMapKeyEnumerated()
+ {
+ return mapKeyEnumerated;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKeyEnumerated <em>Map Key Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #getMapKeyEnumerated()
+ * @generated
+ */
+ public void setMapKeyEnumerated(EnumType newMapKeyEnumerated)
+ {
+ EnumType oldMapKeyEnumerated = mapKeyEnumerated;
+ mapKeyEnumerated = newMapKeyEnumerated == null ? MAP_KEY_ENUMERATED_EDEFAULT : newMapKeyEnumerated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED, oldMapKeyEnumerated, mapKeyEnumerated));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Map Key Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key 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>Map Key Column</em>' containment reference.
+ * @see #setMapKeyColumn(XmlColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMultiRelationshipMapping_2_0_MapKeyColumn()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlColumn getMapKeyColumn()
+ {
+ return mapKeyColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMapKeyColumn(XmlColumn newMapKeyColumn, NotificationChain msgs)
+ {
+ XmlColumn oldMapKeyColumn = mapKeyColumn;
+ mapKeyColumn = newMapKeyColumn;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN, oldMapKeyColumn, newMapKeyColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKeyColumn <em>Map Key Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Column</em>' containment reference.
+ * @see #getMapKeyColumn()
+ * @generated
+ */
+ public void setMapKeyColumn(XmlColumn newMapKeyColumn)
+ {
+ if (newMapKeyColumn != mapKeyColumn)
+ {
+ NotificationChain msgs = null;
+ if (mapKeyColumn != null)
+ msgs = ((InternalEObject)mapKeyColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN, null, msgs);
+ if (newMapKeyColumn != null)
+ msgs = ((InternalEObject)newMapKeyColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN, null, msgs);
+ msgs = basicSetMapKeyColumn(newMapKeyColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN, newMapKeyColumn, newMapKeyColumn));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Map Key Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map 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>Map Key Join Columns</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMultiRelationshipMapping_2_0_MapKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJoinColumn> getMapKeyJoinColumns()
+ {
+ if (mapKeyJoinColumns == null)
+ {
+ mapKeyJoinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS);
+ }
+ return mapKeyJoinColumns;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlMultiRelationshipMapping_MapKey()
+ * @model containment="true"
+ * @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, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY, oldMapKey, newMapKey);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#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
+ */
+ public void setMapKey(MapKey newMapKey) {
+ if (newMapKey != mapKey)
+ {
+ NotificationChain msgs = null;
+ if (mapKey != null)
+ msgs = ((InternalEObject)mapKey).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY, null, msgs);
+ if (newMapKey != null)
+ msgs = ((InternalEObject)newMapKey).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY, null, msgs);
+ msgs = basicSetMapKey(newMapKey, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY, newMapKey, newMapKey));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE:
+ return basicSetJoinTable(null, msgs);
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN:
+ return basicSetOrderColumn(null, msgs);
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES:
+ return ((InternalEList<?>)getMapKeyAttributeOverrides()).basicRemove(otherEnd, msgs);
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS:
+ return basicSetMapKeyClass(null, msgs);
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN:
+ return basicSetMapKeyColumn(null, msgs);
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS:
+ return ((InternalEList<?>)getMapKeyJoinColumns()).basicRemove(otherEnd, msgs);
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY:
+ return basicSetMapKey(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 OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY:
+ return getMappedBy();
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE:
+ return getJoinTable();
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN:
+ return getOrderColumn();
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY:
+ return getOrderBy();
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES:
+ return getMapKeyAttributeOverrides();
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL:
+ return getMapKeyTemporal();
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED:
+ return getMapKeyEnumerated();
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS:
+ return getMapKeyClass();
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN:
+ return getMapKeyColumn();
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS:
+ return getMapKeyJoinColumns();
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY:
+ return getMapKey();
+ }
+ 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 OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY:
+ setMappedBy((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN:
+ setOrderColumn((XmlOrderColumn)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY:
+ setOrderBy((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES:
+ getMapKeyAttributeOverrides().clear();
+ getMapKeyAttributeOverrides().addAll((Collection<? extends XmlAttributeOverride>)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL:
+ setMapKeyTemporal((TemporalType)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED:
+ setMapKeyEnumerated((EnumType)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS:
+ setMapKeyClass((XmlClassReference)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN:
+ setMapKeyColumn((XmlColumn)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS:
+ getMapKeyJoinColumns().clear();
+ getMapKeyJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY:
+ setMapKey((MapKey)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY:
+ setMappedBy(MAPPED_BY_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)null);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN:
+ setOrderColumn((XmlOrderColumn)null);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY:
+ setOrderBy(ORDER_BY_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES:
+ getMapKeyAttributeOverrides().clear();
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL:
+ setMapKeyTemporal(MAP_KEY_TEMPORAL_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED:
+ setMapKeyEnumerated(MAP_KEY_ENUMERATED_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS:
+ setMapKeyClass((XmlClassReference)null);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN:
+ setMapKeyColumn((XmlColumn)null);
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS:
+ getMapKeyJoinColumns().clear();
+ return;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY:
+ setMapKey((MapKey)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY:
+ return MAPPED_BY_EDEFAULT == null ? mappedBy != null : !MAPPED_BY_EDEFAULT.equals(mappedBy);
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE:
+ return joinTable != null;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN:
+ return orderColumn != null;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY:
+ return ORDER_BY_EDEFAULT == null ? orderBy != null : !ORDER_BY_EDEFAULT.equals(orderBy);
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES:
+ return mapKeyAttributeOverrides != null && !mapKeyAttributeOverrides.isEmpty();
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL:
+ return mapKeyTemporal != MAP_KEY_TEMPORAL_EDEFAULT;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED:
+ return mapKeyEnumerated != MAP_KEY_ENUMERATED_EDEFAULT;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS:
+ return mapKeyClass != null;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN:
+ return mapKeyColumn != null;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS:
+ return mapKeyJoinColumns != null && !mapKeyJoinColumns.isEmpty();
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY:
+ return mapKey != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlMappedByMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY: return OrmPackage.XML_MAPPED_BY_MAPPING__MAPPED_BY;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlJoinTableContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE: return OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOrderable_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN: return OrmV2_0Package.XML_ORDERABLE_20__ORDER_COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOrderable.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY: return OrmPackage.XML_ORDERABLE__ORDER_BY;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMapKeyAttributeOverrideContainer_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES: return OrmV2_0Package.XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMapKeyConvertibleMapping_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL: return OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED: return OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMultiRelationshipMapping_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS: return OrmV2_0Package.XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN: return OrmV2_0Package.XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN;
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS: return OrmV2_0Package.XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlMappedByMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_MAPPED_BY_MAPPING__MAPPED_BY: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlJoinTableContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOrderable_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_ORDERABLE_20__ORDER_COLUMN: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOrderable.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ORDERABLE__ORDER_BY: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMapKeyAttributeOverrideContainer_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMapKeyConvertibleMapping_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL;
+ case OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMultiRelationshipMapping_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS;
+ case OrmV2_0Package.XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN;
+ case OrmV2_0Package.XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (mappedBy: ");
+ result.append(mappedBy);
+ result.append(", orderBy: ");
+ result.append(orderBy);
+ result.append(", mapKeyTemporal: ");
+ result.append(mapKeyTemporal);
+ result.append(", mapKeyEnumerated: ");
+ result.append(mapKeyEnumerated);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getMappedByTextRange() {
+ return getAttributeTextRange(JPA.MAPPED_BY);
+ }
+
+ public TextRange getMapKeyEnumeratedTextRange() {
+ return getAttributeTextRange(JPA2_0.MAP_KEY_ENUMERATED);
+ }
+
+ public TextRange getMapKeyTemporalTextRange() {
+ return getAttributeTextRange(JPA2_0.MAP_KEY_TEMPORAL);
+ }
+
+ public TextRange getMapKeyClassTextRange() {
+ return getElementTextRange(JPA2_0.MAP_KEY_CLASS);
+ }
+
+ // ********** refactoring **********
+
+ public ReplaceEdit createRenameMapKeyClassEdit(IType originalType, String newName) {
+ return getMapKeyClass().createRenameEdit(originalType, newName);
+ }
+
+ public ReplaceEdit createRenameMapKeyClassPackageEdit(String newName) {
+ return getMapKeyClass().createRenamePackageEdit(newName);
+ }
+
+
+ // ********** translators **********
+
+ protected static Translator buildOrderByTranslator() {
+ return new Translator(JPA.ORDER_BY, OrmPackage.eINSTANCE.getXmlOrderable_OrderBy());
+ }
+
+ protected static Translator buildMapKeyTranslator() {
+ return MapKey.buildTranslator(JPA.MAP_KEY, OrmPackage.eINSTANCE.getAbstractXmlMultiRelationshipMapping_MapKey());
+ }
+
+ protected static Translator buildMapKeyTemporalTranslator() {
+ return new Translator(JPA2_0.MAP_KEY_TEMPORAL, OrmV2_0Package.eINSTANCE.getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal());
+ }
+
+ protected static Translator buildMapKeyEnumeratedTranslator() {
+ return new Translator(JPA2_0.MAP_KEY_ENUMERATED, OrmV2_0Package.eINSTANCE.getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated());
+ }
+
+ protected static Translator buildMapKeyClassTranslator() {
+ return XmlClassReference.buildTranslator(JPA2_0.MAP_KEY_CLASS, OrmV2_0Package.eINSTANCE.getXmlMultiRelationshipMapping_2_0_MapKeyClass());
+ }
+
+ protected static Translator buildMapKeyColumnTranslator() {
+ return XmlColumn.buildTranslator(JPA2_0.MAP_KEY_COLUMN, OrmV2_0Package.eINSTANCE.getXmlMultiRelationshipMapping_2_0_MapKeyColumn());
+ }
+
+ protected static Translator buildMapKeyJoinColumnTranslator() {
+ return XmlJoinColumn.buildTranslator(JPA2_0.MAP_KEY_JOIN_COLUMN, OrmV2_0Package.eINSTANCE.getXmlMultiRelationshipMapping_2_0_MapKeyJoinColumns());
+ }
+
+ protected static Translator buildMappedByTranslator() {
+ return new Translator(JPA.MAPPED_BY, OrmPackage.eINSTANCE.getXmlMappedByMapping_MappedBy(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildMapKeyAttributeOverrideTranslator() {
+ return XmlAttributeOverride.buildTranslator(JPA2_0.MAP_KEY_ATTRIBUTE_OVERRIDE, OrmV2_0Package.eINSTANCE.getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides());
+ }
+
+ protected static Translator buildJoinTableTranslator() {
+ return XmlJoinTable.buildTranslator(JPA.JOIN_TABLE, OrmPackage.eINSTANCE.getXmlJoinTableContainer_JoinTable());
+ }
+
+ protected static Translator buildOrderColumnTranslator() {
+ return XmlOrderColumn.buildTranslator(JPA2_0.ORDER_COLUMN, OrmV2_0Package.eINSTANCE.getXmlOrderable_2_0_OrderColumn());
+ }
+
+ // ********** content assist ***************
+
+ public TextRange getMappedByCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.MAPPED_BY);
+ }
+
+ public boolean mappedByTouches(int pos) {
+ TextRange textRange = this.getMappedByCodeAssistTextRange();
+ return (textRange!= null) && textRange.touches(pos);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlNamedColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlNamedColumn.java
new file mode 100644
index 0000000000..963912c241
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlNamedColumn.java
@@ -0,0 +1,288 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Xml Named Column</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlNamedColumn()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlNamedColumn extends EBaseObjectImpl implements XmlNamedColumn
+{
+ /**
+ * 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 #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 AbstractXmlNamedColumn()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ABSTRACT_XML_NAMED_COLUMN;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedColumn_ColumnDefinition()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getColumnDefinition()
+ {
+ return columnDefinition;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlNamedColumn#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
+ */
+ public void setColumnDefinition(String newColumnDefinition)
+ {
+ String oldColumnDefinition = columnDefinition;
+ columnDefinition = newColumnDefinition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION, oldColumnDefinition, columnDefinition));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedColumn_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlNamedColumn#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_NAMED_COLUMN__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION:
+ return getColumnDefinition();
+ case OrmPackage.ABSTRACT_XML_NAMED_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 OrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_NAMED_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 OrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition(COLUMN_DEFINITION_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_NAMED_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 OrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION:
+ return COLUMN_DEFINITION_EDEFAULT == null ? columnDefinition != null : !COLUMN_DEFINITION_EDEFAULT.equals(columnDefinition);
+ case OrmPackage.ABSTRACT_XML_NAMED_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(" (columnDefinition: ");
+ result.append(columnDefinition);
+ result.append(", name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getNameTextRange() {
+ return getAttributeTextRange(JPA.NAME);
+ }
+
+ // ********** translators **********
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlNamedColumn_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildColumnDefinitionTranslator() {
+ return new Translator(JPA.COLUMN_DEFINITION, OrmPackage.eINSTANCE.getXmlNamedColumn_ColumnDefinition(), Translator.DOM_ATTRIBUTE);
+ }
+
+ // *********** content assist ***********
+
+ public TextRange getColumnNameCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.NAME);
+ }
+
+ public boolean columnNameTouches(int pos) {
+ TextRange textRange = this.getColumnNameCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+} // AbstractXmlNamedColumn
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlReferenceTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlReferenceTable.java
new file mode 100644
index 0000000000..a79e9d9222
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlReferenceTable.java
@@ -0,0 +1,222 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Xml Reference Table</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlReferenceTable()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlReferenceTable extends AbstractXmlTable implements XmlReferenceTable
+{
+ /**
+ * 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<XmlJoinColumn> joinColumns;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractXmlReferenceTable()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ABSTRACT_XML_REFERENCE_TABLE;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlReferenceTable_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJoinColumn> getJoinColumns()
+ {
+ if (joinColumns == null)
+ {
+ joinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS);
+ }
+ return joinColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__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 OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__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 OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ getJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS:
+ return joinColumns != null && !joinColumns.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlReferenceTable.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS: return OrmPackage.XML_REFERENCE_TABLE__JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlReferenceTable.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_REFERENCE_TABLE__JOIN_COLUMNS: return OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+
+ // ********** translators **********
+
+ protected static Translator buildJoinColumnTranslator() {
+ return XmlJoinColumn.buildTranslator(JPA.JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlReferenceTable_JoinColumns());
+ }
+
+} // AbstractXmlReferenceTable
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlRelationshipMapping.java
new file mode 100644
index 0000000000..aaa62dfed4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlRelationshipMapping.java
@@ -0,0 +1,419 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.jdt.core.IType;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.text.edits.ReplaceEdit;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Relationship Mapping</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getTargetEntity <em>Target Entity</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getCascade <em>Cascade</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlRelationshipMapping()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlRelationshipMapping extends AbstractXmlAttributeMapping
+{
+ /**
+ * 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;
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final FetchType FETCH_EDEFAULT = null;
+ /**
+ * 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 cached value of the '{@link #getCascade() <em>Cascade</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascade()
+ * @generated
+ * @ordered
+ */
+ protected CascadeType cascade;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractXmlRelationshipMapping()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ABSTRACT_XML_RELATIONSHIP_MAPPING;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlRelationshipMapping_TargetEntity()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getTargetEntity() {
+ return targetEntity;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#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
+ */
+ public void setTargetEntity(String newTargetEntity) {
+ String oldTargetEntity = targetEntity;
+ targetEntity = newTargetEntity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY, oldTargetEntity, targetEntity));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.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.jpt.jpa.core.resource.orm.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlRelationshipMapping_Fetch()
+ * @model default="LAZY"
+ * @generated
+ */
+ public FetchType getFetch() {
+ return fetch;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#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.jpt.jpa.core.resource.orm.FetchType
+ * @see #getFetch()
+ * @generated
+ */
+ public void setFetch(FetchType newFetch) {
+ FetchType oldFetch = fetch;
+ fetch = newFetch == null ? FETCH_EDEFAULT : newFetch;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH, oldFetch, fetch));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Cascade</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade</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>Cascade</em>' containment reference.
+ * @see #setCascade(CascadeType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlRelationshipMapping_Cascade()
+ * @model containment="true"
+ * @generated
+ */
+ public CascadeType getCascade() {
+ return cascade;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCascade(CascadeType newCascade, NotificationChain msgs)
+ {
+ CascadeType oldCascade = cascade;
+ cascade = newCascade;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE, oldCascade, newCascade);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getCascade <em>Cascade</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade</em>' containment reference.
+ * @see #getCascade()
+ * @generated
+ */
+ public void setCascade(CascadeType newCascade) {
+ if (newCascade != cascade)
+ {
+ NotificationChain msgs = null;
+ if (cascade != null)
+ msgs = ((InternalEObject)cascade).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE, null, msgs);
+ if (newCascade != null)
+ msgs = ((InternalEObject)newCascade).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE, null, msgs);
+ msgs = basicSetCascade(newCascade, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE, newCascade, newCascade));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE:
+ return basicSetCascade(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 OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY:
+ return getTargetEntity();
+ case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH:
+ return getFetch();
+ case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE:
+ return getCascade();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY:
+ setTargetEntity((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE:
+ setCascade((CascadeType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY:
+ setTargetEntity(TARGET_ENTITY_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH:
+ setFetch(FETCH_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE:
+ setCascade((CascadeType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY:
+ return TARGET_ENTITY_EDEFAULT == null ? targetEntity != null : !TARGET_ENTITY_EDEFAULT.equals(targetEntity);
+ case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH:
+ return fetch != FETCH_EDEFAULT;
+ case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE:
+ return cascade != 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(" (targetEntity: ");
+ result.append(targetEntity);
+ result.append(", fetch: ");
+ result.append(fetch);
+ result.append(')');
+ return result.toString();
+ }
+
+ /**
+ * Return the {@link TextRange} for the target-entity attribute.
+ */
+
+ public TextRange getTargetEntityTextRange() {
+ return getAttributeTextRange(JPA.TARGET_ENTITY);
+ }
+
+
+ // ********** translators **********
+
+ protected static Translator buildTargetEntityTranslator() {
+ return new Translator(JPA.TARGET_ENTITY, OrmPackage.eINSTANCE.getAbstractXmlRelationshipMapping_TargetEntity(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildFetchTranslator() {
+ return new Translator(JPA.FETCH, OrmPackage.eINSTANCE.getAbstractXmlRelationshipMapping_Fetch(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildCascadeTranslator() {
+ return CascadeType.buildTranslator(JPA.CASCADE, OrmPackage.eINSTANCE.getAbstractXmlRelationshipMapping_Cascade());
+ }
+
+
+ // ********** refactoring **********
+
+ public ReplaceEdit createRenameTargetEntityEdit(IType originalType, String newName) {
+ String originalName = originalType.getElementName();
+ int nameIndex = this.targetEntity.lastIndexOf(originalName);
+ int offset = getAttributeNode(JPA.TARGET_ENTITY).getValueRegionStartOffset() + 1;
+ return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+ }
+
+ public ReplaceEdit createRenameTargetEntityPackageEdit(String newPackageName) {
+ int packageLength = this.targetEntity.lastIndexOf('.');
+ if (newPackageName == "") {//$NON-NLS-1$
+ //moving to the default package, remove the '.'
+ packageLength++;
+ }
+ if (packageLength == -1) {
+ //moving from the default package or unspecified package
+ packageLength = 0;
+ newPackageName = newPackageName + '.';
+ }
+ int offset = getAttributeNode(JPA.TARGET_ENTITY).getValueRegionStartOffset() + 1; // +1 = opening double quote
+ return new ReplaceEdit(offset, packageLength, newPackageName);
+ }
+
+ // *********** content assist ************
+
+ public TextRange getTargetEntityCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.TARGET_ENTITY);
+ }
+
+ public boolean targetEntityTouches(int pos) {
+ TextRange textRange = this.getTargetEntityCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+} // RelationshipMapping
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlSingleRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlSingleRelationshipMapping.java
new file mode 100644
index 0000000000..6ddc04736a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlSingleRelationshipMapping.java
@@ -0,0 +1,614 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Single Relationship Mapping</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#getOptional <em>Optional</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlSingleRelationshipMapping()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlSingleRelationshipMapping extends AbstractXmlRelationshipMapping implements XmlJoinTableContainer, XmlJoinColumnContainer, XmlSingleRelationshipMapping_2_0
+{
+ /**
+ * The cached value of the '{@link #getJoinTable() <em>Join Table</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJoinTable()
+ * @generated
+ * @ordered
+ */
+ protected XmlJoinTable joinTable;
+ /**
+ * 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<XmlJoinColumn> joinColumns;
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ID_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected Boolean id = ID_EDEFAULT;
+ /**
+ * The default value of the '{@link #getMapsId() <em>Maps Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapsId()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAPS_ID_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getMapsId() <em>Maps Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapsId()
+ * @generated
+ * @ordered
+ */
+ protected String mapsId = MAPS_ID_EDEFAULT;
+ /**
+ * The default value of the '{@link #getOptional() <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOptional()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean OPTIONAL_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getOptional() <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOptional()
+ * @generated
+ * @ordered
+ */
+ protected Boolean optional = OPTIONAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractXmlSingleRelationshipMapping()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING;
+ }
+
+ /**
+ * 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(XmlJoinTable)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer_JoinTable()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlJoinTable getJoinTable()
+ {
+ return joinTable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetJoinTable(XmlJoinTable newJoinTable, NotificationChain msgs)
+ {
+ XmlJoinTable oldJoinTable = joinTable;
+ joinTable = newJoinTable;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE, oldJoinTable, newJoinTable);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#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
+ */
+ public void setJoinTable(XmlJoinTable newJoinTable)
+ {
+ if (newJoinTable != joinTable)
+ {
+ NotificationChain msgs = null;
+ if (joinTable != null)
+ msgs = ((InternalEObject)joinTable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE, null, msgs);
+ if (newJoinTable != null)
+ msgs = ((InternalEObject)newJoinTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE, null, msgs);
+ msgs = basicSetJoinTable(newJoinTable, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE, newJoinTable, newJoinTable));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJoinColumn> getJoinColumns()
+ {
+ if (joinColumns == null)
+ {
+ joinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS);
+ }
+ return joinColumns;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlDerivedId_2_0_Id()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getId()
+ {
+ return id;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ public void setId(Boolean newId)
+ {
+ Boolean oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID, oldId, id));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Maps Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Maps Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Maps Id</em>' attribute.
+ * @see #setMapsId(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapsId_2_0_MapsId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getMapsId()
+ {
+ return mapsId;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#getMapsId <em>Maps Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Maps Id</em>' attribute.
+ * @see #getMapsId()
+ * @generated
+ */
+ public void setMapsId(String newMapsId)
+ {
+ String oldMapsId = mapsId;
+ mapsId = newMapsId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID, oldMapsId, mapsId));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Optional</b></em>' attribute.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlSingleRelationshipMapping_Optional()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getOptional() {
+ return optional;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#getOptional <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Optional</em>' attribute.
+ * @see #getOptional()
+ * @generated
+ */
+ public void setOptional(Boolean newOptional) {
+ Boolean oldOptional = optional;
+ optional = newOptional;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL, oldOptional, optional));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE:
+ return basicSetJoinTable(null, msgs);
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__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 OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE:
+ return getJoinTable();
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS:
+ return getJoinColumns();
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID:
+ return getId();
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID:
+ return getMapsId();
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL:
+ return getOptional();
+ }
+ 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 OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ getJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID:
+ setId((Boolean)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID:
+ setMapsId((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__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 OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)null);
+ return;
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ return;
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID:
+ setMapsId(MAPS_ID_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL:
+ setOptional(OPTIONAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE:
+ return joinTable != null;
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS:
+ return joinColumns != null && !joinColumns.isEmpty();
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID:
+ return MAPS_ID_EDEFAULT == null ? mapsId != null : !MAPS_ID_EDEFAULT.equals(mapsId);
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL:
+ return OPTIONAL_EDEFAULT == null ? optional != null : !OPTIONAL_EDEFAULT.equals(optional);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlJoinTableContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE: return OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlJoinColumnContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS: return OrmPackage.XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlDerivedId_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID: return OrmV2_0Package.XML_DERIVED_ID_20__ID;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMapsId_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID: return OrmV2_0Package.XML_MAPS_ID_20__MAPS_ID;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlSingleRelationshipMapping_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlJoinTableContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE: return OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlJoinColumnContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS: return OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlDerivedId_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_DERIVED_ID_20__ID: return OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMapsId_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_MAPS_ID_20__MAPS_ID: return OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlSingleRelationshipMapping_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(", mapsId: ");
+ result.append(mapsId);
+ result.append(", optional: ");
+ result.append(optional);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** validation ***********
+
+ public TextRange getMapsIdTextRange() {
+ return getAttributeTextRange(JPA2_0.MAPS_ID);
+ }
+
+ public TextRange getIdTextRange() {
+ return getAttributeTextRange(JPA2_0.ID);
+ }
+
+
+ // ********** translators **********
+
+ protected static Translator buildOptionalTranslator() {
+ return new Translator(JPA.OPTIONAL, OrmPackage.eINSTANCE.getAbstractXmlSingleRelationshipMapping_Optional(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildMapsIdTranslator() {
+ return new Translator(JPA2_0.MAPS_ID, OrmV2_0Package.eINSTANCE.getXmlMapsId_2_0_MapsId(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildIdTranslator() {
+ return new Translator(JPA2_0.ID, OrmV2_0Package.eINSTANCE.getXmlDerivedId_2_0_Id(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildJoinColumnTranslator() {
+ return XmlJoinColumn.buildTranslator(JPA.JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlJoinColumnContainer_JoinColumns());
+ }
+
+ protected static Translator buildJoinTableTranslator() {
+ return XmlJoinTable.buildTranslator(JPA.JOIN_TABLE, OrmPackage.eINSTANCE.getXmlJoinTableContainer_JoinTable());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTable.java
new file mode 100644
index 0000000000..b6d29499f6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTable.java
@@ -0,0 +1,467 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Xml Base Table</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getUniqueConstraints <em>Unique Constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable()
+ * @model kind="class" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public abstract class AbstractXmlTable extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * 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<XmlUniqueConstraint> uniqueConstraints;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractXmlTable()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ABSTRACT_XML_TABLE;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TABLE__NAME, oldName, name));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable_Catalog()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getCatalog()
+ {
+ return catalog;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#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
+ */
+ public void setCatalog(String newCatalog)
+ {
+ String oldCatalog = catalog;
+ catalog = newCatalog;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TABLE__CATALOG, oldCatalog, catalog));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable_Schema()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getSchema()
+ {
+ return schema;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#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
+ */
+ public void setSchema(String newSchema)
+ {
+ String oldSchema = schema;
+ schema = newSchema;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TABLE__SCHEMA, oldSchema, schema));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable_UniqueConstraints()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlUniqueConstraint> getUniqueConstraints()
+ {
+ if (uniqueConstraints == null)
+ {
+ uniqueConstraints = new EObjectContainmentEList<XmlUniqueConstraint>(XmlUniqueConstraint.class, this, OrmPackage.ABSTRACT_XML_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 OrmPackage.ABSTRACT_XML_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 OrmPackage.ABSTRACT_XML_TABLE__NAME:
+ return getName();
+ case OrmPackage.ABSTRACT_XML_TABLE__CATALOG:
+ return getCatalog();
+ case OrmPackage.ABSTRACT_XML_TABLE__SCHEMA:
+ return getSchema();
+ case OrmPackage.ABSTRACT_XML_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 OrmPackage.ABSTRACT_XML_TABLE__NAME:
+ setName((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_TABLE__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_TABLE__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS:
+ getUniqueConstraints().clear();
+ getUniqueConstraints().addAll((Collection<? extends XmlUniqueConstraint>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_TABLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_TABLE__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_TABLE__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_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 OrmPackage.ABSTRACT_XML_TABLE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OrmPackage.ABSTRACT_XML_TABLE__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case OrmPackage.ABSTRACT_XML_TABLE__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case OrmPackage.ABSTRACT_XML_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();
+ }
+
+
+ public TextRange getNameTextRange() {
+ return getAttributeTextRange(JPA.NAME);
+ }
+
+ public TextRange getCatalogTextRange() {
+ return getAttributeTextRange(JPA.CATALOG);
+ }
+
+ public TextRange getSchemaTextRange() {
+ return getAttributeTextRange(JPA.SCHEMA);
+ }
+
+ // ********** translators **********
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getAbstractXmlTable_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildCatalogTranslator() {
+ return new Translator(JPA.CATALOG, OrmPackage.eINSTANCE.getAbstractXmlTable_Catalog(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildSchemaTranslator() {
+ return new Translator(JPA.SCHEMA, OrmPackage.eINSTANCE.getAbstractXmlTable_Schema(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildUniqueConstraintTranslator() {
+ return XmlUniqueConstraint.buildTranslator(JPA.UNIQUE_CONSTRAINT, OrmPackage.eINSTANCE.getAbstractXmlTable_UniqueConstraints());
+ }
+
+ //***************** content assist ****************
+
+ public TextRange getNameCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.NAME);
+ }
+
+ public TextRange getSchemaCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.SCHEMA);
+ }
+
+ public TextRange getCatalogCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.CATALOG);
+ }
+
+ public boolean nameTouches(int pos) {
+ TextRange textRange = this.getNameCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+ public boolean schemaTouches(int pos) {
+ TextRange textRange = this.getSchemaCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+ public boolean catalogTouches(int pos) {
+ TextRange textRange = this.getCatalogCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+} // AbstractXmlBaseTable
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTypeMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTypeMapping.java
new file mode 100644
index 0000000000..5f8d393c8e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTypeMapping.java
@@ -0,0 +1,568 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.jdt.core.IType;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.text.edits.ReplaceEdit;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Type Mapping</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTypeMapping()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements XmlTypeMapping
+{
+
+ /**
+ * The default value of the '{@link #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected static final String ACCESS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected String access = ACCESS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected String className = CLASS_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMetadataComplete() <em>Metadata Complete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetadataComplete()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean METADATA_COMPLETE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMetadataComplete() <em>Metadata Complete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetadataComplete()
+ * @generated
+ * @ordered
+ */
+ protected Boolean metadataComplete = METADATA_COMPLETE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributes()
+ * @generated
+ * @ordered
+ */
+ protected Attributes attributes;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractXmlTypeMapping()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ABSTRACT_XML_TYPE_MAPPING;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class 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>Class Name</em>' attribute.
+ * @see #setClassName(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_ClassName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getClassName()
+ {
+ return className;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping#getClassName <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Class Name</em>' attribute.
+ * @see #getClassName()
+ * @generated
+ */
+ public void setClassName(String newClassName)
+ {
+ String oldClassName = className;
+ className = newClassName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME, oldClassName, className));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Access</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Access</em>' attribute.
+ * @see #setAccess(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder_Access()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getAccess()
+ {
+ return access;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping#getAccess <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access</em>' attribute.
+ * @see #getAccess()
+ * @generated
+ */
+ public void setAccess(String newAccess)
+ {
+ String oldAccess = access;
+ access = newAccess;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS, oldAccess, access));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Metadata Complete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Metadata Complete</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Metadata Complete</em>' attribute.
+ * @see #setMetadataComplete(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_MetadataComplete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getMetadataComplete()
+ {
+ return metadataComplete;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping#getMetadataComplete <em>Metadata Complete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Metadata Complete</em>' attribute.
+ * @see #getMetadataComplete()
+ * @generated
+ */
+ public void setMetadataComplete(Boolean newMetadataComplete)
+ {
+ Boolean oldMetadataComplete = metadataComplete;
+ metadataComplete = newMetadataComplete;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE, oldMetadataComplete, metadataComplete));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Attributes</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Attributes</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>Attributes</em>' containment reference.
+ * @see #setAttributes(Attributes)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_Attributes()
+ * @model containment="true"
+ * @generated
+ */
+ public Attributes getAttributes()
+ {
+ return attributes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAttributes(Attributes newAttributes, NotificationChain msgs)
+ {
+ Attributes oldAttributes = attributes;
+ attributes = newAttributes;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES, oldAttributes, newAttributes);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping#getAttributes <em>Attributes</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Attributes</em>' containment reference.
+ * @see #getAttributes()
+ * @generated
+ */
+ public void setAttributes(Attributes newAttributes)
+ {
+ if (newAttributes != attributes)
+ {
+ NotificationChain msgs = null;
+ if (attributes != null)
+ msgs = ((InternalEObject)attributes).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES, null, msgs);
+ if (newAttributes != null)
+ msgs = ((InternalEObject)newAttributes).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES, null, msgs);
+ msgs = basicSetAttributes(newAttributes, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES, newAttributes, newAttributes));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES:
+ return basicSetAttributes(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 OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS:
+ return getAccess();
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME:
+ return getClassName();
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE:
+ return getMetadataComplete();
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES:
+ return getAttributes();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS:
+ setAccess((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME:
+ setClassName((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE:
+ setMetadataComplete((Boolean)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES:
+ setAttributes((Attributes)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS:
+ setAccess(ACCESS_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME:
+ setClassName(CLASS_NAME_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE:
+ setMetadataComplete(METADATA_COMPLETE_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES:
+ setAttributes((Attributes)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS:
+ return ACCESS_EDEFAULT == null ? access != null : !ACCESS_EDEFAULT.equals(access);
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME:
+ return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE:
+ return METADATA_COMPLETE_EDEFAULT == null ? metadataComplete != null : !METADATA_COMPLETE_EDEFAULT.equals(metadataComplete);
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES:
+ return attributes != 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(" (access: ");
+ result.append(access);
+ result.append(", className: ");
+ result.append(className);
+ result.append(", metadataComplete: ");
+ result.append(metadataComplete);
+ result.append(", description: ");
+ result.append(description);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ public TextRange getClassTextRange() {
+ return getAttributeTextRange(JPA.CLASS);
+ }
+
+ public TextRange getAttributesTextRange() {
+ return getAttributeTextRange(JPA.ATTRIBUTES);
+ }
+
+ public TextRange getNameTextRange(){
+ return getAttributeTextRange(JPA.NAME);
+ }
+
+ // ********** translators **********
+
+ protected static Translator buildClassTranslator() {
+ return new Translator(JPA.CLASS, OrmPackage.eINSTANCE.getXmlTypeMapping_ClassName(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildMetadataCompleteTranslator() {
+ return new Translator(JPA.METADATA_COMPLETE, OrmPackage.eINSTANCE.getXmlTypeMapping_MetadataComplete(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA.DESCRIPTION, OrmPackage.eINSTANCE.getXmlTypeMapping_Description());
+ }
+
+ protected static Translator buildAttributesTranslator() {
+ return Attributes.buildTranslator();
+ }
+
+ protected static Translator buildAccessTranslator() {
+ return new Translator(JPA.ACCESS, OrmPackage.eINSTANCE.getXmlAccessHolder_Access(), Translator.DOM_ATTRIBUTE);
+ }
+
+
+ // ********** refactoring **********
+
+ public ReplaceEdit createRenameTypeEdit(IType originalType, String newName) {
+ String originalName = originalType.getTypeQualifiedName();
+ int nameIndex = this.className.lastIndexOf(originalName);
+ int offset = getAttributeNode(JPA.CLASS).getValueRegionStartOffset() + 1; // +1 = opening double quote
+ return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+ }
+
+ public ReplaceEdit createRenamePackageEdit(String newPackageName) {
+ int packageLength = this.className.lastIndexOf('.');
+ if (newPackageName == "") {//$NON-NLS-1$
+ //moving to the default package, remove the '.'
+ packageLength++;
+ }
+ if (packageLength == -1) {
+ //moving from the default package or unspecified package
+ packageLength = 0;
+ newPackageName = newPackageName + '.';
+ }
+ int offset = getAttributeNode(JPA.CLASS).getValueRegionStartOffset() + 1; // +1 = opening double quote
+ return new ReplaceEdit(offset, packageLength, newPackageName);
+ }
+
+ // *********** content assist ************
+
+ protected TextRange getClassNameCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.CLASS);
+ }
+
+ public boolean classNameTouches(int pos) {
+ TextRange textRange = this.getClassNameCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+} // TypeMapping
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Attributes.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Attributes.java
new file mode 100644
index 0000000000..dff6d699c3
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Attributes.java
@@ -0,0 +1,792 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.ArrayList;
+import java.util.Collection;
+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.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.utility.internal.collection.CollectionTools;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attributes</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getIds <em>Ids</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getEmbeddedIds <em>Embedded Ids</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getBasics <em>Basics</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getVersions <em>Versions</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getManyToOnes <em>Many To Ones</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getOneToManys <em>One To Manys</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getOneToOnes <em>One To Ones</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getManyToManys <em>Many To Manys</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getEmbeddeds <em>Embeddeds</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getTransients <em>Transients</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes()
+ * @model kind="class"
+ * @generated
+ */
+public class Attributes extends EBaseObjectImpl implements XmlAttributes_2_0
+{
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getElementCollections() <em>Element Collections</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementCollections()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlElementCollection> elementCollections;
+
+ /**
+ * The cached value of the '{@link #getIds() <em>Ids</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIds()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlId> ids;
+
+ /**
+ * The cached value of the '{@link #getEmbeddedIds() <em>Embedded Ids</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEmbeddedIds()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlEmbeddedId> embeddedIds;
+
+ /**
+ * The cached value of the '{@link #getBasics() <em>Basics</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBasics()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlBasic> basics;
+
+ /**
+ * The cached value of the '{@link #getVersions() <em>Versions</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVersions()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlVersion> versions;
+
+ /**
+ * The cached value of the '{@link #getManyToOnes() <em>Many To Ones</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getManyToOnes()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlManyToOne> manyToOnes;
+
+ /**
+ * The cached value of the '{@link #getOneToManys() <em>One To Manys</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOneToManys()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlOneToMany> oneToManys;
+
+ /**
+ * The cached value of the '{@link #getOneToOnes() <em>One To Ones</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOneToOnes()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlOneToOne> oneToOnes;
+
+ /**
+ * The cached value of the '{@link #getManyToManys() <em>Many To Manys</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getManyToManys()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlManyToMany> manyToManys;
+
+ /**
+ * The cached value of the '{@link #getEmbeddeds() <em>Embeddeds</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEmbeddeds()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlEmbedded> embeddeds;
+
+ /**
+ * The cached value of the '{@link #getTransients() <em>Transients</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTransients()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlTransient> transients;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Attributes()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ATTRIBUTES;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributes_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ATTRIBUTES__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Element Collections</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element Collections</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>Element Collections</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributes_2_0_ElementCollections()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlElementCollection> getElementCollections()
+ {
+ if (elementCollections == null)
+ {
+ elementCollections = new EObjectContainmentEList<XmlElementCollection>(XmlElementCollection.class, this, OrmPackage.ATTRIBUTES__ELEMENT_COLLECTIONS);
+ }
+ return elementCollections;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Ids</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlId}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ids</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>Ids</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_Ids()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlId> getIds()
+ {
+ if (ids == null)
+ {
+ ids = new EObjectContainmentEList<XmlId>(XmlId.class, this, OrmPackage.ATTRIBUTES__IDS);
+ }
+ return ids;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Embedded Ids</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Embedded Ids</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>Embedded Ids</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_EmbeddedIds()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlEmbeddedId> getEmbeddedIds()
+ {
+ if (embeddedIds == null)
+ {
+ embeddedIds = new EObjectContainmentEList<XmlEmbeddedId>(XmlEmbeddedId.class, this, OrmPackage.ATTRIBUTES__EMBEDDED_IDS);
+ }
+ return embeddedIds;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Basics</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Basics</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>Basics</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_Basics()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlBasic> getBasics()
+ {
+ if (basics == null)
+ {
+ basics = new EObjectContainmentEList<XmlBasic>(XmlBasic.class, this, OrmPackage.ATTRIBUTES__BASICS);
+ }
+ return basics;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Versions</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Versions</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>Versions</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_Versions()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlVersion> getVersions()
+ {
+ if (versions == null)
+ {
+ versions = new EObjectContainmentEList<XmlVersion>(XmlVersion.class, this, OrmPackage.ATTRIBUTES__VERSIONS);
+ }
+ return versions;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Many To Ones</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Many To Ones</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>Many To Ones</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_ManyToOnes()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlManyToOne> getManyToOnes()
+ {
+ if (manyToOnes == null)
+ {
+ manyToOnes = new EObjectContainmentEList<XmlManyToOne>(XmlManyToOne.class, this, OrmPackage.ATTRIBUTES__MANY_TO_ONES);
+ }
+ return manyToOnes;
+ }
+
+ /**
+ * Returns the value of the '<em><b>One To Manys</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>One To Manys</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>One To Manys</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_OneToManys()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlOneToMany> getOneToManys()
+ {
+ if (oneToManys == null)
+ {
+ oneToManys = new EObjectContainmentEList<XmlOneToMany>(XmlOneToMany.class, this, OrmPackage.ATTRIBUTES__ONE_TO_MANYS);
+ }
+ return oneToManys;
+ }
+
+ /**
+ * Returns the value of the '<em><b>One To Ones</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>One To Ones</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>One To Ones</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_OneToOnes()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlOneToOne> getOneToOnes()
+ {
+ if (oneToOnes == null)
+ {
+ oneToOnes = new EObjectContainmentEList<XmlOneToOne>(XmlOneToOne.class, this, OrmPackage.ATTRIBUTES__ONE_TO_ONES);
+ }
+ return oneToOnes;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Many To Manys</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Many To Manys</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>Many To Manys</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_ManyToManys()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlManyToMany> getManyToManys()
+ {
+ if (manyToManys == null)
+ {
+ manyToManys = new EObjectContainmentEList<XmlManyToMany>(XmlManyToMany.class, this, OrmPackage.ATTRIBUTES__MANY_TO_MANYS);
+ }
+ return manyToManys;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Embeddeds</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Embeddeds</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>Embeddeds</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_Embeddeds()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlEmbedded> getEmbeddeds()
+ {
+ if (embeddeds == null)
+ {
+ embeddeds = new EObjectContainmentEList<XmlEmbedded>(XmlEmbedded.class, this, OrmPackage.ATTRIBUTES__EMBEDDEDS);
+ }
+ return embeddeds;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Transients</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlTransient}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Transients</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>Transients</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_Transients()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlTransient> getTransients()
+ {
+ if (transients == null)
+ {
+ transients = new EObjectContainmentEList<XmlTransient>(XmlTransient.class, this, OrmPackage.ATTRIBUTES__TRANSIENTS);
+ }
+ return transients;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ATTRIBUTES__ELEMENT_COLLECTIONS:
+ return ((InternalEList<?>)getElementCollections()).basicRemove(otherEnd, msgs);
+ case OrmPackage.ATTRIBUTES__IDS:
+ return ((InternalEList<?>)getIds()).basicRemove(otherEnd, msgs);
+ case OrmPackage.ATTRIBUTES__EMBEDDED_IDS:
+ return ((InternalEList<?>)getEmbeddedIds()).basicRemove(otherEnd, msgs);
+ case OrmPackage.ATTRIBUTES__BASICS:
+ return ((InternalEList<?>)getBasics()).basicRemove(otherEnd, msgs);
+ case OrmPackage.ATTRIBUTES__VERSIONS:
+ return ((InternalEList<?>)getVersions()).basicRemove(otherEnd, msgs);
+ case OrmPackage.ATTRIBUTES__MANY_TO_ONES:
+ return ((InternalEList<?>)getManyToOnes()).basicRemove(otherEnd, msgs);
+ case OrmPackage.ATTRIBUTES__ONE_TO_MANYS:
+ return ((InternalEList<?>)getOneToManys()).basicRemove(otherEnd, msgs);
+ case OrmPackage.ATTRIBUTES__ONE_TO_ONES:
+ return ((InternalEList<?>)getOneToOnes()).basicRemove(otherEnd, msgs);
+ case OrmPackage.ATTRIBUTES__MANY_TO_MANYS:
+ return ((InternalEList<?>)getManyToManys()).basicRemove(otherEnd, msgs);
+ case OrmPackage.ATTRIBUTES__EMBEDDEDS:
+ return ((InternalEList<?>)getEmbeddeds()).basicRemove(otherEnd, msgs);
+ case OrmPackage.ATTRIBUTES__TRANSIENTS:
+ return ((InternalEList<?>)getTransients()).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 OrmPackage.ATTRIBUTES__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.ATTRIBUTES__ELEMENT_COLLECTIONS:
+ return getElementCollections();
+ case OrmPackage.ATTRIBUTES__IDS:
+ return getIds();
+ case OrmPackage.ATTRIBUTES__EMBEDDED_IDS:
+ return getEmbeddedIds();
+ case OrmPackage.ATTRIBUTES__BASICS:
+ return getBasics();
+ case OrmPackage.ATTRIBUTES__VERSIONS:
+ return getVersions();
+ case OrmPackage.ATTRIBUTES__MANY_TO_ONES:
+ return getManyToOnes();
+ case OrmPackage.ATTRIBUTES__ONE_TO_MANYS:
+ return getOneToManys();
+ case OrmPackage.ATTRIBUTES__ONE_TO_ONES:
+ return getOneToOnes();
+ case OrmPackage.ATTRIBUTES__MANY_TO_MANYS:
+ return getManyToManys();
+ case OrmPackage.ATTRIBUTES__EMBEDDEDS:
+ return getEmbeddeds();
+ case OrmPackage.ATTRIBUTES__TRANSIENTS:
+ return getTransients();
+ }
+ 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 OrmPackage.ATTRIBUTES__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.ATTRIBUTES__ELEMENT_COLLECTIONS:
+ getElementCollections().clear();
+ getElementCollections().addAll((Collection<? extends XmlElementCollection>)newValue);
+ return;
+ case OrmPackage.ATTRIBUTES__IDS:
+ getIds().clear();
+ getIds().addAll((Collection<? extends XmlId>)newValue);
+ return;
+ case OrmPackage.ATTRIBUTES__EMBEDDED_IDS:
+ getEmbeddedIds().clear();
+ getEmbeddedIds().addAll((Collection<? extends XmlEmbeddedId>)newValue);
+ return;
+ case OrmPackage.ATTRIBUTES__BASICS:
+ getBasics().clear();
+ getBasics().addAll((Collection<? extends XmlBasic>)newValue);
+ return;
+ case OrmPackage.ATTRIBUTES__VERSIONS:
+ getVersions().clear();
+ getVersions().addAll((Collection<? extends XmlVersion>)newValue);
+ return;
+ case OrmPackage.ATTRIBUTES__MANY_TO_ONES:
+ getManyToOnes().clear();
+ getManyToOnes().addAll((Collection<? extends XmlManyToOne>)newValue);
+ return;
+ case OrmPackage.ATTRIBUTES__ONE_TO_MANYS:
+ getOneToManys().clear();
+ getOneToManys().addAll((Collection<? extends XmlOneToMany>)newValue);
+ return;
+ case OrmPackage.ATTRIBUTES__ONE_TO_ONES:
+ getOneToOnes().clear();
+ getOneToOnes().addAll((Collection<? extends XmlOneToOne>)newValue);
+ return;
+ case OrmPackage.ATTRIBUTES__MANY_TO_MANYS:
+ getManyToManys().clear();
+ getManyToManys().addAll((Collection<? extends XmlManyToMany>)newValue);
+ return;
+ case OrmPackage.ATTRIBUTES__EMBEDDEDS:
+ getEmbeddeds().clear();
+ getEmbeddeds().addAll((Collection<? extends XmlEmbedded>)newValue);
+ return;
+ case OrmPackage.ATTRIBUTES__TRANSIENTS:
+ getTransients().clear();
+ getTransients().addAll((Collection<? extends XmlTransient>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ATTRIBUTES__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.ATTRIBUTES__ELEMENT_COLLECTIONS:
+ getElementCollections().clear();
+ return;
+ case OrmPackage.ATTRIBUTES__IDS:
+ getIds().clear();
+ return;
+ case OrmPackage.ATTRIBUTES__EMBEDDED_IDS:
+ getEmbeddedIds().clear();
+ return;
+ case OrmPackage.ATTRIBUTES__BASICS:
+ getBasics().clear();
+ return;
+ case OrmPackage.ATTRIBUTES__VERSIONS:
+ getVersions().clear();
+ return;
+ case OrmPackage.ATTRIBUTES__MANY_TO_ONES:
+ getManyToOnes().clear();
+ return;
+ case OrmPackage.ATTRIBUTES__ONE_TO_MANYS:
+ getOneToManys().clear();
+ return;
+ case OrmPackage.ATTRIBUTES__ONE_TO_ONES:
+ getOneToOnes().clear();
+ return;
+ case OrmPackage.ATTRIBUTES__MANY_TO_MANYS:
+ getManyToManys().clear();
+ return;
+ case OrmPackage.ATTRIBUTES__EMBEDDEDS:
+ getEmbeddeds().clear();
+ return;
+ case OrmPackage.ATTRIBUTES__TRANSIENTS:
+ getTransients().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ATTRIBUTES__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.ATTRIBUTES__ELEMENT_COLLECTIONS:
+ return elementCollections != null && !elementCollections.isEmpty();
+ case OrmPackage.ATTRIBUTES__IDS:
+ return ids != null && !ids.isEmpty();
+ case OrmPackage.ATTRIBUTES__EMBEDDED_IDS:
+ return embeddedIds != null && !embeddedIds.isEmpty();
+ case OrmPackage.ATTRIBUTES__BASICS:
+ return basics != null && !basics.isEmpty();
+ case OrmPackage.ATTRIBUTES__VERSIONS:
+ return versions != null && !versions.isEmpty();
+ case OrmPackage.ATTRIBUTES__MANY_TO_ONES:
+ return manyToOnes != null && !manyToOnes.isEmpty();
+ case OrmPackage.ATTRIBUTES__ONE_TO_MANYS:
+ return oneToManys != null && !oneToManys.isEmpty();
+ case OrmPackage.ATTRIBUTES__ONE_TO_ONES:
+ return oneToOnes != null && !oneToOnes.isEmpty();
+ case OrmPackage.ATTRIBUTES__MANY_TO_MANYS:
+ return manyToManys != null && !manyToManys.isEmpty();
+ case OrmPackage.ATTRIBUTES__EMBEDDEDS:
+ return embeddeds != null && !embeddeds.isEmpty();
+ case OrmPackage.ATTRIBUTES__TRANSIENTS:
+ return transients != null && !transients.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(" (description: ");
+ result.append(description);
+ result.append(')');
+ return result.toString();
+ }
+
+ public List<XmlAttributeMapping> getAttributeMappings() {
+ // convert lists to arrays to avoid ConcurrentModificationException while adding to result list
+ ArrayList<XmlAttributeMapping> attributeMappings = new ArrayList<XmlAttributeMapping>();
+ CollectionTools.addAll(attributeMappings, this.getIds().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY));
+ CollectionTools.addAll(attributeMappings, this.getEmbeddedIds().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY));
+ CollectionTools.addAll(attributeMappings, this.getBasics().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY));
+ CollectionTools.addAll(attributeMappings, this.getVersions().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY));
+ CollectionTools.addAll(attributeMappings, this.getManyToOnes().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY));
+ CollectionTools.addAll(attributeMappings, this.getOneToManys().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY));
+ CollectionTools.addAll(attributeMappings, this.getOneToOnes().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY));
+ CollectionTools.addAll(attributeMappings, this.getManyToManys().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY));
+ CollectionTools.addAll(attributeMappings, this.getElementCollections().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY));
+ CollectionTools.addAll(attributeMappings, this.getEmbeddeds().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY));
+ CollectionTools.addAll(attributeMappings, this.getTransients().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY));
+ return attributeMappings;
+ }
+
+ private static final XmlAttributeMapping[] EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY = new XmlAttributeMapping[0];
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ public static Translator buildTranslator() {
+ return buildTranslator(
+ JPA.ATTRIBUTES,
+ OrmPackage.eINSTANCE.getXmlTypeMapping_Attributes());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ XmlId.buildTranslator(JPA.ID, OrmPackage.eINSTANCE.getAttributes_Ids()),
+ XmlEmbeddedId.buildTranslator(JPA.EMBEDDED_ID, OrmPackage.eINSTANCE.getAttributes_EmbeddedIds()),
+ XmlBasic.buildTranslator(JPA.BASIC, OrmPackage.eINSTANCE.getAttributes_Basics()),
+ XmlVersion.buildTranslator(JPA.VERSION, OrmPackage.eINSTANCE.getAttributes_Versions()),
+ XmlManyToOne.buildTranslator(JPA.MANY_TO_ONE, OrmPackage.eINSTANCE.getAttributes_ManyToOnes()),
+ XmlOneToMany.buildTranslator(JPA.ONE_TO_MANY, OrmPackage.eINSTANCE.getAttributes_OneToManys()),
+ XmlOneToOne.buildTranslator(JPA.ONE_TO_ONE, OrmPackage.eINSTANCE.getAttributes_OneToOnes()),
+ XmlManyToMany.buildTranslator(JPA.MANY_TO_MANY, OrmPackage.eINSTANCE.getAttributes_ManyToManys()),
+ XmlElementCollection.buildTranslator(JPA2_0.ELEMENT_COLLECTION, OrmV2_0Package.eINSTANCE.getXmlAttributes_2_0_ElementCollections()),
+ XmlEmbedded.buildTranslator(JPA.EMBEDDED, OrmPackage.eINSTANCE.getAttributes_Embeddeds()),
+ XmlTransient.buildTranslator(JPA.TRANSIENT, OrmPackage.eINSTANCE.getAttributes_Transients()),
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/CascadeType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/CascadeType.java
new file mode 100644
index 0000000000..8656b85198
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/CascadeType.java
@@ -0,0 +1,586 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.EmptyTagBooleanTranslator;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cascade Type</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeAll <em>Cascade All</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadePersist <em>Cascade Persist</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeMerge <em>Cascade Merge</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRemove <em>Cascade Remove</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRefresh <em>Cascade Refresh</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType()
+ * @model kind="class"
+ * @generated
+ */
+public class CascadeType extends EBaseObjectImpl implements XmlCascadeType_2_0
+{
+ /**
+ * The default value of the '{@link #isCascadeDetach() <em>Cascade Detach</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadeDetach()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CASCADE_DETACH_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCascadeDetach() <em>Cascade Detach</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadeDetach()
+ * @generated
+ * @ordered
+ */
+ protected boolean cascadeDetach = CASCADE_DETACH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isCascadeAll() <em>Cascade All</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadeAll()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CASCADE_ALL_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCascadeAll() <em>Cascade All</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadeAll()
+ * @generated
+ * @ordered
+ */
+ protected boolean cascadeAll = CASCADE_ALL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isCascadePersist() <em>Cascade Persist</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadePersist()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CASCADE_PERSIST_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCascadePersist() <em>Cascade Persist</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadePersist()
+ * @generated
+ * @ordered
+ */
+ protected boolean cascadePersist = CASCADE_PERSIST_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isCascadeMerge() <em>Cascade Merge</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadeMerge()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CASCADE_MERGE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCascadeMerge() <em>Cascade Merge</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadeMerge()
+ * @generated
+ * @ordered
+ */
+ protected boolean cascadeMerge = CASCADE_MERGE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isCascadeRemove() <em>Cascade Remove</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadeRemove()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CASCADE_REMOVE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCascadeRemove() <em>Cascade Remove</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadeRemove()
+ * @generated
+ * @ordered
+ */
+ protected boolean cascadeRemove = CASCADE_REMOVE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isCascadeRefresh() <em>Cascade Refresh</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadeRefresh()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CASCADE_REFRESH_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCascadeRefresh() <em>Cascade Refresh</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadeRefresh()
+ * @generated
+ * @ordered
+ */
+ protected boolean cascadeRefresh = CASCADE_REFRESH_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CascadeType()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.CASCADE_TYPE;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Cascade Detach</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade Detach</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cascade Detach</em>' attribute.
+ * @see #setCascadeDetach(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlCascadeType_2_0_CascadeDetach()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isCascadeDetach()
+ {
+ return cascadeDetach;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeDetach <em>Cascade Detach</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade Detach</em>' attribute.
+ * @see #isCascadeDetach()
+ * @generated
+ */
+ public void setCascadeDetach(boolean newCascadeDetach)
+ {
+ boolean oldCascadeDetach = cascadeDetach;
+ cascadeDetach = newCascadeDetach;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CASCADE_TYPE__CASCADE_DETACH, oldCascadeDetach, cascadeDetach));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Cascade All</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade All</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cascade All</em>' attribute.
+ * @see #setCascadeAll(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType_CascadeAll()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isCascadeAll()
+ {
+ return cascadeAll;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeAll <em>Cascade All</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade All</em>' attribute.
+ * @see #isCascadeAll()
+ * @generated
+ */
+ public void setCascadeAll(boolean newCascadeAll)
+ {
+ boolean oldCascadeAll = cascadeAll;
+ cascadeAll = newCascadeAll;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CASCADE_TYPE__CASCADE_ALL, oldCascadeAll, cascadeAll));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Cascade Persist</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade Persist</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cascade Persist</em>' attribute.
+ * @see #setCascadePersist(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType_CascadePersist()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isCascadePersist()
+ {
+ return cascadePersist;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadePersist <em>Cascade Persist</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade Persist</em>' attribute.
+ * @see #isCascadePersist()
+ * @generated
+ */
+ public void setCascadePersist(boolean newCascadePersist)
+ {
+ boolean oldCascadePersist = cascadePersist;
+ cascadePersist = newCascadePersist;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CASCADE_TYPE__CASCADE_PERSIST, oldCascadePersist, cascadePersist));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Cascade Merge</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade Merge</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cascade Merge</em>' attribute.
+ * @see #setCascadeMerge(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType_CascadeMerge()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isCascadeMerge()
+ {
+ return cascadeMerge;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeMerge <em>Cascade Merge</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade Merge</em>' attribute.
+ * @see #isCascadeMerge()
+ * @generated
+ */
+ public void setCascadeMerge(boolean newCascadeMerge)
+ {
+ boolean oldCascadeMerge = cascadeMerge;
+ cascadeMerge = newCascadeMerge;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CASCADE_TYPE__CASCADE_MERGE, oldCascadeMerge, cascadeMerge));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Cascade Remove</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade Remove</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cascade Remove</em>' attribute.
+ * @see #setCascadeRemove(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType_CascadeRemove()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isCascadeRemove()
+ {
+ return cascadeRemove;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRemove <em>Cascade Remove</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade Remove</em>' attribute.
+ * @see #isCascadeRemove()
+ * @generated
+ */
+ public void setCascadeRemove(boolean newCascadeRemove)
+ {
+ boolean oldCascadeRemove = cascadeRemove;
+ cascadeRemove = newCascadeRemove;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CASCADE_TYPE__CASCADE_REMOVE, oldCascadeRemove, cascadeRemove));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Cascade Refresh</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade Refresh</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cascade Refresh</em>' attribute.
+ * @see #setCascadeRefresh(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType_CascadeRefresh()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isCascadeRefresh()
+ {
+ return cascadeRefresh;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRefresh <em>Cascade Refresh</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade Refresh</em>' attribute.
+ * @see #isCascadeRefresh()
+ * @generated
+ */
+ public void setCascadeRefresh(boolean newCascadeRefresh)
+ {
+ boolean oldCascadeRefresh = cascadeRefresh;
+ cascadeRefresh = newCascadeRefresh;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CASCADE_TYPE__CASCADE_REFRESH, oldCascadeRefresh, cascadeRefresh));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.CASCADE_TYPE__CASCADE_DETACH:
+ return isCascadeDetach();
+ case OrmPackage.CASCADE_TYPE__CASCADE_ALL:
+ return isCascadeAll();
+ case OrmPackage.CASCADE_TYPE__CASCADE_PERSIST:
+ return isCascadePersist();
+ case OrmPackage.CASCADE_TYPE__CASCADE_MERGE:
+ return isCascadeMerge();
+ case OrmPackage.CASCADE_TYPE__CASCADE_REMOVE:
+ return isCascadeRemove();
+ case OrmPackage.CASCADE_TYPE__CASCADE_REFRESH:
+ return isCascadeRefresh();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.CASCADE_TYPE__CASCADE_DETACH:
+ setCascadeDetach((Boolean)newValue);
+ return;
+ case OrmPackage.CASCADE_TYPE__CASCADE_ALL:
+ setCascadeAll((Boolean)newValue);
+ return;
+ case OrmPackage.CASCADE_TYPE__CASCADE_PERSIST:
+ setCascadePersist((Boolean)newValue);
+ return;
+ case OrmPackage.CASCADE_TYPE__CASCADE_MERGE:
+ setCascadeMerge((Boolean)newValue);
+ return;
+ case OrmPackage.CASCADE_TYPE__CASCADE_REMOVE:
+ setCascadeRemove((Boolean)newValue);
+ return;
+ case OrmPackage.CASCADE_TYPE__CASCADE_REFRESH:
+ setCascadeRefresh((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.CASCADE_TYPE__CASCADE_DETACH:
+ setCascadeDetach(CASCADE_DETACH_EDEFAULT);
+ return;
+ case OrmPackage.CASCADE_TYPE__CASCADE_ALL:
+ setCascadeAll(CASCADE_ALL_EDEFAULT);
+ return;
+ case OrmPackage.CASCADE_TYPE__CASCADE_PERSIST:
+ setCascadePersist(CASCADE_PERSIST_EDEFAULT);
+ return;
+ case OrmPackage.CASCADE_TYPE__CASCADE_MERGE:
+ setCascadeMerge(CASCADE_MERGE_EDEFAULT);
+ return;
+ case OrmPackage.CASCADE_TYPE__CASCADE_REMOVE:
+ setCascadeRemove(CASCADE_REMOVE_EDEFAULT);
+ return;
+ case OrmPackage.CASCADE_TYPE__CASCADE_REFRESH:
+ setCascadeRefresh(CASCADE_REFRESH_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.CASCADE_TYPE__CASCADE_DETACH:
+ return cascadeDetach != CASCADE_DETACH_EDEFAULT;
+ case OrmPackage.CASCADE_TYPE__CASCADE_ALL:
+ return cascadeAll != CASCADE_ALL_EDEFAULT;
+ case OrmPackage.CASCADE_TYPE__CASCADE_PERSIST:
+ return cascadePersist != CASCADE_PERSIST_EDEFAULT;
+ case OrmPackage.CASCADE_TYPE__CASCADE_MERGE:
+ return cascadeMerge != CASCADE_MERGE_EDEFAULT;
+ case OrmPackage.CASCADE_TYPE__CASCADE_REMOVE:
+ return cascadeRemove != CASCADE_REMOVE_EDEFAULT;
+ case OrmPackage.CASCADE_TYPE__CASCADE_REFRESH:
+ return cascadeRefresh != CASCADE_REFRESH_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(" (cascadeDetach: ");
+ result.append(cascadeDetach);
+ result.append(", cascadeAll: ");
+ result.append(cascadeAll);
+ result.append(", cascadePersist: ");
+ result.append(cascadePersist);
+ result.append(", cascadeMerge: ");
+ result.append(cascadeMerge);
+ result.append(", cascadeRemove: ");
+ result.append(cascadeRemove);
+ result.append(", cascadeRefresh: ");
+ result.append(cascadeRefresh);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildCascadeAllTranslator(),
+ buildCascadePersistTranslator(),
+ buildCascadeMergeTranslator(),
+ buildCascadeRemoveTranslator(),
+ buildCascadeRefreshTranslator(),
+ buildCascadeDetachTranslator()
+ };
+ }
+
+ protected static Translator buildCascadeAllTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.CASCADE_ALL, OrmPackage.eINSTANCE.getCascadeType_CascadeAll());
+ }
+
+ protected static Translator buildCascadePersistTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.CASCADE_PERSIST, OrmPackage.eINSTANCE.getCascadeType_CascadePersist());
+ }
+
+ protected static Translator buildCascadeMergeTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.CASCADE_MERGE, OrmPackage.eINSTANCE.getCascadeType_CascadeMerge());
+ }
+
+ protected static Translator buildCascadeRemoveTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.CASCADE_REMOVE, OrmPackage.eINSTANCE.getCascadeType_CascadeRemove());
+ }
+
+ protected static Translator buildCascadeRefreshTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.CASCADE_REFRESH, OrmPackage.eINSTANCE.getCascadeType_CascadeRefresh());
+ }
+
+ protected static Translator buildCascadeDetachTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.CASCADE_DETACH, OrmV2_0Package.eINSTANCE.getXmlCascadeType_2_0_CascadeDetach());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnMapping.java
new file mode 100644
index 0000000000..c5fb0765e6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnMapping.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Column Mapping</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnMapping()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface ColumnMapping extends EBaseObject
+{
+ /**
+ * 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(XmlColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnMapping_Column()
+ * @model containment="true"
+ * @generated
+ */
+ XmlColumn getColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping#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(XmlColumn value);
+
+} // ColumnMapping
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnResult.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnResult.java
new file mode 100644
index 0000000000..2e451b04fa
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnResult.java
@@ -0,0 +1,221 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Column Result</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnResult#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnResult()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class ColumnResult extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * 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 ColumnResult()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.COLUMN_RESULT;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getColumnResult_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnResult#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.COLUMN_RESULT__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.COLUMN_RESULT__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 OrmPackage.COLUMN_RESULT__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 OrmPackage.COLUMN_RESULT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.COLUMN_RESULT__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();
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ };
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getColumnResult_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+} // ColumnResult
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/DiscriminatorType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/DiscriminatorType.java
new file mode 100644
index 0000000000..112880bef5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/DiscriminatorType.java
@@ -0,0 +1,262 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#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/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListener.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListener.java
new file mode 100644
index 0000000000..a8c9e6a876
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListener.java
@@ -0,0 +1,928 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Listener</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListener()
+ * @model kind="class"
+ * @generated
+ */
+public class EntityListener extends EBaseObjectImpl implements XmlEventMethodContainer, XmlEntityListener_2_0
+{
+ /**
+ * The cached value of the '{@link #getPrePersist() <em>Pre Persist</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrePersist()
+ * @generated
+ * @ordered
+ */
+ protected PrePersist prePersist;
+
+ /**
+ * The cached value of the '{@link #getPostPersist() <em>Post Persist</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostPersist()
+ * @generated
+ * @ordered
+ */
+ protected PostPersist postPersist;
+
+ /**
+ * The cached value of the '{@link #getPreRemove() <em>Pre Remove</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPreRemove()
+ * @generated
+ * @ordered
+ */
+ protected PreRemove preRemove;
+
+ /**
+ * The cached value of the '{@link #getPostRemove() <em>Post Remove</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostRemove()
+ * @generated
+ * @ordered
+ */
+ protected PostRemove postRemove;
+
+ /**
+ * The cached value of the '{@link #getPreUpdate() <em>Pre Update</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPreUpdate()
+ * @generated
+ * @ordered
+ */
+ protected PreUpdate preUpdate;
+
+ /**
+ * The cached value of the '{@link #getPostUpdate() <em>Post Update</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostUpdate()
+ * @generated
+ * @ordered
+ */
+ protected PostUpdate postUpdate;
+
+ /**
+ * The cached value of the '{@link #getPostLoad() <em>Post Load</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostLoad()
+ * @generated
+ * @ordered
+ */
+ protected PostLoad postLoad;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected String className = CLASS_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EntityListener()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ENTITY_LISTENER;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class 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>Class Name</em>' attribute.
+ * @see #setClassName(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListener_ClassName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getClassName()
+ {
+ return className;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getClassName <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Class Name</em>' attribute.
+ * @see #getClassName()
+ * @generated
+ */
+ public void setClassName(String newClassName)
+ {
+ String oldClassName = className;
+ className = newClassName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__CLASS_NAME, oldClassName, className));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Pre Persist</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Persist</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>Pre Persist</em>' containment reference.
+ * @see #setPrePersist(PrePersist)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PrePersist()
+ * @model containment="true"
+ * @generated
+ */
+ public PrePersist getPrePersist()
+ {
+ return prePersist;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPrePersist(PrePersist newPrePersist, NotificationChain msgs)
+ {
+ PrePersist oldPrePersist = prePersist;
+ prePersist = newPrePersist;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__PRE_PERSIST, oldPrePersist, newPrePersist);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPrePersist <em>Pre Persist</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pre Persist</em>' containment reference.
+ * @see #getPrePersist()
+ * @generated
+ */
+ public void setPrePersist(PrePersist newPrePersist)
+ {
+ if (newPrePersist != prePersist)
+ {
+ NotificationChain msgs = null;
+ if (prePersist != null)
+ msgs = ((InternalEObject)prePersist).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__PRE_PERSIST, null, msgs);
+ if (newPrePersist != null)
+ msgs = ((InternalEObject)newPrePersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__PRE_PERSIST, null, msgs);
+ msgs = basicSetPrePersist(newPrePersist, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__PRE_PERSIST, newPrePersist, newPrePersist));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Post Persist</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Persist</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>Post Persist</em>' containment reference.
+ * @see #setPostPersist(PostPersist)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostPersist()
+ * @model containment="true"
+ * @generated
+ */
+ public PostPersist getPostPersist()
+ {
+ return postPersist;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPostPersist(PostPersist newPostPersist, NotificationChain msgs)
+ {
+ PostPersist oldPostPersist = postPersist;
+ postPersist = newPostPersist;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_PERSIST, oldPostPersist, newPostPersist);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPostPersist <em>Post Persist</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Post Persist</em>' containment reference.
+ * @see #getPostPersist()
+ * @generated
+ */
+ public void setPostPersist(PostPersist newPostPersist)
+ {
+ if (newPostPersist != postPersist)
+ {
+ NotificationChain msgs = null;
+ if (postPersist != null)
+ msgs = ((InternalEObject)postPersist).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_PERSIST, null, msgs);
+ if (newPostPersist != null)
+ msgs = ((InternalEObject)newPostPersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_PERSIST, null, msgs);
+ msgs = basicSetPostPersist(newPostPersist, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_PERSIST, newPostPersist, newPostPersist));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Pre Remove</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Remove</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>Pre Remove</em>' containment reference.
+ * @see #setPreRemove(PreRemove)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PreRemove()
+ * @model containment="true"
+ * @generated
+ */
+ public PreRemove getPreRemove()
+ {
+ return preRemove;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPreRemove(PreRemove newPreRemove, NotificationChain msgs)
+ {
+ PreRemove oldPreRemove = preRemove;
+ preRemove = newPreRemove;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__PRE_REMOVE, oldPreRemove, newPreRemove);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPreRemove <em>Pre Remove</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pre Remove</em>' containment reference.
+ * @see #getPreRemove()
+ * @generated
+ */
+ public void setPreRemove(PreRemove newPreRemove)
+ {
+ if (newPreRemove != preRemove)
+ {
+ NotificationChain msgs = null;
+ if (preRemove != null)
+ msgs = ((InternalEObject)preRemove).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__PRE_REMOVE, null, msgs);
+ if (newPreRemove != null)
+ msgs = ((InternalEObject)newPreRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__PRE_REMOVE, null, msgs);
+ msgs = basicSetPreRemove(newPreRemove, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__PRE_REMOVE, newPreRemove, newPreRemove));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Post Remove</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Remove</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>Post Remove</em>' containment reference.
+ * @see #setPostRemove(PostRemove)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostRemove()
+ * @model containment="true"
+ * @generated
+ */
+ public PostRemove getPostRemove()
+ {
+ return postRemove;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPostRemove(PostRemove newPostRemove, NotificationChain msgs)
+ {
+ PostRemove oldPostRemove = postRemove;
+ postRemove = newPostRemove;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_REMOVE, oldPostRemove, newPostRemove);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPostRemove <em>Post Remove</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Post Remove</em>' containment reference.
+ * @see #getPostRemove()
+ * @generated
+ */
+ public void setPostRemove(PostRemove newPostRemove)
+ {
+ if (newPostRemove != postRemove)
+ {
+ NotificationChain msgs = null;
+ if (postRemove != null)
+ msgs = ((InternalEObject)postRemove).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_REMOVE, null, msgs);
+ if (newPostRemove != null)
+ msgs = ((InternalEObject)newPostRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_REMOVE, null, msgs);
+ msgs = basicSetPostRemove(newPostRemove, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_REMOVE, newPostRemove, newPostRemove));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Pre Update</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Update</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>Pre Update</em>' containment reference.
+ * @see #setPreUpdate(PreUpdate)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PreUpdate()
+ * @model containment="true"
+ * @generated
+ */
+ public PreUpdate getPreUpdate()
+ {
+ return preUpdate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPreUpdate(PreUpdate newPreUpdate, NotificationChain msgs)
+ {
+ PreUpdate oldPreUpdate = preUpdate;
+ preUpdate = newPreUpdate;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__PRE_UPDATE, oldPreUpdate, newPreUpdate);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPreUpdate <em>Pre Update</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pre Update</em>' containment reference.
+ * @see #getPreUpdate()
+ * @generated
+ */
+ public void setPreUpdate(PreUpdate newPreUpdate)
+ {
+ if (newPreUpdate != preUpdate)
+ {
+ NotificationChain msgs = null;
+ if (preUpdate != null)
+ msgs = ((InternalEObject)preUpdate).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__PRE_UPDATE, null, msgs);
+ if (newPreUpdate != null)
+ msgs = ((InternalEObject)newPreUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__PRE_UPDATE, null, msgs);
+ msgs = basicSetPreUpdate(newPreUpdate, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__PRE_UPDATE, newPreUpdate, newPreUpdate));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Post Update</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Update</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>Post Update</em>' containment reference.
+ * @see #setPostUpdate(PostUpdate)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostUpdate()
+ * @model containment="true"
+ * @generated
+ */
+ public PostUpdate getPostUpdate()
+ {
+ return postUpdate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPostUpdate(PostUpdate newPostUpdate, NotificationChain msgs)
+ {
+ PostUpdate oldPostUpdate = postUpdate;
+ postUpdate = newPostUpdate;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_UPDATE, oldPostUpdate, newPostUpdate);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPostUpdate <em>Post Update</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Post Update</em>' containment reference.
+ * @see #getPostUpdate()
+ * @generated
+ */
+ public void setPostUpdate(PostUpdate newPostUpdate)
+ {
+ if (newPostUpdate != postUpdate)
+ {
+ NotificationChain msgs = null;
+ if (postUpdate != null)
+ msgs = ((InternalEObject)postUpdate).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_UPDATE, null, msgs);
+ if (newPostUpdate != null)
+ msgs = ((InternalEObject)newPostUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_UPDATE, null, msgs);
+ msgs = basicSetPostUpdate(newPostUpdate, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_UPDATE, newPostUpdate, newPostUpdate));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Post Load</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Load</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>Post Load</em>' containment reference.
+ * @see #setPostLoad(PostLoad)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostLoad()
+ * @model containment="true"
+ * @generated
+ */
+ public PostLoad getPostLoad()
+ {
+ return postLoad;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPostLoad(PostLoad newPostLoad, NotificationChain msgs)
+ {
+ PostLoad oldPostLoad = postLoad;
+ postLoad = newPostLoad;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_LOAD, oldPostLoad, newPostLoad);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPostLoad <em>Post Load</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Post Load</em>' containment reference.
+ * @see #getPostLoad()
+ * @generated
+ */
+ public void setPostLoad(PostLoad newPostLoad)
+ {
+ if (newPostLoad != postLoad)
+ {
+ NotificationChain msgs = null;
+ if (postLoad != null)
+ msgs = ((InternalEObject)postLoad).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_LOAD, null, msgs);
+ if (newPostLoad != null)
+ msgs = ((InternalEObject)newPostLoad).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_LOAD, null, msgs);
+ msgs = basicSetPostLoad(newPostLoad, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_LOAD, newPostLoad, newPostLoad));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityListener_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ENTITY_LISTENER__PRE_PERSIST:
+ return basicSetPrePersist(null, msgs);
+ case OrmPackage.ENTITY_LISTENER__POST_PERSIST:
+ return basicSetPostPersist(null, msgs);
+ case OrmPackage.ENTITY_LISTENER__PRE_REMOVE:
+ return basicSetPreRemove(null, msgs);
+ case OrmPackage.ENTITY_LISTENER__POST_REMOVE:
+ return basicSetPostRemove(null, msgs);
+ case OrmPackage.ENTITY_LISTENER__PRE_UPDATE:
+ return basicSetPreUpdate(null, msgs);
+ case OrmPackage.ENTITY_LISTENER__POST_UPDATE:
+ return basicSetPostUpdate(null, msgs);
+ case OrmPackage.ENTITY_LISTENER__POST_LOAD:
+ return basicSetPostLoad(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 OrmPackage.ENTITY_LISTENER__PRE_PERSIST:
+ return getPrePersist();
+ case OrmPackage.ENTITY_LISTENER__POST_PERSIST:
+ return getPostPersist();
+ case OrmPackage.ENTITY_LISTENER__PRE_REMOVE:
+ return getPreRemove();
+ case OrmPackage.ENTITY_LISTENER__POST_REMOVE:
+ return getPostRemove();
+ case OrmPackage.ENTITY_LISTENER__PRE_UPDATE:
+ return getPreUpdate();
+ case OrmPackage.ENTITY_LISTENER__POST_UPDATE:
+ return getPostUpdate();
+ case OrmPackage.ENTITY_LISTENER__POST_LOAD:
+ return getPostLoad();
+ case OrmPackage.ENTITY_LISTENER__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.ENTITY_LISTENER__CLASS_NAME:
+ return getClassName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ENTITY_LISTENER__PRE_PERSIST:
+ setPrePersist((PrePersist)newValue);
+ return;
+ case OrmPackage.ENTITY_LISTENER__POST_PERSIST:
+ setPostPersist((PostPersist)newValue);
+ return;
+ case OrmPackage.ENTITY_LISTENER__PRE_REMOVE:
+ setPreRemove((PreRemove)newValue);
+ return;
+ case OrmPackage.ENTITY_LISTENER__POST_REMOVE:
+ setPostRemove((PostRemove)newValue);
+ return;
+ case OrmPackage.ENTITY_LISTENER__PRE_UPDATE:
+ setPreUpdate((PreUpdate)newValue);
+ return;
+ case OrmPackage.ENTITY_LISTENER__POST_UPDATE:
+ setPostUpdate((PostUpdate)newValue);
+ return;
+ case OrmPackage.ENTITY_LISTENER__POST_LOAD:
+ setPostLoad((PostLoad)newValue);
+ return;
+ case OrmPackage.ENTITY_LISTENER__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.ENTITY_LISTENER__CLASS_NAME:
+ setClassName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ENTITY_LISTENER__PRE_PERSIST:
+ setPrePersist((PrePersist)null);
+ return;
+ case OrmPackage.ENTITY_LISTENER__POST_PERSIST:
+ setPostPersist((PostPersist)null);
+ return;
+ case OrmPackage.ENTITY_LISTENER__PRE_REMOVE:
+ setPreRemove((PreRemove)null);
+ return;
+ case OrmPackage.ENTITY_LISTENER__POST_REMOVE:
+ setPostRemove((PostRemove)null);
+ return;
+ case OrmPackage.ENTITY_LISTENER__PRE_UPDATE:
+ setPreUpdate((PreUpdate)null);
+ return;
+ case OrmPackage.ENTITY_LISTENER__POST_UPDATE:
+ setPostUpdate((PostUpdate)null);
+ return;
+ case OrmPackage.ENTITY_LISTENER__POST_LOAD:
+ setPostLoad((PostLoad)null);
+ return;
+ case OrmPackage.ENTITY_LISTENER__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.ENTITY_LISTENER__CLASS_NAME:
+ setClassName(CLASS_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ENTITY_LISTENER__PRE_PERSIST:
+ return prePersist != null;
+ case OrmPackage.ENTITY_LISTENER__POST_PERSIST:
+ return postPersist != null;
+ case OrmPackage.ENTITY_LISTENER__PRE_REMOVE:
+ return preRemove != null;
+ case OrmPackage.ENTITY_LISTENER__POST_REMOVE:
+ return postRemove != null;
+ case OrmPackage.ENTITY_LISTENER__PRE_UPDATE:
+ return preUpdate != null;
+ case OrmPackage.ENTITY_LISTENER__POST_UPDATE:
+ return postUpdate != null;
+ case OrmPackage.ENTITY_LISTENER__POST_LOAD:
+ return postLoad != null;
+ case OrmPackage.ENTITY_LISTENER__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.ENTITY_LISTENER__CLASS_NAME:
+ return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlEntityListener_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ENTITY_LISTENER__DESCRIPTION: return OrmV2_0Package.XML_ENTITY_LISTENER_20__DESCRIPTION;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlEntityListener_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_ENTITY_LISTENER_20__DESCRIPTION: return OrmPackage.ENTITY_LISTENER__DESCRIPTION;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (description: ");
+ result.append(description);
+ result.append(", className: ");
+ result.append(className);
+ result.append(')');
+ return result.toString();
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildDescriptionTranslator(),
+ buildClassTranslator(),
+ PrePersist.buildTranslator(),
+ PostPersist.buildTranslator(),
+ PreRemove.buildTranslator(),
+ PostRemove.buildTranslator(),
+ PreUpdate.buildTranslator(),
+ PostUpdate.buildTranslator(),
+ PostLoad.buildTranslator()
+ };
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA2_0.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlEntityListener_2_0_Description());
+ }
+
+ protected static Translator buildClassTranslator() {
+ return new Translator(JPA.CLASS, OrmPackage.eINSTANCE.getEntityListener_ClassName());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListeners.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListeners.java
new file mode 100644
index 0000000000..5993dde3d3
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListeners.java
@@ -0,0 +1,200 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Listeners</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListeners#getEntityListeners <em>Entity Listeners</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListeners()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class EntityListeners extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The cached value of the '{@link #getEntityListeners() <em>Entity Listeners</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEntityListeners()
+ * @generated
+ * @ordered
+ */
+ protected EList<EntityListener> entityListeners;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EntityListeners()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ENTITY_LISTENERS;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Entity Listeners</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Entity Listeners</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>Entity Listeners</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListeners_EntityListeners()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EntityListener> getEntityListeners()
+ {
+ if (entityListeners == null)
+ {
+ entityListeners = new EObjectContainmentEList<EntityListener>(EntityListener.class, this, OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENERS);
+ }
+ return entityListeners;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENERS:
+ return ((InternalEList<?>)getEntityListeners()).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 OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENERS:
+ return getEntityListeners();
+ }
+ 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 OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENERS:
+ getEntityListeners().clear();
+ getEntityListeners().addAll((Collection<? extends EntityListener>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENERS:
+ getEntityListeners().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENERS:
+ return entityListeners != null && !entityListeners.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ EntityListener.buildTranslator(JPA.ENTITY_LISTENER, OrmPackage.eINSTANCE.getEntityListeners_EntityListeners())
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityResult.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityResult.java
new file mode 100644
index 0000000000..516b7238e7
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityResult.java
@@ -0,0 +1,363 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Result</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getDiscriminatorColumn <em>Discriminator Column</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getEntityClass <em>Entity Class</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getFieldResults <em>Field Results</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityResult()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class EntityResult extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getDiscriminatorColumn() <em>Discriminator Column</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDiscriminatorColumn()
+ * @generated
+ * @ordered
+ */
+ protected static final String DISCRIMINATOR_COLUMN_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDiscriminatorColumn() <em>Discriminator Column</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDiscriminatorColumn()
+ * @generated
+ * @ordered
+ */
+ protected String discriminatorColumn = DISCRIMINATOR_COLUMN_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getEntityClass() <em>Entity Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEntityClass()
+ * @generated
+ * @ordered
+ */
+ protected static final String ENTITY_CLASS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEntityClass() <em>Entity Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEntityClass()
+ * @generated
+ * @ordered
+ */
+ protected String entityClass = ENTITY_CLASS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getFieldResults() <em>Field Results</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFieldResults()
+ * @generated
+ * @ordered
+ */
+ protected EList<FieldResult> fieldResults;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EntityResult()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ENTITY_RESULT;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Discriminator Column</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Discriminator Column</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 Column</em>' attribute.
+ * @see #setDiscriminatorColumn(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityResult_DiscriminatorColumn()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDiscriminatorColumn()
+ {
+ return discriminatorColumn;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getDiscriminatorColumn <em>Discriminator Column</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Discriminator Column</em>' attribute.
+ * @see #getDiscriminatorColumn()
+ * @generated
+ */
+ public void setDiscriminatorColumn(String newDiscriminatorColumn)
+ {
+ String oldDiscriminatorColumn = discriminatorColumn;
+ discriminatorColumn = newDiscriminatorColumn;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_RESULT__DISCRIMINATOR_COLUMN, oldDiscriminatorColumn, discriminatorColumn));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Entity Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Entity Class</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Entity Class</em>' attribute.
+ * @see #setEntityClass(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityResult_EntityClass()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getEntityClass()
+ {
+ return entityClass;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getEntityClass <em>Entity Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Entity Class</em>' attribute.
+ * @see #getEntityClass()
+ * @generated
+ */
+ public void setEntityClass(String newEntityClass)
+ {
+ String oldEntityClass = entityClass;
+ entityClass = newEntityClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_RESULT__ENTITY_CLASS, oldEntityClass, entityClass));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Field Results</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Field Results</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>Field Results</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityResult_FieldResults()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<FieldResult> getFieldResults()
+ {
+ if (fieldResults == null)
+ {
+ fieldResults = new EObjectContainmentEList<FieldResult>(FieldResult.class, this, OrmPackage.ENTITY_RESULT__FIELD_RESULTS);
+ }
+ return fieldResults;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ENTITY_RESULT__FIELD_RESULTS:
+ return ((InternalEList<?>)getFieldResults()).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 OrmPackage.ENTITY_RESULT__DISCRIMINATOR_COLUMN:
+ return getDiscriminatorColumn();
+ case OrmPackage.ENTITY_RESULT__ENTITY_CLASS:
+ return getEntityClass();
+ case OrmPackage.ENTITY_RESULT__FIELD_RESULTS:
+ return getFieldResults();
+ }
+ 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 OrmPackage.ENTITY_RESULT__DISCRIMINATOR_COLUMN:
+ setDiscriminatorColumn((String)newValue);
+ return;
+ case OrmPackage.ENTITY_RESULT__ENTITY_CLASS:
+ setEntityClass((String)newValue);
+ return;
+ case OrmPackage.ENTITY_RESULT__FIELD_RESULTS:
+ getFieldResults().clear();
+ getFieldResults().addAll((Collection<? extends FieldResult>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ENTITY_RESULT__DISCRIMINATOR_COLUMN:
+ setDiscriminatorColumn(DISCRIMINATOR_COLUMN_EDEFAULT);
+ return;
+ case OrmPackage.ENTITY_RESULT__ENTITY_CLASS:
+ setEntityClass(ENTITY_CLASS_EDEFAULT);
+ return;
+ case OrmPackage.ENTITY_RESULT__FIELD_RESULTS:
+ getFieldResults().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ENTITY_RESULT__DISCRIMINATOR_COLUMN:
+ return DISCRIMINATOR_COLUMN_EDEFAULT == null ? discriminatorColumn != null : !DISCRIMINATOR_COLUMN_EDEFAULT.equals(discriminatorColumn);
+ case OrmPackage.ENTITY_RESULT__ENTITY_CLASS:
+ return ENTITY_CLASS_EDEFAULT == null ? entityClass != null : !ENTITY_CLASS_EDEFAULT.equals(entityClass);
+ case OrmPackage.ENTITY_RESULT__FIELD_RESULTS:
+ return fieldResults != null && !fieldResults.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(" (discriminatorColumn: ");
+ result.append(discriminatorColumn);
+ result.append(", entityClass: ");
+ result.append(entityClass);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildEntityClassTranslator(),
+ buildDiscriminatorColumnTranslator(),
+ FieldResult.buildTranslator(JPA.FIELD_RESULT, OrmPackage.eINSTANCE.getEntityResult_FieldResults()),
+ };
+ }
+
+ protected static Translator buildEntityClassTranslator() {
+ return new Translator(JPA.ENTITY_CLASS, OrmPackage.eINSTANCE.getEntityResult_EntityClass(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildDiscriminatorColumnTranslator() {
+ return new Translator(JPA.DISCRIMINATOR_COLUMN, OrmPackage.eINSTANCE.getEntityResult_DiscriminatorColumn(), Translator.DOM_ATTRIBUTE);
+ }
+} // EntityResult
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EnumType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EnumType.java
new file mode 100644
index 0000000000..7b3cc29f98
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EnumType.java
@@ -0,0 +1,235 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#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/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EventMethod.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EventMethod.java
new file mode 100644
index 0000000000..8872df4129
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EventMethod.java
@@ -0,0 +1,285 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Event Method</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.EventMethod#getMethodName <em>Method Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEventMethod()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class EventMethod extends EBaseObjectImpl implements XmlEventMethod_2_0
+{
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+ /**
+ * The default value of the '{@link #getMethodName() <em>Method Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMethodName()
+ * @generated
+ * @ordered
+ */
+ protected static final String METHOD_NAME_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getMethodName() <em>Method Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMethodName()
+ * @generated
+ * @ordered
+ */
+ protected String methodName = METHOD_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EventMethod()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.EVENT_METHOD;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethod_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EventMethod#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.EVENT_METHOD__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Method Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Method 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>Method Name</em>' attribute.
+ * @see #setMethodName(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEventMethod_MethodName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getMethodName() {
+ return methodName;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EventMethod#getMethodName <em>Method Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Method Name</em>' attribute.
+ * @see #getMethodName()
+ * @generated
+ */
+ public void setMethodName(String newMethodName) {
+ String oldMethodName = methodName;
+ methodName = newMethodName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.EVENT_METHOD__METHOD_NAME, oldMethodName, methodName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.EVENT_METHOD__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.EVENT_METHOD__METHOD_NAME:
+ return getMethodName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.EVENT_METHOD__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.EVENT_METHOD__METHOD_NAME:
+ setMethodName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.EVENT_METHOD__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.EVENT_METHOD__METHOD_NAME:
+ setMethodName(METHOD_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.EVENT_METHOD__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.EVENT_METHOD__METHOD_NAME:
+ return METHOD_NAME_EDEFAULT == null ? methodName != null : !METHOD_NAME_EDEFAULT.equals(methodName);
+ }
+ 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(" (description: ");
+ result.append(description);
+ result.append(", methodName: ");
+ result.append(methodName);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** translators **********
+
+ protected static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildMethodNameTranslator(),
+ buildDescriptionTranslator()
+ };
+ }
+
+ protected static Translator buildMethodNameTranslator() {
+ return new Translator(JPA.METHOD_NAME, OrmPackage.eINSTANCE.getEventMethod_MethodName(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA2_0.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlEventMethod_2_0_Description());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FetchType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FetchType.java
new file mode 100644
index 0000000000..5f77353477
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FetchType.java
@@ -0,0 +1,235 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#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>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;
+
+ /**
+ * 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,
+ };
+
+ /**
+ * 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;
+ }
+ 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/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FieldResult.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FieldResult.java
new file mode 100644
index 0000000000..4a39fd443a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FieldResult.java
@@ -0,0 +1,294 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Field Result</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getFieldResult()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class FieldResult extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * 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 #getColumn() <em>Column</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumn()
+ * @generated
+ * @ordered
+ */
+ protected static final String COLUMN_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getColumn() <em>Column</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumn()
+ * @generated
+ * @ordered
+ */
+ protected String column = COLUMN_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FieldResult()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.FIELD_RESULT;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getFieldResult_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.FIELD_RESULT__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Column</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Column</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</em>' attribute.
+ * @see #setColumn(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getFieldResult_Column()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getColumn()
+ {
+ return column;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getColumn <em>Column</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Column</em>' attribute.
+ * @see #getColumn()
+ * @generated
+ */
+ public void setColumn(String newColumn)
+ {
+ String oldColumn = column;
+ column = newColumn;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.FIELD_RESULT__COLUMN, oldColumn, column));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.FIELD_RESULT__NAME:
+ return getName();
+ case OrmPackage.FIELD_RESULT__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 OrmPackage.FIELD_RESULT__NAME:
+ setName((String)newValue);
+ return;
+ case OrmPackage.FIELD_RESULT__COLUMN:
+ setColumn((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.FIELD_RESULT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OrmPackage.FIELD_RESULT__COLUMN:
+ setColumn(COLUMN_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.FIELD_RESULT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OrmPackage.FIELD_RESULT__COLUMN:
+ return COLUMN_EDEFAULT == null ? column != null : !COLUMN_EDEFAULT.equals(column);
+ }
+ 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(", column: ");
+ result.append(column);
+ result.append(')');
+ return result.toString();
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ createColumnTranslator()
+ };
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getFieldResult_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator createColumnTranslator() {
+ return new Translator(JPA.COLUMN, OrmPackage.eINSTANCE.getFieldResult_Column(), Translator.DOM_ATTRIBUTE);
+ }
+
+} // FieldResult
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/GenerationType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/GenerationType.java
new file mode 100644
index 0000000000..383484cdfc
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/GenerationType.java
@@ -0,0 +1,289 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#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>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;
+
+ /**
+ * 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,
+ };
+
+ /**
+ * 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;
+ }
+ 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/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Inheritance.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Inheritance.java
new file mode 100644
index 0000000000..9847c5ff8d
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Inheritance.java
@@ -0,0 +1,231 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Inheritance</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Inheritance#getStrategy <em>Strategy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getInheritance()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class Inheritance extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final InheritanceType STRATEGY_EDEFAULT = null;
+
+ /**
+ * 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 Inheritance()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.INHERITANCE;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.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.jpt.jpa.core.resource.orm.InheritanceType
+ * @see #setStrategy(InheritanceType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getInheritance_Strategy()
+ * @model default="SINGLE_TABLE"
+ * @generated
+ */
+ public InheritanceType getStrategy()
+ {
+ return strategy;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.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.jpt.jpa.core.resource.orm.InheritanceType
+ * @see #getStrategy()
+ * @generated
+ */
+ public void setStrategy(InheritanceType newStrategy)
+ {
+ InheritanceType oldStrategy = strategy;
+ strategy = newStrategy == null ? STRATEGY_EDEFAULT : newStrategy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.INHERITANCE__STRATEGY, oldStrategy, strategy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.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 OrmPackage.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 OrmPackage.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 OrmPackage.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();
+ }
+
+ public TextRange getStrategyTextRange() {
+ return getAttributeTextRange(JPA.STRATEGY);
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren()
+ );
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildStrategyTranslator(),
+ };
+ }
+
+ protected static Translator buildStrategyTranslator() {
+ return new Translator(JPA.STRATEGY, OrmPackage.eINSTANCE.getInheritance_Strategy(), Translator.DOM_ATTRIBUTE);
+ }
+
+} // Inheritance
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/InheritanceType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/InheritanceType.java
new file mode 100644
index 0000000000..e290ddfa18
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/InheritanceType.java
@@ -0,0 +1,260 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#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>JOINED</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #JOINED_VALUE
+ * @generated
+ * @ordered
+ */
+ JOINED(1, "JOINED", "JOINED"),
+
+ /**
+ * 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(2, "TABLE_PER_CLASS", "TABLE_PER_CLASS");
+
+ /**
+ * 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>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 = 1;
+
+ /**
+ * 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 = 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,
+ JOINED,
+ TABLE_PER_CLASS,
+ };
+
+ /**
+ * 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 JOINED_VALUE: return JOINED;
+ case TABLE_PER_CLASS_VALUE: return TABLE_PER_CLASS;
+ }
+ 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/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Lob.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Lob.java
new file mode 100644
index 0000000000..a6f0ba64dc
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Lob.java
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lob</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getLob()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class Lob extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Lob()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.LOB;
+ }
+
+} // Lob
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/MapKey.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/MapKey.java
new file mode 100644
index 0000000000..53abbea890
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/MapKey.java
@@ -0,0 +1,232 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Map Key</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.MapKey#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getMapKey()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class MapKey extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * 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 MapKey()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.MAP_KEY;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getMapKey_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.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
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.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 OrmPackage.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 OrmPackage.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 OrmPackage.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 OrmPackage.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();
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ };
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getMapKey_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ // ********** content assist ***************
+
+ public TextRange getMapKeyNameCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.NAME);
+ }
+
+ public boolean mapKeyNameTouches(int pos) {
+ TextRange textRange = this.getMapKeyNameCodeAssistTextRange();
+ return (textRange != null) && textRange.touches(pos);
+ }
+} // MapKey
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmFactory.java
new file mode 100644
index 0000000000..bc6a519b1d
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmFactory.java
@@ -0,0 +1,944 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2012 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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;
+
+/**
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage
+ * @generated
+ */
+public class OrmFactory extends EFactoryImpl
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final OrmFactory eINSTANCE = init();
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OrmFactory init()
+ {
+ try
+ {
+ OrmFactory theOrmFactory = (OrmFactory)EPackage.Registry.INSTANCE.getEFactory("jpt.orm.xmi");
+ if (theOrmFactory != null)
+ {
+ return theOrmFactory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new OrmFactory();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OrmFactory()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE: return (EObject)createXmlAssociationOverride();
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE: return (EObject)createXmlAttributeOverride();
+ case OrmPackage.ATTRIBUTES: return (EObject)createAttributes();
+ case OrmPackage.XML_BASIC: return (EObject)createXmlBasic();
+ case OrmPackage.CASCADE_TYPE: return (EObject)createCascadeType();
+ case OrmPackage.XML_CLASS_REFERENCE: return (EObject)createXmlClassReference();
+ case OrmPackage.XML_COLLECTION_TABLE: return (EObject)createXmlCollectionTable();
+ case OrmPackage.XML_COLUMN: return (EObject)createXmlColumn();
+ case OrmPackage.COLUMN_RESULT: return (EObject)createColumnResult();
+ case OrmPackage.XML_DISCRIMINATOR_COLUMN: return (EObject)createXmlDiscriminatorColumn();
+ case OrmPackage.XML_ELEMENT_COLLECTION: return (EObject)createXmlElementCollection();
+ case OrmPackage.XML_EMBEDDABLE: return (EObject)createXmlEmbeddable();
+ case OrmPackage.XML_EMBEDDED: return (EObject)createXmlEmbedded();
+ case OrmPackage.XML_EMBEDDED_ID: return (EObject)createXmlEmbeddedId();
+ case OrmPackage.XML_ENTITY: return (EObject)createXmlEntity();
+ case OrmPackage.ENTITY_LISTENER: return (EObject)createEntityListener();
+ case OrmPackage.ENTITY_LISTENERS: return (EObject)createEntityListeners();
+ case OrmPackage.XML_ENTITY_MAPPINGS: return (EObject)createXmlEntityMappings();
+ case OrmPackage.ENTITY_RESULT: return (EObject)createEntityResult();
+ case OrmPackage.FIELD_RESULT: return (EObject)createFieldResult();
+ case OrmPackage.XML_GENERATED_VALUE: return (EObject)createXmlGeneratedValue();
+ case OrmPackage.XML_ID: return (EObject)createXmlId();
+ case OrmPackage.INHERITANCE: return (EObject)createInheritance();
+ case OrmPackage.XML_JOIN_COLUMN: return (EObject)createXmlJoinColumn();
+ case OrmPackage.XML_JOIN_TABLE: return (EObject)createXmlJoinTable();
+ case OrmPackage.LOB: return (EObject)createLob();
+ case OrmPackage.XML_MANY_TO_MANY: return (EObject)createXmlManyToMany();
+ case OrmPackage.XML_MANY_TO_ONE: return (EObject)createXmlManyToOne();
+ case OrmPackage.MAP_KEY: return (EObject)createMapKey();
+ case OrmPackage.XML_MAPPED_SUPERCLASS: return (EObject)createXmlMappedSuperclass();
+ case OrmPackage.XML_NAMED_NATIVE_QUERY: return (EObject)createXmlNamedNativeQuery();
+ case OrmPackage.XML_NAMED_QUERY: return (EObject)createXmlNamedQuery();
+ case OrmPackage.XML_ONE_TO_MANY: return (EObject)createXmlOneToMany();
+ case OrmPackage.XML_ONE_TO_ONE: return (EObject)createXmlOneToOne();
+ case OrmPackage.XML_ORDER_COLUMN: return (EObject)createXmlOrderColumn();
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS: return (EObject)createXmlPersistenceUnitDefaults();
+ case OrmPackage.XML_PERSISTENCE_UNIT_METADATA: return (EObject)createXmlPersistenceUnitMetadata();
+ case OrmPackage.POST_LOAD: return (EObject)createPostLoad();
+ case OrmPackage.POST_PERSIST: return (EObject)createPostPersist();
+ case OrmPackage.POST_REMOVE: return (EObject)createPostRemove();
+ case OrmPackage.POST_UPDATE: return (EObject)createPostUpdate();
+ case OrmPackage.PRE_PERSIST: return (EObject)createPrePersist();
+ case OrmPackage.PRE_REMOVE: return (EObject)createPreRemove();
+ case OrmPackage.PRE_UPDATE: return (EObject)createPreUpdate();
+ case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN: return (EObject)createXmlPrimaryKeyJoinColumn();
+ case OrmPackage.XML_QUERY_HINT: return (EObject)createXmlQueryHint();
+ case OrmPackage.XML_SECONDARY_TABLE: return (EObject)createXmlSecondaryTable();
+ case OrmPackage.XML_SEQUENCE_GENERATOR: return (EObject)createXmlSequenceGenerator();
+ case OrmPackage.SQL_RESULT_SET_MAPPING: return (EObject)createSqlResultSetMapping();
+ case OrmPackage.XML_TABLE: return (EObject)createXmlTable();
+ case OrmPackage.XML_TABLE_GENERATOR: return (EObject)createXmlTableGenerator();
+ case OrmPackage.XML_TRANSIENT: return (EObject)createXmlTransient();
+ case OrmPackage.XML_UNIQUE_CONSTRAINT: return (EObject)createXmlUniqueConstraint();
+ case OrmPackage.XML_VERSION: return (EObject)createXmlVersion();
+ 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 OrmPackage.DISCRIMINATOR_TYPE:
+ return createDiscriminatorTypeFromString(eDataType, initialValue);
+ case OrmPackage.ENUM_TYPE:
+ return createEnumTypeFromString(eDataType, initialValue);
+ case OrmPackage.FETCH_TYPE:
+ return createFetchTypeFromString(eDataType, initialValue);
+ case OrmPackage.GENERATION_TYPE:
+ return createGenerationTypeFromString(eDataType, initialValue);
+ case OrmPackage.INHERITANCE_TYPE:
+ return createInheritanceTypeFromString(eDataType, initialValue);
+ case OrmPackage.TEMPORAL_TYPE:
+ return createTemporalTypeFromString(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 OrmPackage.DISCRIMINATOR_TYPE:
+ return convertDiscriminatorTypeToString(eDataType, instanceValue);
+ case OrmPackage.ENUM_TYPE:
+ return convertEnumTypeToString(eDataType, instanceValue);
+ case OrmPackage.FETCH_TYPE:
+ return convertFetchTypeToString(eDataType, instanceValue);
+ case OrmPackage.GENERATION_TYPE:
+ return convertGenerationTypeToString(eDataType, instanceValue);
+ case OrmPackage.INHERITANCE_TYPE:
+ return convertInheritanceTypeToString(eDataType, instanceValue);
+ case OrmPackage.TEMPORAL_TYPE:
+ return convertTemporalTypeToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlAssociationOverride createXmlAssociationOverride()
+ {
+ XmlAssociationOverride xmlAssociationOverride = new XmlAssociationOverride();
+ return xmlAssociationOverride;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlAttributeOverride createXmlAttributeOverride()
+ {
+ XmlAttributeOverride xmlAttributeOverride = new XmlAttributeOverride();
+ return xmlAttributeOverride;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Attributes createAttributes()
+ {
+ Attributes attributes = new Attributes();
+ return attributes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlBasic createXmlBasic()
+ {
+ XmlBasic xmlBasic = new XmlBasic();
+ return xmlBasic;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CascadeType createCascadeType()
+ {
+ CascadeType cascadeType = new CascadeType();
+ return cascadeType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlClassReference createXmlClassReference()
+ {
+ XmlClassReference xmlClassReference = new XmlClassReference();
+ return xmlClassReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlCollectionTable createXmlCollectionTable()
+ {
+ XmlCollectionTable xmlCollectionTable = new XmlCollectionTable();
+ return xmlCollectionTable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlColumn createXmlColumn()
+ {
+ XmlColumn xmlColumn = new XmlColumn();
+ return xmlColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ColumnResult createColumnResult()
+ {
+ ColumnResult columnResult = new ColumnResult();
+ return columnResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlDiscriminatorColumn createXmlDiscriminatorColumn()
+ {
+ XmlDiscriminatorColumn xmlDiscriminatorColumn = new XmlDiscriminatorColumn();
+ return xmlDiscriminatorColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlElementCollection createXmlElementCollection()
+ {
+ XmlElementCollection xmlElementCollection = new XmlElementCollection();
+ return xmlElementCollection;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlEmbeddable createXmlEmbeddable()
+ {
+ XmlEmbeddable xmlEmbeddable = new XmlEmbeddable();
+ return xmlEmbeddable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlEmbedded createXmlEmbedded()
+ {
+ XmlEmbedded xmlEmbedded = new XmlEmbedded();
+ return xmlEmbedded;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlEmbeddedId createXmlEmbeddedId()
+ {
+ XmlEmbeddedId xmlEmbeddedId = new XmlEmbeddedId();
+ return xmlEmbeddedId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlEntity createXmlEntity()
+ {
+ XmlEntity xmlEntity = new XmlEntity();
+ return xmlEntity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EntityListener createEntityListener()
+ {
+ EntityListener entityListener = new EntityListener();
+ return entityListener;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EntityListeners createEntityListeners()
+ {
+ EntityListeners entityListeners = new EntityListeners();
+ return entityListeners;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlEntityMappings createXmlEntityMappings()
+ {
+ XmlEntityMappings xmlEntityMappings = new XmlEntityMappings();
+ return xmlEntityMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EntityResult createEntityResult()
+ {
+ EntityResult entityResult = new EntityResult();
+ return entityResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FieldResult createFieldResult()
+ {
+ FieldResult fieldResult = new FieldResult();
+ return fieldResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlGeneratedValue createXmlGeneratedValue()
+ {
+ XmlGeneratedValue xmlGeneratedValue = new XmlGeneratedValue();
+ return xmlGeneratedValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlId createXmlId()
+ {
+ XmlId xmlId = new XmlId();
+ return xmlId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Inheritance createInheritance()
+ {
+ Inheritance inheritance = new Inheritance();
+ return inheritance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlJoinColumn createXmlJoinColumn()
+ {
+ XmlJoinColumn xmlJoinColumn = new XmlJoinColumn();
+ return xmlJoinColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlJoinTable createXmlJoinTable()
+ {
+ XmlJoinTable xmlJoinTable = new XmlJoinTable();
+ return xmlJoinTable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lob createLob()
+ {
+ Lob lob = new Lob();
+ return lob;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlManyToMany createXmlManyToMany()
+ {
+ XmlManyToMany xmlManyToMany = new XmlManyToMany();
+ return xmlManyToMany;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlManyToOne createXmlManyToOne()
+ {
+ XmlManyToOne xmlManyToOne = new XmlManyToOne();
+ return xmlManyToOne;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MapKey createMapKey()
+ {
+ MapKey mapKey = new MapKey();
+ return mapKey;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlMappedSuperclass createXmlMappedSuperclass()
+ {
+ XmlMappedSuperclass xmlMappedSuperclass = new XmlMappedSuperclass();
+ return xmlMappedSuperclass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlNamedNativeQuery createXmlNamedNativeQuery()
+ {
+ XmlNamedNativeQuery xmlNamedNativeQuery = new XmlNamedNativeQuery();
+ return xmlNamedNativeQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlNamedQuery createXmlNamedQuery()
+ {
+ XmlNamedQuery xmlNamedQuery = new XmlNamedQuery();
+ return xmlNamedQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlOneToMany createXmlOneToMany()
+ {
+ XmlOneToMany xmlOneToMany = new XmlOneToMany();
+ return xmlOneToMany;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlOneToOne createXmlOneToOne()
+ {
+ XmlOneToOne xmlOneToOne = new XmlOneToOne();
+ return xmlOneToOne;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlOrderColumn createXmlOrderColumn()
+ {
+ XmlOrderColumn xmlOrderColumn = new XmlOrderColumn();
+ return xmlOrderColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlPersistenceUnitDefaults createXmlPersistenceUnitDefaults()
+ {
+ XmlPersistenceUnitDefaults xmlPersistenceUnitDefaults = new XmlPersistenceUnitDefaults();
+ return xmlPersistenceUnitDefaults;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlPersistenceUnitMetadata createXmlPersistenceUnitMetadata()
+ {
+ XmlPersistenceUnitMetadata xmlPersistenceUnitMetadata = new XmlPersistenceUnitMetadata();
+ return xmlPersistenceUnitMetadata;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PostLoad createPostLoad()
+ {
+ PostLoad postLoad = new PostLoad();
+ return postLoad;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PostPersist createPostPersist()
+ {
+ PostPersist postPersist = new PostPersist();
+ return postPersist;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PostRemove createPostRemove()
+ {
+ PostRemove postRemove = new PostRemove();
+ return postRemove;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PostUpdate createPostUpdate()
+ {
+ PostUpdate postUpdate = new PostUpdate();
+ return postUpdate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PrePersist createPrePersist()
+ {
+ PrePersist prePersist = new PrePersist();
+ return prePersist;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PreRemove createPreRemove()
+ {
+ PreRemove preRemove = new PreRemove();
+ return preRemove;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PreUpdate createPreUpdate()
+ {
+ PreUpdate preUpdate = new PreUpdate();
+ return preUpdate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlPrimaryKeyJoinColumn createXmlPrimaryKeyJoinColumn()
+ {
+ XmlPrimaryKeyJoinColumn xmlPrimaryKeyJoinColumn = new XmlPrimaryKeyJoinColumn();
+ return xmlPrimaryKeyJoinColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlQueryHint createXmlQueryHint()
+ {
+ XmlQueryHint xmlQueryHint = new XmlQueryHint();
+ return xmlQueryHint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlSecondaryTable createXmlSecondaryTable()
+ {
+ XmlSecondaryTable xmlSecondaryTable = new XmlSecondaryTable();
+ return xmlSecondaryTable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlSequenceGenerator createXmlSequenceGenerator()
+ {
+ XmlSequenceGenerator xmlSequenceGenerator = new XmlSequenceGenerator();
+ return xmlSequenceGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SqlResultSetMapping createSqlResultSetMapping()
+ {
+ SqlResultSetMapping sqlResultSetMapping = new SqlResultSetMapping();
+ return sqlResultSetMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlTable createXmlTable()
+ {
+ XmlTable xmlTable = new XmlTable();
+ return xmlTable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlTableGenerator createXmlTableGenerator()
+ {
+ XmlTableGenerator xmlTableGenerator = new XmlTableGenerator();
+ return xmlTableGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlTransient createXmlTransient()
+ {
+ XmlTransient xmlTransient = new XmlTransient();
+ return xmlTransient;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlUniqueConstraint createXmlUniqueConstraint()
+ {
+ XmlUniqueConstraint xmlUniqueConstraint = new XmlUniqueConstraint();
+ return xmlUniqueConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlVersion createXmlVersion()
+ {
+ XmlVersion xmlVersion = new XmlVersion();
+ return xmlVersion;
+ }
+
+ /**
+ * <!-- 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 OrmPackage getOrmPackage()
+ {
+ return (OrmPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static OrmPackage getPackage()
+ {
+ return OrmPackage.eINSTANCE;
+ }
+
+} //OrmFactory
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmPackage.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmPackage.java
new file mode 100644
index 0000000000..873c29c57c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmPackage.java
@@ -0,0 +1,12962 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+import org.eclipse.jpt.common.core.resource.xml.CommonPackage;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage;
+import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package;
+
+/**
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmFactory
+ * @model kind="package"
+ * @generated
+ */
+public class OrmPackage extends EPackageImpl
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNAME = "orm";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_URI = "jpt.orm.xmi";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_PREFIX = "org.eclipse.jpt.jpa.core.resource.orm";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final OrmPackage eINSTANCE = org.eclipse.jpt.jpa.core.resource.orm.OrmPackage.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder <em>Xml Access Holder</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder()
+ * @generated
+ */
+ public static final int XML_ACCESS_HOLDER = 15;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ACCESS_HOLDER__ACCESS = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Access Holder</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ACCESS_HOLDER_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping <em>Xml Attribute Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeMapping()
+ * @generated
+ */
+ public static final int XML_ATTRIBUTE_MAPPING = 16;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTE_MAPPING__ACCESS = OrmV2_0Package.XML_ATTRIBUTE_MAPPING_20__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTE_MAPPING__NAME = OrmV2_0Package.XML_ATTRIBUTE_MAPPING_20_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Attribute Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTE_MAPPING_FEATURE_COUNT = OrmV2_0Package.XML_ATTRIBUTE_MAPPING_20_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping <em>Abstract Xml Attribute Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlAttributeMapping()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_ATTRIBUTE_MAPPING = 0;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS = XML_ATTRIBUTE_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME = XML_ATTRIBUTE_MAPPING__NAME;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Attribute Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn <em>Xml Named Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedColumn()
+ * @generated
+ */
+ public static final int XML_NAMED_COLUMN = 6;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_COLUMN__COLUMN_DEFINITION = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_COLUMN__NAME = 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Named Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_COLUMN_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn <em>Xml Base Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn()
+ * @generated
+ */
+ public static final int XML_BASE_COLUMN = 1;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_COLUMN__COLUMN_DEFINITION = XML_NAMED_COLUMN__COLUMN_DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_COLUMN__NAME = XML_NAMED_COLUMN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Insertable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_COLUMN__INSERTABLE = XML_NAMED_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Nullable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_COLUMN__NULLABLE = XML_NAMED_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_COLUMN__TABLE = XML_NAMED_COLUMN_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_COLUMN__UNIQUE = XML_NAMED_COLUMN_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Updatable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_COLUMN__UPDATABLE = XML_NAMED_COLUMN_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Xml Base Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_COLUMN_FEATURE_COUNT = XML_NAMED_COLUMN_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlNamedColumn <em>Abstract Xml Named Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlNamedColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlNamedColumn()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_NAMED_COLUMN = 9;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION = XML_NAMED_COLUMN__COLUMN_DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_NAMED_COLUMN__NAME = XML_NAMED_COLUMN__NAME;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Named Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT = XML_NAMED_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn <em>Abstract Xml Base Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlBaseColumn()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_BASE_COLUMN = 2;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_COLUMN__COLUMN_DEFINITION = ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_COLUMN__NAME = ABSTRACT_XML_NAMED_COLUMN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Insertable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_COLUMN__INSERTABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Nullable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_COLUMN__NULLABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_COLUMN__TABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_COLUMN__UNIQUE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Updatable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_COLUMN__UPDATABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Base Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn <em>Abstract Xml Base Discriminator Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlBaseDiscriminatorColumn()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN = 3;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__COLUMN_DEFINITION = ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__NAME = ABSTRACT_XML_NAMED_COLUMN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Discriminator Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Length</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Base Discriminator Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN_FEATURE_COUNT = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlEmbedded <em>Abstract Xml Embedded</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlEmbedded
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlEmbedded()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_EMBEDDED = 4;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_EMBEDDED__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_EMBEDDED__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Embedded</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_EMBEDDED_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping <em>Abstract Xml Relationship Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlRelationshipMapping()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_RELATIONSHIP_MAPPING = 10;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_RELATIONSHIP_MAPPING__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_RELATIONSHIP_MAPPING__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Cascade</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Relationship Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping <em>Abstract Xml Multi Relationship Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlMultiRelationshipMapping()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING = 5;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ACCESS = ABSTRACT_XML_RELATIONSHIP_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__NAME = ABSTRACT_XML_RELATIONSHIP_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__TARGET_ENTITY = ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__FETCH = ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH;
+
+ /**
+ * The feature id for the '<em><b>Cascade</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__CASCADE = ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE;
+
+ /**
+ * The feature id for the '<em><b>Mapped By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Order Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Order By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Map Key Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Map Key Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Map Key</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 10;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Multi Relationship Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn <em>Xml Base Discriminator Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn()
+ * @generated
+ */
+ public static final int XML_BASE_DISCRIMINATOR_COLUMN = 7;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_DISCRIMINATOR_COLUMN__COLUMN_DEFINITION = XML_NAMED_COLUMN__COLUMN_DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_DISCRIMINATOR_COLUMN__NAME = XML_NAMED_COLUMN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Discriminator Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE = XML_NAMED_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Length</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_DISCRIMINATOR_COLUMN__LENGTH = XML_NAMED_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Base Discriminator Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_DISCRIMINATOR_COLUMN_FEATURE_COUNT = XML_NAMED_COLUMN_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn <em>Xml Base Join Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseJoinColumn()
+ * @generated
+ */
+ public static final int XML_BASE_JOIN_COLUMN = 8;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_JOIN_COLUMN__COLUMN_DEFINITION = XML_NAMED_COLUMN__COLUMN_DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_JOIN_COLUMN__NAME = XML_NAMED_COLUMN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Referenced Column Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_JOIN_COLUMN__REFERENCED_COLUMN_NAME = XML_NAMED_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Base Join Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_JOIN_COLUMN_FEATURE_COUNT = XML_NAMED_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping <em>Abstract Xml Single Relationship Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlSingleRelationshipMapping()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING = 11;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ACCESS = ABSTRACT_XML_RELATIONSHIP_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__NAME = ABSTRACT_XML_RELATIONSHIP_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__TARGET_ENTITY = ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__FETCH = ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH;
+
+ /**
+ * The feature id for the '<em><b>Cascade</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__CASCADE = ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE;
+
+ /**
+ * The feature id for the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE = ABSTRACT_XML_RELATIONSHIP_MAPPING_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
+ */
+ public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Maps Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Optional</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Single Relationship Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable <em>Abstract Xml Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_TABLE = 13;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_TABLE__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_TABLE__CATALOG = 1;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_TABLE__SCHEMA = 2;
+
+ /**
+ * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS = 3;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Table</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_TABLE_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping <em>Xml Type Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping()
+ * @generated
+ */
+ public static final int XML_TYPE_MAPPING = 88;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping <em>Abstract Xml Type Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTypeMapping()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_TYPE_MAPPING = 14;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride <em>Xml Association Override</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverride()
+ * @generated
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE = 17;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer <em>Xml Association Override Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer()
+ * @generated
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE_CONTAINER = 18;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride <em>Xml Attribute Override</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverride()
+ * @generated
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE = 19;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer <em>Xml Attribute Override Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer()
+ * @generated
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE_CONTAINER = 20;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes <em>Attributes</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes()
+ * @generated
+ */
+ public static final int ATTRIBUTES = 21;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic <em>Xml Basic</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBasic
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBasic()
+ * @generated
+ */
+ public static final int XML_BASIC = 22;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType <em>Cascade Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType()
+ * @generated
+ */
+ public static final int CASCADE_TYPE = 23;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlReferenceTable <em>Abstract Xml Reference Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlReferenceTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlReferenceTable()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_REFERENCE_TABLE = 12;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_REFERENCE_TABLE__NAME = ABSTRACT_XML_TABLE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_REFERENCE_TABLE__CATALOG = ABSTRACT_XML_TABLE__CATALOG;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_REFERENCE_TABLE__SCHEMA = ABSTRACT_XML_TABLE__SCHEMA;
+
+ /**
+ * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_REFERENCE_TABLE__UNIQUE_CONSTRAINTS = ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS = ABSTRACT_XML_TABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Reference Table</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_REFERENCE_TABLE_FEATURE_COUNT = ABSTRACT_XML_TABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TYPE_MAPPING__ACCESS = XML_ACCESS_HOLDER__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TYPE_MAPPING__CLASS_NAME = XML_ACCESS_HOLDER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Metadata Complete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TYPE_MAPPING__METADATA_COMPLETE = XML_ACCESS_HOLDER_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TYPE_MAPPING__DESCRIPTION = XML_ACCESS_HOLDER_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TYPE_MAPPING__ATTRIBUTES = XML_ACCESS_HOLDER_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Xml Type Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TYPE_MAPPING_FEATURE_COUNT = XML_ACCESS_HOLDER_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_TYPE_MAPPING__ACCESS = XML_TYPE_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME = XML_TYPE_MAPPING__CLASS_NAME;
+
+ /**
+ * The feature id for the '<em><b>Metadata Complete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE = XML_TYPE_MAPPING__METADATA_COMPLETE;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION = XML_TYPE_MAPPING__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES = XML_TYPE_MAPPING__ATTRIBUTES;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Type Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT = XML_TYPE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOverride <em>Xml Override</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOverride
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOverride()
+ * @generated
+ */
+ public static final int XML_OVERRIDE = 66;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_OVERRIDE__NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Override</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_OVERRIDE_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE__NAME = XML_OVERRIDE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS = XML_OVERRIDE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE__JOIN_TABLE = XML_OVERRIDE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE__DESCRIPTION = XML_OVERRIDE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Xml Association Override</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE_FEATURE_COUNT = XML_OVERRIDE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Association Override Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE_CONTAINER_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE__NAME = XML_OVERRIDE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE__DESCRIPTION = XML_OVERRIDE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE__COLUMN = XML_OVERRIDE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Attribute Override</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE_FEATURE_COUNT = XML_OVERRIDE_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
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Attribute Override Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE_CONTAINER_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ATTRIBUTES__DESCRIPTION = OrmV2_0Package.XML_ATTRIBUTES_20__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Element Collections</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ATTRIBUTES__ELEMENT_COLLECTIONS = OrmV2_0Package.XML_ATTRIBUTES_20__ELEMENT_COLLECTIONS;
+
+ /**
+ * The feature id for the '<em><b>Ids</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ATTRIBUTES__IDS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Embedded Ids</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ATTRIBUTES__EMBEDDED_IDS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Basics</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ATTRIBUTES__BASICS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Versions</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ATTRIBUTES__VERSIONS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Many To Ones</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ATTRIBUTES__MANY_TO_ONES = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>One To Manys</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ATTRIBUTES__ONE_TO_MANYS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>One To Ones</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ATTRIBUTES__ONE_TO_ONES = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Many To Manys</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ATTRIBUTES__MANY_TO_MANYS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Embeddeds</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ATTRIBUTES__EMBEDDEDS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Transients</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ATTRIBUTES__TRANSIENTS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 9;
+
+ /**
+ * The number of structural features of the '<em>Attributes</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ATTRIBUTES_FEATURE_COUNT = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC__COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Lob</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC__LOB = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC__TEMPORAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC__ENUMERATED = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC__FETCH = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Optional</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC__OPTIONAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Xml Basic</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Cascade Detach</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int CASCADE_TYPE__CASCADE_DETACH = OrmV2_0Package.XML_CASCADE_TYPE_20__CASCADE_DETACH;
+
+ /**
+ * The feature id for the '<em><b>Cascade All</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int CASCADE_TYPE__CASCADE_ALL = OrmV2_0Package.XML_CASCADE_TYPE_20_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Cascade Persist</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int CASCADE_TYPE__CASCADE_PERSIST = OrmV2_0Package.XML_CASCADE_TYPE_20_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Cascade Merge</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int CASCADE_TYPE__CASCADE_MERGE = OrmV2_0Package.XML_CASCADE_TYPE_20_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Cascade Remove</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int CASCADE_TYPE__CASCADE_REMOVE = OrmV2_0Package.XML_CASCADE_TYPE_20_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Cascade Refresh</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int CASCADE_TYPE__CASCADE_REFRESH = OrmV2_0Package.XML_CASCADE_TYPE_20_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Cascade Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int CASCADE_TYPE_FEATURE_COUNT = OrmV2_0Package.XML_CASCADE_TYPE_20_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference <em>Xml Class Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlClassReference()
+ * @generated
+ */
+ public static final int XML_CLASS_REFERENCE = 24;
+
+ /**
+ * The feature id for the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CLASS_REFERENCE__CLASS_NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Class Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CLASS_REFERENCE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable <em>Xml Collection Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlCollectionTable()
+ * @generated
+ */
+ public static final int XML_COLLECTION_TABLE = 25;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLLECTION_TABLE__NAME = ABSTRACT_XML_REFERENCE_TABLE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLLECTION_TABLE__CATALOG = ABSTRACT_XML_REFERENCE_TABLE__CATALOG;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLLECTION_TABLE__SCHEMA = ABSTRACT_XML_REFERENCE_TABLE__SCHEMA;
+
+ /**
+ * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLLECTION_TABLE__UNIQUE_CONSTRAINTS = ABSTRACT_XML_REFERENCE_TABLE__UNIQUE_CONSTRAINTS;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLLECTION_TABLE__JOIN_COLUMNS = ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS;
+
+ /**
+ * The number of structural features of the '<em>Xml Collection Table</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLLECTION_TABLE_FEATURE_COUNT = ABSTRACT_XML_REFERENCE_TABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn <em>Xml Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlColumn()
+ * @generated
+ */
+ public static final int XML_COLUMN = 26;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLUMN__COLUMN_DEFINITION = ABSTRACT_XML_BASE_COLUMN__COLUMN_DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLUMN__NAME = ABSTRACT_XML_BASE_COLUMN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Insertable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLUMN__INSERTABLE = ABSTRACT_XML_BASE_COLUMN__INSERTABLE;
+
+ /**
+ * The feature id for the '<em><b>Nullable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLUMN__NULLABLE = ABSTRACT_XML_BASE_COLUMN__NULLABLE;
+
+ /**
+ * The feature id for the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLUMN__TABLE = ABSTRACT_XML_BASE_COLUMN__TABLE;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLUMN__UNIQUE = ABSTRACT_XML_BASE_COLUMN__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Updatable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLUMN__UPDATABLE = ABSTRACT_XML_BASE_COLUMN__UPDATABLE;
+
+ /**
+ * The feature id for the '<em><b>Length</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLUMN__LENGTH = ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Precision</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLUMN__PRECISION = ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Scale</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLUMN__SCALE = ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Xml Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLUMN_FEATURE_COUNT = ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping <em>Column Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnMapping()
+ * @generated
+ */
+ public static final int COLUMN_MAPPING = 27;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int COLUMN_MAPPING__COLUMN = 0;
+
+ /**
+ * The number of structural features of the '<em>Column Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int COLUMN_MAPPING_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnResult <em>Column Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnResult
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnResult()
+ * @generated
+ */
+ public static final int COLUMN_RESULT = 28;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int COLUMN_RESULT__NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Column Result</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int COLUMN_RESULT_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping <em>Xml Convertible Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping()
+ * @generated
+ */
+ public static final int XML_CONVERTIBLE_MAPPING = 29;
+
+ /**
+ * The feature id for the '<em><b>Lob</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTIBLE_MAPPING__LOB = 0;
+
+ /**
+ * The feature id for the '<em><b>Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTIBLE_MAPPING__TEMPORAL = 1;
+
+ /**
+ * The feature id for the '<em><b>Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTIBLE_MAPPING__ENUMERATED = 2;
+
+ /**
+ * The number of structural features of the '<em>Xml Convertible Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTIBLE_MAPPING_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlDiscriminatorColumn <em>Xml Discriminator Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlDiscriminatorColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlDiscriminatorColumn()
+ * @generated
+ */
+ public static final int XML_DISCRIMINATOR_COLUMN = 30;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_DISCRIMINATOR_COLUMN__COLUMN_DEFINITION = ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__COLUMN_DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_DISCRIMINATOR_COLUMN__NAME = ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Discriminator Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE = ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Length</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_DISCRIMINATOR_COLUMN__LENGTH = ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH;
+
+ /**
+ * The number of structural features of the '<em>Xml Discriminator Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_DISCRIMINATOR_COLUMN_FEATURE_COUNT = ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection <em>Xml Element Collection</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection()
+ * @generated
+ */
+ public static final int XML_ELEMENT_COLLECTION = 31;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Lob</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__LOB = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__TEMPORAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__ENUMERATED = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Order Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__ORDER_COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Order By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__ORDER_BY = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Target Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__TARGET_CLASS = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__FETCH = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Map Key</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__MAP_KEY = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Map Key Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__MAP_KEY_CLASS = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the '<em><b>Map Key Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 15;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 16;
+
+ /**
+ * The feature id for the '<em><b>Collection Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__COLLECTION_TABLE = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 17;
+
+ /**
+ * The number of structural features of the '<em>Xml Element Collection</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 18;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable <em>Xml Embeddable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbeddable()
+ * @generated
+ */
+ public static final int XML_EMBEDDABLE = 32;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDABLE__ACCESS = ABSTRACT_XML_TYPE_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDABLE__CLASS_NAME = ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME;
+
+ /**
+ * The feature id for the '<em><b>Metadata Complete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDABLE__METADATA_COMPLETE = ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDABLE__DESCRIPTION = ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDABLE__ATTRIBUTES = ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES;
+
+ /**
+ * The number of structural features of the '<em>Xml Embeddable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDABLE_FEATURE_COUNT = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded <em>Xml Embedded</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbedded()
+ * @generated
+ */
+ public static final int XML_EMBEDDED = 33;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDED__ACCESS = ABSTRACT_XML_EMBEDDED__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDED__NAME = ABSTRACT_XML_EMBEDDED__NAME;
+
+ /**
+ * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDED__ATTRIBUTE_OVERRIDES = ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES;
+
+ /**
+ * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDED__ASSOCIATION_OVERRIDES = ABSTRACT_XML_EMBEDDED_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Embedded</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDED_FEATURE_COUNT = ABSTRACT_XML_EMBEDDED_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId <em>Xml Embedded Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbeddedId()
+ * @generated
+ */
+ public static final int XML_EMBEDDED_ID = 34;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDED_ID__ACCESS = ABSTRACT_XML_EMBEDDED__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDED_ID__NAME = ABSTRACT_XML_EMBEDDED__NAME;
+
+ /**
+ * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDED_ID__ATTRIBUTE_OVERRIDES = ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES;
+
+ /**
+ * The number of structural features of the '<em>Xml Embedded Id</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDED_ID_FEATURE_COUNT = ABSTRACT_XML_EMBEDDED_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity <em>Xml Entity</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity()
+ * @generated
+ */
+ public static final int XML_ENTITY = 35;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__ACCESS = ABSTRACT_XML_TYPE_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__CLASS_NAME = ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME;
+
+ /**
+ * The feature id for the '<em><b>Metadata Complete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__METADATA_COMPLETE = ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__DESCRIPTION = ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__ATTRIBUTES = ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES;
+
+ /**
+ * The feature id for the '<em><b>Named Queries</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__NAMED_QUERIES = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Named Native Queries</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__NAMED_NATIVE_QUERIES = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__SEQUENCE_GENERATOR = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Table Generator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__TABLE_GENERATOR = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Pre Persist</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__PRE_PERSIST = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Post Persist</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__POST_PERSIST = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Pre Remove</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__PRE_REMOVE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Post Remove</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__POST_REMOVE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Pre Update</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__PRE_UPDATE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Post Update</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__POST_UPDATE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Post Load</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__POST_LOAD = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__ATTRIBUTE_OVERRIDES = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__ASSOCIATION_OVERRIDES = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Cacheable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__CACHEABLE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the '<em><b>Id Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__ID_CLASS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__NAME = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 15;
+
+ /**
+ * The feature id for the '<em><b>Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__TABLE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 16;
+
+ /**
+ * The feature id for the '<em><b>Secondary Tables</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__SECONDARY_TABLES = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 17;
+
+ /**
+ * The feature id for the '<em><b>Primary Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 18;
+
+ /**
+ * The feature id for the '<em><b>Inheritance</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__INHERITANCE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 19;
+
+ /**
+ * The feature id for the '<em><b>Discriminator Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__DISCRIMINATOR_VALUE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 20;
+
+ /**
+ * The feature id for the '<em><b>Discriminator Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__DISCRIMINATOR_COLUMN = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 21;
+
+ /**
+ * The feature id for the '<em><b>Sql Result Set Mappings</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__SQL_RESULT_SET_MAPPINGS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 22;
+
+ /**
+ * The feature id for the '<em><b>Exclude Default Listeners</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 23;
+
+ /**
+ * The feature id for the '<em><b>Exclude Superclass Listeners</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 24;
+
+ /**
+ * The feature id for the '<em><b>Entity Listeners</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__ENTITY_LISTENERS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 25;
+
+ /**
+ * The number of structural features of the '<em>Xml Entity</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_FEATURE_COUNT = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 26;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer <em>Xml Event Method Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer()
+ * @generated
+ */
+ public static final int XML_EVENT_METHOD_CONTAINER = 41;
+
+ /**
+ * The feature id for the '<em><b>Pre Persist</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EVENT_METHOD_CONTAINER__PRE_PERSIST = 0;
+
+ /**
+ * The feature id for the '<em><b>Post Persist</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EVENT_METHOD_CONTAINER__POST_PERSIST = 1;
+
+ /**
+ * The feature id for the '<em><b>Pre Remove</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EVENT_METHOD_CONTAINER__PRE_REMOVE = 2;
+
+ /**
+ * The feature id for the '<em><b>Post Remove</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EVENT_METHOD_CONTAINER__POST_REMOVE = 3;
+
+ /**
+ * The feature id for the '<em><b>Pre Update</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EVENT_METHOD_CONTAINER__PRE_UPDATE = 4;
+
+ /**
+ * The feature id for the '<em><b>Post Update</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EVENT_METHOD_CONTAINER__POST_UPDATE = 5;
+
+ /**
+ * The feature id for the '<em><b>Post Load</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EVENT_METHOD_CONTAINER__POST_LOAD = 6;
+
+ /**
+ * The number of structural features of the '<em>Xml Event Method Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EVENT_METHOD_CONTAINER_FEATURE_COUNT = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener <em>Entity Listener</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListener
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListener()
+ * @generated
+ */
+ public static final int ENTITY_LISTENER = 36;
+
+ /**
+ * The feature id for the '<em><b>Pre Persist</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_LISTENER__PRE_PERSIST = XML_EVENT_METHOD_CONTAINER__PRE_PERSIST;
+
+ /**
+ * The feature id for the '<em><b>Post Persist</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_LISTENER__POST_PERSIST = XML_EVENT_METHOD_CONTAINER__POST_PERSIST;
+
+ /**
+ * The feature id for the '<em><b>Pre Remove</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_LISTENER__PRE_REMOVE = XML_EVENT_METHOD_CONTAINER__PRE_REMOVE;
+
+ /**
+ * The feature id for the '<em><b>Post Remove</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_LISTENER__POST_REMOVE = XML_EVENT_METHOD_CONTAINER__POST_REMOVE;
+
+ /**
+ * The feature id for the '<em><b>Pre Update</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_LISTENER__PRE_UPDATE = XML_EVENT_METHOD_CONTAINER__PRE_UPDATE;
+
+ /**
+ * The feature id for the '<em><b>Post Update</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_LISTENER__POST_UPDATE = XML_EVENT_METHOD_CONTAINER__POST_UPDATE;
+
+ /**
+ * The feature id for the '<em><b>Post Load</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_LISTENER__POST_LOAD = XML_EVENT_METHOD_CONTAINER__POST_LOAD;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_LISTENER__DESCRIPTION = XML_EVENT_METHOD_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_LISTENER__CLASS_NAME = XML_EVENT_METHOD_CONTAINER_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Entity Listener</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_LISTENER_FEATURE_COUNT = XML_EVENT_METHOD_CONTAINER_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListeners <em>Entity Listeners</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListeners
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListeners()
+ * @generated
+ */
+ public static final int ENTITY_LISTENERS = 37;
+
+ /**
+ * The feature id for the '<em><b>Entity Listeners</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_LISTENERS__ENTITY_LISTENERS = 0;
+
+ /**
+ * The number of structural features of the '<em>Entity Listeners</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_LISTENERS_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings <em>Xml Entity Mappings</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings()
+ * @generated
+ */
+ public static final int XML_ENTITY_MAPPINGS = 38;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult <em>Entity Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityResult
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityResult()
+ * @generated
+ */
+ public static final int ENTITY_RESULT = 39;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EventMethod <em>Event Method</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EventMethod
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEventMethod()
+ * @generated
+ */
+ public static final int EVENT_METHOD = 40;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult <em>Field Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.FieldResult
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getFieldResult()
+ * @generated
+ */
+ public static final int FIELD_RESULT = 42;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue <em>Xml Generated Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratedValue()
+ * @generated
+ */
+ public static final int XML_GENERATED_VALUE = 43;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator <em>Xml Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator()
+ * @generated
+ */
+ public static final int XML_GENERATOR = 44;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer <em>Xml Generator Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer()
+ * @generated
+ */
+ public static final int XML_GENERATOR_CONTAINER = 45;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId <em>Xml Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlId
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlId()
+ * @generated
+ */
+ public static final int XML_ID = 46;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.Inheritance <em>Inheritance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Inheritance
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getInheritance()
+ * @generated
+ */
+ public static final int INHERITANCE = 48;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn <em>Xml Join Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumn()
+ * @generated
+ */
+ public static final int XML_JOIN_COLUMN = 49;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable <em>Xml Join Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTable()
+ * @generated
+ */
+ public static final int XML_JOIN_TABLE = 51;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.Lob <em>Lob</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Lob
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getLob()
+ * @generated
+ */
+ public static final int LOB = 53;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany <em>Xml Many To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlManyToMany()
+ * @generated
+ */
+ public static final int XML_MANY_TO_MANY = 54;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne <em>Xml Many To One</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlManyToOne()
+ * @generated
+ */
+ public static final int XML_MANY_TO_ONE = 55;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.MapKey <em>Map Key</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.MapKey
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getMapKey()
+ * @generated
+ */
+ public static final int MAP_KEY = 56;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping <em>Xml Mapped By Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedByMapping()
+ * @generated
+ */
+ public static final int XML_MAPPED_BY_MAPPING = 57;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass <em>Xml Mapped Superclass</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedSuperclass()
+ * @generated
+ */
+ public static final int XML_MAPPED_SUPERCLASS = 58;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery <em>Xml Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQuery
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery()
+ * @generated
+ */
+ public static final int XML_QUERY = 79;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery <em>Xml Named Native Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedNativeQuery()
+ * @generated
+ */
+ public static final int XML_NAMED_NATIVE_QUERY = 59;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery <em>Xml Named Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedQuery()
+ * @generated
+ */
+ public static final int XML_NAMED_QUERY = 60;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNullAttributeMapping <em>Xml Null Attribute Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNullAttributeMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNullAttributeMapping()
+ * @generated
+ */
+ public static final int XML_NULL_ATTRIBUTE_MAPPING = 61;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany <em>Xml One To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOneToMany()
+ * @generated
+ */
+ public static final int XML_ONE_TO_MANY = 62;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne <em>Xml One To One</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOneToOne()
+ * @generated
+ */
+ public static final int XML_ONE_TO_ONE = 63;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn <em>Xml Order Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderColumn()
+ * @generated
+ */
+ public static final int XML_ORDER_COLUMN = 65;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults <em>Xml Persistence Unit Defaults</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults()
+ * @generated
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS = 67;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata <em>Xml Persistence Unit Metadata</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitMetadata()
+ * @generated
+ */
+ public static final int XML_PERSISTENCE_UNIT_METADATA = 68;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostLoad <em>Post Load</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PostLoad
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostLoad()
+ * @generated
+ */
+ public static final int POST_LOAD = 70;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostPersist <em>Post Persist</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PostPersist
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostPersist()
+ * @generated
+ */
+ public static final int POST_PERSIST = 71;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostRemove <em>Post Remove</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PostRemove
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostRemove()
+ * @generated
+ */
+ public static final int POST_REMOVE = 72;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostUpdate <em>Post Update</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PostUpdate
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostUpdate()
+ * @generated
+ */
+ public static final int POST_UPDATE = 73;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PrePersist <em>Pre Persist</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PrePersist
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPrePersist()
+ * @generated
+ */
+ public static final int PRE_PERSIST = 74;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PreRemove <em>Pre Remove</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PreRemove
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPreRemove()
+ * @generated
+ */
+ public static final int PRE_REMOVE = 75;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PreUpdate <em>Pre Update</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PreUpdate
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPreUpdate()
+ * @generated
+ */
+ public static final int PRE_UPDATE = 76;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn <em>Xml Primary Key Join Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumn()
+ * @generated
+ */
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN = 77;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer <em>Xml Query Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer()
+ * @generated
+ */
+ public static final int XML_QUERY_CONTAINER = 80;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__VERSION = CommonPackage.EROOT_OBJECT_IMPL__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Schema Location</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__SCHEMA_LOCATION = CommonPackage.EROOT_OBJECT_IMPL__SCHEMA_LOCATION;
+
+ /**
+ * The feature id for the '<em><b>Implied Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__IMPLIED_VERSION = CommonPackage.EROOT_OBJECT_IMPL__IMPLIED_VERSION;
+
+ /**
+ * The feature id for the '<em><b>Named Queries</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__NAMED_QUERIES = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Named Native Queries</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__ACCESS = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__DESCRIPTION = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Persistence Unit Metadata</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Package</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__PACKAGE = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__SCHEMA = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__CATALOG = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Sequence Generators</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Table Generators</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__TABLE_GENERATORS = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Sql Result Set Mappings</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Mapped Superclasses</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Entities</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__ENTITIES = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Embeddables</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS__EMBEDDABLES = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 13;
+
+ /**
+ * The number of structural features of the '<em>Xml Entity Mappings</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_MAPPINGS_FEATURE_COUNT = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the '<em><b>Discriminator Column</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_RESULT__DISCRIMINATOR_COLUMN = 0;
+
+ /**
+ * The feature id for the '<em><b>Entity Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_RESULT__ENTITY_CLASS = 1;
+
+ /**
+ * The feature id for the '<em><b>Field Results</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_RESULT__FIELD_RESULTS = 2;
+
+ /**
+ * The number of structural features of the '<em>Entity Result</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ENTITY_RESULT_FEATURE_COUNT = 3;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int EVENT_METHOD__DESCRIPTION = OrmV2_0Package.XML_EVENT_METHOD_20__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Method Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int EVENT_METHOD__METHOD_NAME = OrmV2_0Package.XML_EVENT_METHOD_20_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Event Method</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int EVENT_METHOD_FEATURE_COUNT = OrmV2_0Package.XML_EVENT_METHOD_20_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int FIELD_RESULT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int FIELD_RESULT__COLUMN = 1;
+
+ /**
+ * The number of structural features of the '<em>Field Result</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int FIELD_RESULT_FEATURE_COUNT = 2;
+
+ /**
+ * The feature id for the '<em><b>Generator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATED_VALUE__GENERATOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Strategy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATED_VALUE__STRATEGY = 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Generated Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATED_VALUE_FEATURE_COUNT = 2;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATOR__DESCRIPTION = OrmV2_0Package.XML_GENERATOR_20__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATOR__NAME = OrmV2_0Package.XML_GENERATOR_20_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Initial Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATOR__INITIAL_VALUE = OrmV2_0Package.XML_GENERATOR_20_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Allocation Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATOR__ALLOCATION_SIZE = OrmV2_0Package.XML_GENERATOR_20_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Xml Generator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATOR_FEATURE_COUNT = OrmV2_0Package.XML_GENERATOR_20_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Table Generator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATOR_CONTAINER__TABLE_GENERATOR = 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Generator Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATOR_CONTAINER_FEATURE_COUNT = 2;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Lob</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__LOB = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__TEMPORAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__ENUMERATED = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__SEQUENCE_GENERATOR = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Table Generator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__TABLE_GENERATOR = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Generated Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__GENERATED_VALUE = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Xml Id</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer <em>Xml Id Class Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlIdClassContainer()
+ * @generated
+ */
+ public static final int XML_ID_CLASS_CONTAINER = 47;
+
+ /**
+ * The feature id for the '<em><b>Id Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID_CLASS_CONTAINER__ID_CLASS = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Id Class Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID_CLASS_CONTAINER_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Strategy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int INHERITANCE__STRATEGY = 0;
+
+ /**
+ * The number of structural features of the '<em>Inheritance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int INHERITANCE_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_COLUMN__COLUMN_DEFINITION = ABSTRACT_XML_BASE_COLUMN__COLUMN_DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_COLUMN__NAME = ABSTRACT_XML_BASE_COLUMN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Insertable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_COLUMN__INSERTABLE = ABSTRACT_XML_BASE_COLUMN__INSERTABLE;
+
+ /**
+ * The feature id for the '<em><b>Nullable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_COLUMN__NULLABLE = ABSTRACT_XML_BASE_COLUMN__NULLABLE;
+
+ /**
+ * The feature id for the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_COLUMN__TABLE = ABSTRACT_XML_BASE_COLUMN__TABLE;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_COLUMN__UNIQUE = ABSTRACT_XML_BASE_COLUMN__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Updatable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_COLUMN__UPDATABLE = ABSTRACT_XML_BASE_COLUMN__UPDATABLE;
+
+ /**
+ * The feature id for the '<em><b>Referenced Column Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME = ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Join Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_COLUMN_FEATURE_COUNT = ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer <em>Xml Join Column Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer()
+ * @generated
+ */
+ public static final int XML_JOIN_COLUMN_CONTAINER = 50;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Join Column Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_COLUMN_CONTAINER_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable <em>Xml Reference Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlReferenceTable()
+ * @generated
+ */
+ public static final int XML_REFERENCE_TABLE = 69;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_TABLE__NAME = ABSTRACT_XML_REFERENCE_TABLE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_TABLE__CATALOG = ABSTRACT_XML_REFERENCE_TABLE__CATALOG;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_TABLE__SCHEMA = ABSTRACT_XML_REFERENCE_TABLE__SCHEMA;
+
+ /**
+ * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_TABLE__UNIQUE_CONSTRAINTS = ABSTRACT_XML_REFERENCE_TABLE__UNIQUE_CONSTRAINTS;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_TABLE__JOIN_COLUMNS = ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS;
+
+ /**
+ * The feature id for the '<em><b>Inverse Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS = ABSTRACT_XML_REFERENCE_TABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Join Table</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_TABLE_FEATURE_COUNT = ABSTRACT_XML_REFERENCE_TABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer <em>Xml Join Table Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer()
+ * @generated
+ */
+ public static final int XML_JOIN_TABLE_CONTAINER = 52;
+
+ /**
+ * The feature id for the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_TABLE_CONTAINER__JOIN_TABLE = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Join Table Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_TABLE_CONTAINER_FEATURE_COUNT = 1;
+
+ /**
+ * The number of structural features of the '<em>Lob</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LOB_FEATURE_COUNT = 0;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__ACCESS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__NAME = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__TARGET_ENTITY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__TARGET_ENTITY;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__FETCH = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__FETCH;
+
+ /**
+ * The feature id for the '<em><b>Cascade</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__CASCADE = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__CASCADE;
+
+ /**
+ * The feature id for the '<em><b>Mapped By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__MAPPED_BY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY;
+
+ /**
+ * The feature id for the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__JOIN_TABLE = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE;
+
+ /**
+ * The feature id for the '<em><b>Order Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__ORDER_COLUMN = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Order By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__ORDER_BY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY;
+
+ /**
+ * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__MAP_KEY_ATTRIBUTE_OVERRIDES = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES;
+
+ /**
+ * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__MAP_KEY_TEMPORAL = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL;
+
+ /**
+ * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__MAP_KEY_ENUMERATED = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED;
+
+ /**
+ * The feature id for the '<em><b>Map Key Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__MAP_KEY_CLASS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Map Key Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__MAP_KEY_COLUMN = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__MAP_KEY_JOIN_COLUMNS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS;
+
+ /**
+ * The feature id for the '<em><b>Map Key</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__MAP_KEY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY;
+
+ /**
+ * The number of structural features of the '<em>Xml Many To Many</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY_FEATURE_COUNT = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_ONE__ACCESS = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_ONE__NAME = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_ONE__TARGET_ENTITY = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__TARGET_ENTITY;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_ONE__FETCH = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__FETCH;
+
+ /**
+ * The feature id for the '<em><b>Cascade</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_ONE__CASCADE = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__CASCADE;
+
+ /**
+ * The feature id for the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_ONE__JOIN_TABLE = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_ONE__JOIN_COLUMNS = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_ONE__ID = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID;
+
+ /**
+ * The feature id for the '<em><b>Maps Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_ONE__MAPS_ID = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID;
+
+ /**
+ * The feature id for the '<em><b>Optional</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_ONE__OPTIONAL = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL;
+
+ /**
+ * The number of structural features of the '<em>Xml Many To One</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_ONE_FEATURE_COUNT = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int MAP_KEY__NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Map Key</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int MAP_KEY_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Mapped By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_BY_MAPPING__MAPPED_BY = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Mapped By Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_BY_MAPPING_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_SUPERCLASS__ACCESS = ABSTRACT_XML_TYPE_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_SUPERCLASS__CLASS_NAME = ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME;
+
+ /**
+ * The feature id for the '<em><b>Metadata Complete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_SUPERCLASS__METADATA_COMPLETE = ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_SUPERCLASS__DESCRIPTION = ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_SUPERCLASS__ATTRIBUTES = ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES;
+
+ /**
+ * The feature id for the '<em><b>Id Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_SUPERCLASS__ID_CLASS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Exclude Default Listeners</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Exclude Superclass Listeners</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Entity Listeners</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Xml Mapped Superclass</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_SUPERCLASS_FEATURE_COUNT = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY__DESCRIPTION = OrmV2_0Package.XML_QUERY_20__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY__NAME = OrmV2_0Package.XML_QUERY_20_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY__QUERY = OrmV2_0Package.XML_QUERY_20_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Hints</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY__HINTS = OrmV2_0Package.XML_QUERY_20_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Xml Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY_FEATURE_COUNT = OrmV2_0Package.XML_QUERY_20_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_NATIVE_QUERY__DESCRIPTION = XML_QUERY__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_NATIVE_QUERY__NAME = XML_QUERY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_NATIVE_QUERY__QUERY = XML_QUERY__QUERY;
+
+ /**
+ * The feature id for the '<em><b>Hints</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_NATIVE_QUERY__HINTS = XML_QUERY__HINTS;
+
+ /**
+ * The feature id for the '<em><b>Result Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_NATIVE_QUERY__RESULT_CLASS = XML_QUERY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Result Set Mapping</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING = XML_QUERY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Named Native Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_NATIVE_QUERY_FEATURE_COUNT = XML_QUERY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_QUERY__DESCRIPTION = XML_QUERY__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_QUERY__NAME = XML_QUERY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_QUERY__QUERY = XML_QUERY__QUERY;
+
+ /**
+ * The feature id for the '<em><b>Hints</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_QUERY__HINTS = XML_QUERY__HINTS;
+
+ /**
+ * The feature id for the '<em><b>Lock Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_QUERY__LOCK_MODE = XML_QUERY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Named Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_QUERY_FEATURE_COUNT = XML_QUERY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NULL_ATTRIBUTE_MAPPING__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NULL_ATTRIBUTE_MAPPING__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME;
+
+ /**
+ * The number of structural features of the '<em>Xml Null Attribute Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NULL_ATTRIBUTE_MAPPING_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__ACCESS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__NAME = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__TARGET_ENTITY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__TARGET_ENTITY;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__FETCH = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__FETCH;
+
+ /**
+ * The feature id for the '<em><b>Cascade</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__CASCADE = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__CASCADE;
+
+ /**
+ * The feature id for the '<em><b>Mapped By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__MAPPED_BY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY;
+
+ /**
+ * The feature id for the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__JOIN_TABLE = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE;
+
+ /**
+ * The feature id for the '<em><b>Order Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__ORDER_COLUMN = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Order By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__ORDER_BY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY;
+
+ /**
+ * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__MAP_KEY_ATTRIBUTE_OVERRIDES = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES;
+
+ /**
+ * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__MAP_KEY_TEMPORAL = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL;
+
+ /**
+ * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__MAP_KEY_ENUMERATED = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED;
+
+ /**
+ * The feature id for the '<em><b>Map Key Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__MAP_KEY_CLASS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Map Key Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__MAP_KEY_COLUMN = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__MAP_KEY_JOIN_COLUMNS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS;
+
+ /**
+ * The feature id for the '<em><b>Map Key</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__MAP_KEY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__JOIN_COLUMNS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Orphan Removal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__ORPHAN_REMOVAL = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Xml One To Many</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY_FEATURE_COUNT = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__ACCESS = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__NAME = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__TARGET_ENTITY = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__TARGET_ENTITY;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__FETCH = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__FETCH;
+
+ /**
+ * The feature id for the '<em><b>Cascade</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__CASCADE = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__CASCADE;
+
+ /**
+ * The feature id for the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__JOIN_TABLE = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__JOIN_COLUMNS = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__ID = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID;
+
+ /**
+ * The feature id for the '<em><b>Maps Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__MAPS_ID = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID;
+
+ /**
+ * The feature id for the '<em><b>Optional</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__OPTIONAL = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL;
+
+ /**
+ * The feature id for the '<em><b>Mapped By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__MAPPED_BY = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Primary Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Orphan Removal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__ORPHAN_REMOVAL = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Xml One To One</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE_FEATURE_COUNT = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint <em>Xml Query Hint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryHint()
+ * @generated
+ */
+ public static final int XML_QUERY_HINT = 81;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable <em>Xml Secondary Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSecondaryTable()
+ * @generated
+ */
+ public static final int XML_SECONDARY_TABLE = 82;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator <em>Xml Sequence Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSequenceGenerator()
+ * @generated
+ */
+ public static final int XML_SEQUENCE_GENERATOR = 83;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping <em>Sql Result Set Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getSqlResultSetMapping()
+ * @generated
+ */
+ public static final int SQL_RESULT_SET_MAPPING = 84;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTable <em>Xml Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTable()
+ * @generated
+ */
+ public static final int XML_TABLE = 85;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator <em>Xml Table Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator()
+ * @generated
+ */
+ public static final int XML_TABLE_GENERATOR = 86;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTransient <em>Xml Transient</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTransient
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTransient()
+ * @generated
+ */
+ public static final int XML_TRANSIENT = 87;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint <em>Xml Unique Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlUniqueConstraint()
+ * @generated
+ */
+ public static final int XML_UNIQUE_CONSTRAINT = 89;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion <em>Xml Version</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlVersion
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlVersion()
+ * @generated
+ */
+ public static final int XML_VERSION = 90;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable <em>Xml Orderable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable()
+ * @generated
+ */
+ public static final int XML_ORDERABLE = 64;
+
+ /**
+ * The feature id for the '<em><b>Order Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDERABLE__ORDER_COLUMN = OrmV2_0Package.XML_ORDERABLE_20__ORDER_COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Order By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDERABLE__ORDER_BY = OrmV2_0Package.XML_ORDERABLE_20_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Orderable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDERABLE_FEATURE_COUNT = OrmV2_0Package.XML_ORDERABLE_20_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDER_COLUMN__COLUMN_DEFINITION = ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDER_COLUMN__NAME = ABSTRACT_XML_NAMED_COLUMN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Nullable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDER_COLUMN__NULLABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Insertable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDER_COLUMN__INSERTABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Updatable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDER_COLUMN__UPDATABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Xml Order Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDER_COLUMN_FEATURE_COUNT = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS = XML_ACCESS_HOLDER__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION = XML_ACCESS_HOLDER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Delimited Identifiers</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS = XML_ACCESS_HOLDER_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA = XML_ACCESS_HOLDER_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG = XML_ACCESS_HOLDER_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Cascade Persist</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST = XML_ACCESS_HOLDER_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Entity Listeners</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS = XML_ACCESS_HOLDER_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Xml Persistence Unit Defaults</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS_FEATURE_COUNT = XML_ACCESS_HOLDER_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_METADATA__DESCRIPTION = OrmV2_0Package.XML_PERSISTENCE_UNIT_METADATA_20__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Xml Mapping Metadata Complete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE = OrmV2_0Package.XML_PERSISTENCE_UNIT_METADATA_20_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Persistence Unit Defaults</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS = OrmV2_0Package.XML_PERSISTENCE_UNIT_METADATA_20_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Persistence Unit Metadata</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_METADATA_FEATURE_COUNT = OrmV2_0Package.XML_PERSISTENCE_UNIT_METADATA_20_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
+ */
+ public static final int XML_REFERENCE_TABLE__JOIN_COLUMNS = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Reference Table</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_REFERENCE_TABLE_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int POST_LOAD__DESCRIPTION = EVENT_METHOD__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Method Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int POST_LOAD__METHOD_NAME = EVENT_METHOD__METHOD_NAME;
+
+ /**
+ * The number of structural features of the '<em>Post Load</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int POST_LOAD_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int POST_PERSIST__DESCRIPTION = EVENT_METHOD__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Method Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int POST_PERSIST__METHOD_NAME = EVENT_METHOD__METHOD_NAME;
+
+ /**
+ * The number of structural features of the '<em>Post Persist</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int POST_PERSIST_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int POST_REMOVE__DESCRIPTION = EVENT_METHOD__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Method Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int POST_REMOVE__METHOD_NAME = EVENT_METHOD__METHOD_NAME;
+
+ /**
+ * The number of structural features of the '<em>Post Remove</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int POST_REMOVE_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int POST_UPDATE__DESCRIPTION = EVENT_METHOD__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Method Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int POST_UPDATE__METHOD_NAME = EVENT_METHOD__METHOD_NAME;
+
+ /**
+ * The number of structural features of the '<em>Post Update</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int POST_UPDATE_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int PRE_PERSIST__DESCRIPTION = EVENT_METHOD__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Method Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int PRE_PERSIST__METHOD_NAME = EVENT_METHOD__METHOD_NAME;
+
+ /**
+ * The number of structural features of the '<em>Pre Persist</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int PRE_PERSIST_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int PRE_REMOVE__DESCRIPTION = EVENT_METHOD__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Method Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int PRE_REMOVE__METHOD_NAME = EVENT_METHOD__METHOD_NAME;
+
+ /**
+ * The number of structural features of the '<em>Pre Remove</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int PRE_REMOVE_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int PRE_UPDATE__DESCRIPTION = EVENT_METHOD__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Method Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int PRE_UPDATE__METHOD_NAME = EVENT_METHOD__METHOD_NAME;
+
+ /**
+ * The number of structural features of the '<em>Pre Update</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int PRE_UPDATE_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION = ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN__NAME = ABSTRACT_XML_NAMED_COLUMN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Referenced Column Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Primary Key Join Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN_FEATURE_COUNT = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer <em>Xml Primary Key Join Column Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumnContainer()
+ * @generated
+ */
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER = 78;
+
+ /**
+ * The feature id for the '<em><b>Primary Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER__PRIMARY_KEY_JOIN_COLUMNS = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Primary Key Join Column Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Named Queries</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY_CONTAINER__NAMED_QUERIES = 0;
+
+ /**
+ * The feature id for the '<em><b>Named Native Queries</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES = 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Query Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY_CONTAINER_FEATURE_COUNT = 2;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY_HINT__DESCRIPTION = OrmV2_0Package.XML_QUERY_HINT_20__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY_HINT__NAME = OrmV2_0Package.XML_QUERY_HINT_20_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY_HINT__VALUE = OrmV2_0Package.XML_QUERY_HINT_20_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Query Hint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY_HINT_FEATURE_COUNT = OrmV2_0Package.XML_QUERY_HINT_20_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SECONDARY_TABLE__NAME = ABSTRACT_XML_TABLE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SECONDARY_TABLE__CATALOG = ABSTRACT_XML_TABLE__CATALOG;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SECONDARY_TABLE__SCHEMA = ABSTRACT_XML_TABLE__SCHEMA;
+
+ /**
+ * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SECONDARY_TABLE__UNIQUE_CONSTRAINTS = ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS;
+
+ /**
+ * The feature id for the '<em><b>Primary Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS = ABSTRACT_XML_TABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Secondary Table</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SECONDARY_TABLE_FEATURE_COUNT = ABSTRACT_XML_TABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SEQUENCE_GENERATOR__DESCRIPTION = XML_GENERATOR__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SEQUENCE_GENERATOR__NAME = XML_GENERATOR__NAME;
+
+ /**
+ * The feature id for the '<em><b>Initial Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SEQUENCE_GENERATOR__INITIAL_VALUE = XML_GENERATOR__INITIAL_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Allocation Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SEQUENCE_GENERATOR__ALLOCATION_SIZE = XML_GENERATOR__ALLOCATION_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SEQUENCE_GENERATOR__CATALOG = XML_GENERATOR_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SEQUENCE_GENERATOR__SCHEMA = XML_GENERATOR_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Sequence Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SEQUENCE_GENERATOR__SEQUENCE_NAME = XML_GENERATOR_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Xml Sequence Generator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SEQUENCE_GENERATOR_FEATURE_COUNT = XML_GENERATOR_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int SQL_RESULT_SET_MAPPING__DESCRIPTION = OrmV2_0Package.XML_SQL_RESULT_SET_MAPPING_20__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int SQL_RESULT_SET_MAPPING__NAME = OrmV2_0Package.XML_SQL_RESULT_SET_MAPPING_20_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Entity Results</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int SQL_RESULT_SET_MAPPING__ENTITY_RESULTS = OrmV2_0Package.XML_SQL_RESULT_SET_MAPPING_20_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Column Results</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int SQL_RESULT_SET_MAPPING__COLUMN_RESULTS = OrmV2_0Package.XML_SQL_RESULT_SET_MAPPING_20_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Sql Result Set Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int SQL_RESULT_SET_MAPPING_FEATURE_COUNT = OrmV2_0Package.XML_SQL_RESULT_SET_MAPPING_20_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE__NAME = ABSTRACT_XML_TABLE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE__CATALOG = ABSTRACT_XML_TABLE__CATALOG;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE__SCHEMA = ABSTRACT_XML_TABLE__SCHEMA;
+
+ /**
+ * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE__UNIQUE_CONSTRAINTS = ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS;
+
+ /**
+ * The number of structural features of the '<em>Xml Table</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_FEATURE_COUNT = ABSTRACT_XML_TABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_GENERATOR__DESCRIPTION = XML_GENERATOR__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_GENERATOR__NAME = XML_GENERATOR__NAME;
+
+ /**
+ * The feature id for the '<em><b>Initial Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_GENERATOR__INITIAL_VALUE = XML_GENERATOR__INITIAL_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Allocation Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_GENERATOR__ALLOCATION_SIZE = XML_GENERATOR__ALLOCATION_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_GENERATOR__TABLE = XML_GENERATOR_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_GENERATOR__CATALOG = XML_GENERATOR_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_GENERATOR__SCHEMA = XML_GENERATOR_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Pk Column Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_GENERATOR__PK_COLUMN_NAME = XML_GENERATOR_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Value Column Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_GENERATOR__VALUE_COLUMN_NAME = XML_GENERATOR_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Pk Column Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_GENERATOR__PK_COLUMN_VALUE = XML_GENERATOR_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS = XML_GENERATOR_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Xml Table Generator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_GENERATOR_FEATURE_COUNT = XML_GENERATOR_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TRANSIENT__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TRANSIENT__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME;
+
+ /**
+ * The number of structural features of the '<em>Xml Transient</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TRANSIENT_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_UNIQUE_CONSTRAINT__NAME = OrmV2_0Package.XML_UNIQUE_CONSTRAINT_20__NAME;
+
+ /**
+ * The feature id for the '<em><b>Column Names</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_UNIQUE_CONSTRAINT__COLUMN_NAMES = OrmV2_0Package.XML_UNIQUE_CONSTRAINT_20_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Unique Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_UNIQUE_CONSTRAINT_FEATURE_COUNT = OrmV2_0Package.XML_UNIQUE_CONSTRAINT_20_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION__COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Lob</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION__LOB = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION__TEMPORAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION__ENUMERATED = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Xml Version</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType <em>Discriminator Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getDiscriminatorType()
+ * @generated
+ */
+ public static final int DISCRIMINATOR_TYPE = 91;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EnumType <em>Enum Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEnumType()
+ * @generated
+ */
+ public static final int ENUM_TYPE = 92;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.FetchType <em>Fetch Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getFetchType()
+ * @generated
+ */
+ public static final int FETCH_TYPE = 93;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.GenerationType <em>Generation Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.GenerationType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getGenerationType()
+ * @generated
+ */
+ public static final int GENERATION_TYPE = 94;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.InheritanceType <em>Inheritance Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.InheritanceType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getInheritanceType()
+ * @generated
+ */
+ public static final int INHERITANCE_TYPE = 95;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType <em>Temporal Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getTemporalType()
+ * @generated
+ */
+ public static final int TEMPORAL_TYPE = 96;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlAttributeMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlBaseColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlBaseColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlBaseDiscriminatorColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlEmbeddedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlMultiRelationshipMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlNamedColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlBaseDiscriminatorColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlBaseJoinColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlNamedColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlRelationshipMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlSingleRelationshipMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlTypeMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAccessHolderEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAttributeMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAssociationOverrideEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAssociationOverrideContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAttributeOverrideEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAttributeOverrideContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass attributesEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlBasicEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass cascadeTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlClassReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlCollectionTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass columnMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass columnResultEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlConvertibleMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlDiscriminatorColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlElementCollectionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEmbeddableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEmbeddedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEmbeddedIdEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEntityEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass entityListenerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass entityListenersEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEntityMappingsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass entityResultEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eventMethodEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEventMethodContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass fieldResultEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlGeneratedValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlGeneratorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlGeneratorContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlIdEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlIdClassContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass inheritanceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlJoinColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlJoinColumnContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlJoinTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlJoinTableContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lobEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlManyToManyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlManyToOneEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass mapKeyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlMappedByMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlMappedSuperclassEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlNamedNativeQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlNamedQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlNullAttributeMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOneToManyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOneToOneEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOrderColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOverrideEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlPersistenceUnitDefaultsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlPersistenceUnitMetadataEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlReferenceTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlReferenceTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass postLoadEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass postPersistEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass postRemoveEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass postUpdateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass prePersistEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass preRemoveEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass preUpdateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlPrimaryKeyJoinColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlPrimaryKeyJoinColumnContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlQueryContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlQueryHintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlSecondaryTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlSequenceGeneratorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sqlResultSetMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlTableGeneratorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlTransientEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlTypeMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlUniqueConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlVersionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOrderableEClass = 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 fetchTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum generationTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum inheritanceTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum temporalTypeEEnum = 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.jpt.jpa.core.resource.orm.OrmPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private OrmPackage()
+ {
+ super(eNS_URI, OrmFactory.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 OrmPackage#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 OrmPackage init()
+ {
+ if (isInited) return (OrmPackage)EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI);
+
+ // Obtain or create and register package
+ OrmPackage theOrmPackage = (OrmPackage)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof OrmPackage ? EPackage.Registry.INSTANCE.get(eNS_URI) : new OrmPackage());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ CommonPackage.eINSTANCE.eClass();
+ EcorePackage.eINSTANCE.eClass();
+ XMLTypePackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ OrmV2_0Package theOrmV2_0Package = (OrmV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI) instanceof OrmV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI) : OrmV2_0Package.eINSTANCE);
+ PersistencePackage thePersistencePackage = (PersistencePackage)(EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI) instanceof PersistencePackage ? EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI) : PersistencePackage.eINSTANCE);
+ PersistenceV2_0Package thePersistenceV2_0Package = (PersistenceV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI) instanceof PersistenceV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI) : PersistenceV2_0Package.eINSTANCE);
+
+ // Create package meta-data objects
+ theOrmPackage.createPackageContents();
+ theOrmV2_0Package.createPackageContents();
+ thePersistencePackage.createPackageContents();
+ thePersistenceV2_0Package.createPackageContents();
+
+ // Initialize created meta-data
+ theOrmPackage.initializePackageContents();
+ theOrmV2_0Package.initializePackageContents();
+ thePersistencePackage.initializePackageContents();
+ thePersistenceV2_0Package.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theOrmPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(OrmPackage.eNS_URI, theOrmPackage);
+ return theOrmPackage;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping <em>Abstract Xml Attribute Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Attribute Mapping</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping
+ * @generated
+ */
+ public EClass getAbstractXmlAttributeMapping()
+ {
+ return abstractXmlAttributeMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn <em>Xml Base Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Base Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn
+ * @generated
+ */
+ public EClass getXmlBaseColumn()
+ {
+ return xmlBaseColumnEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getInsertable <em>Insertable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Insertable</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getInsertable()
+ * @see #getXmlBaseColumn()
+ * @generated
+ */
+ public EAttribute getXmlBaseColumn_Insertable()
+ {
+ return (EAttribute)xmlBaseColumnEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getNullable <em>Nullable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nullable</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getNullable()
+ * @see #getXmlBaseColumn()
+ * @generated
+ */
+ public EAttribute getXmlBaseColumn_Nullable()
+ {
+ return (EAttribute)xmlBaseColumnEClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getTable <em>Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Table</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getTable()
+ * @see #getXmlBaseColumn()
+ * @generated
+ */
+ public EAttribute getXmlBaseColumn_Table()
+ {
+ return (EAttribute)xmlBaseColumnEClass.getEStructuralFeatures().get(2);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUnique <em>Unique</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unique</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUnique()
+ * @see #getXmlBaseColumn()
+ * @generated
+ */
+ public EAttribute getXmlBaseColumn_Unique()
+ {
+ return (EAttribute)xmlBaseColumnEClass.getEStructuralFeatures().get(3);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUpdatable <em>Updatable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Updatable</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUpdatable()
+ * @see #getXmlBaseColumn()
+ * @generated
+ */
+ public EAttribute getXmlBaseColumn_Updatable()
+ {
+ return (EAttribute)xmlBaseColumnEClass.getEStructuralFeatures().get(4);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn <em>Abstract Xml Base Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Base Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn
+ * @generated
+ */
+ public EClass getAbstractXmlBaseColumn()
+ {
+ return abstractXmlBaseColumnEClass;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn <em>Abstract Xml Base Discriminator Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Base Discriminator Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn
+ * @generated
+ */
+ public EClass getAbstractXmlBaseDiscriminatorColumn()
+ {
+ return abstractXmlBaseDiscriminatorColumnEClass;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlEmbedded <em>Abstract Xml Embedded</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Embedded</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlEmbedded
+ * @generated
+ */
+ public EClass getAbstractXmlEmbedded()
+ {
+ return abstractXmlEmbeddedEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping <em>Abstract Xml Multi Relationship Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Multi Relationship Mapping</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping
+ * @generated
+ */
+ public EClass getAbstractXmlMultiRelationshipMapping()
+ {
+ return abstractXmlMultiRelationshipMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#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.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKey()
+ * @see #getAbstractXmlMultiRelationshipMapping()
+ * @generated
+ */
+ public EReference getAbstractXmlMultiRelationshipMapping_MapKey()
+ {
+ return (EReference)abstractXmlMultiRelationshipMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn <em>Xml Named Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Named Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn
+ * @generated
+ */
+ public EClass getXmlNamedColumn()
+ {
+ return xmlNamedColumnEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#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.jpt.jpa.core.resource.orm.XmlNamedColumn#getColumnDefinition()
+ * @see #getXmlNamedColumn()
+ * @generated
+ */
+ public EAttribute getXmlNamedColumn_ColumnDefinition()
+ {
+ return (EAttribute)xmlNamedColumnEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#getName()
+ * @see #getXmlNamedColumn()
+ * @generated
+ */
+ public EAttribute getXmlNamedColumn_Name()
+ {
+ return (EAttribute)xmlNamedColumnEClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn <em>Xml Base Discriminator Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Base Discriminator Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn
+ * @generated
+ */
+ public EClass getXmlBaseDiscriminatorColumn()
+ {
+ return xmlBaseDiscriminatorColumnEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#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.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getDiscriminatorType()
+ * @see #getXmlBaseDiscriminatorColumn()
+ * @generated
+ */
+ public EAttribute getXmlBaseDiscriminatorColumn_DiscriminatorType()
+ {
+ return (EAttribute)xmlBaseDiscriminatorColumnEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getLength <em>Length</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Length</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getLength()
+ * @see #getXmlBaseDiscriminatorColumn()
+ * @generated
+ */
+ public EAttribute getXmlBaseDiscriminatorColumn_Length()
+ {
+ return (EAttribute)xmlBaseDiscriminatorColumnEClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn <em>Xml Base Join Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Base Join Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn
+ * @generated
+ */
+ public EClass getXmlBaseJoinColumn()
+ {
+ return xmlBaseJoinColumnEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn#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.jpt.jpa.core.resource.orm.XmlBaseJoinColumn#getReferencedColumnName()
+ * @see #getXmlBaseJoinColumn()
+ * @generated
+ */
+ public EAttribute getXmlBaseJoinColumn_ReferencedColumnName()
+ {
+ return (EAttribute)xmlBaseJoinColumnEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlNamedColumn <em>Abstract Xml Named Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Named Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlNamedColumn
+ * @generated
+ */
+ public EClass getAbstractXmlNamedColumn()
+ {
+ return abstractXmlNamedColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping <em>Abstract Xml Relationship Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Relationship Mapping</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping
+ * @generated
+ */
+ public EClass getAbstractXmlRelationshipMapping()
+ {
+ return abstractXmlRelationshipMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#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.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getTargetEntity()
+ * @see #getAbstractXmlRelationshipMapping()
+ * @generated
+ */
+ public EAttribute getAbstractXmlRelationshipMapping_TargetEntity()
+ {
+ return (EAttribute)abstractXmlRelationshipMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getFetch <em>Fetch</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fetch</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getFetch()
+ * @see #getAbstractXmlRelationshipMapping()
+ * @generated
+ */
+ public EAttribute getAbstractXmlRelationshipMapping_Fetch()
+ {
+ return (EAttribute)abstractXmlRelationshipMappingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getCascade <em>Cascade</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Cascade</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getCascade()
+ * @see #getAbstractXmlRelationshipMapping()
+ * @generated
+ */
+ public EReference getAbstractXmlRelationshipMapping_Cascade()
+ {
+ return (EReference)abstractXmlRelationshipMappingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping <em>Abstract Xml Single Relationship Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Single Relationship Mapping</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping
+ * @generated
+ */
+ public EClass getAbstractXmlSingleRelationshipMapping()
+ {
+ return abstractXmlSingleRelationshipMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#getOptional <em>Optional</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Optional</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#getOptional()
+ * @see #getAbstractXmlSingleRelationshipMapping()
+ * @generated
+ */
+ public EAttribute getAbstractXmlSingleRelationshipMapping_Optional()
+ {
+ return (EAttribute)abstractXmlSingleRelationshipMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable <em>Abstract Xml Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Table</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable
+ * @generated
+ */
+ public EClass getAbstractXmlTable()
+ {
+ return abstractXmlTableEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getName()
+ * @see #getAbstractXmlTable()
+ * @generated
+ */
+ public EAttribute getAbstractXmlTable_Name()
+ {
+ return (EAttribute)abstractXmlTableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getCatalog <em>Catalog</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Catalog</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getCatalog()
+ * @see #getAbstractXmlTable()
+ * @generated
+ */
+ public EAttribute getAbstractXmlTable_Catalog()
+ {
+ return (EAttribute)abstractXmlTableEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getSchema <em>Schema</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Schema</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getSchema()
+ * @see #getAbstractXmlTable()
+ * @generated
+ */
+ public EAttribute getAbstractXmlTable_Schema()
+ {
+ return (EAttribute)abstractXmlTableEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#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.jpt.jpa.core.resource.orm.AbstractXmlTable#getUniqueConstraints()
+ * @see #getAbstractXmlTable()
+ * @generated
+ */
+ public EReference getAbstractXmlTable_UniqueConstraints()
+ {
+ return (EReference)abstractXmlTableEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping <em>Abstract Xml Type Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Type Mapping</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping
+ * @generated
+ */
+ public EClass getAbstractXmlTypeMapping()
+ {
+ return abstractXmlTypeMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder <em>Xml Access Holder</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Access Holder</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder
+ * @generated
+ */
+ public EClass getXmlAccessHolder()
+ {
+ return xmlAccessHolderEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder#getAccess <em>Access</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Access</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder#getAccess()
+ * @see #getXmlAccessHolder()
+ * @generated
+ */
+ public EAttribute getXmlAccessHolder_Access()
+ {
+ return (EAttribute)xmlAccessHolderEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping <em>Xml Attribute Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Attribute Mapping</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping
+ * @generated
+ */
+ public EClass getXmlAttributeMapping()
+ {
+ return xmlAttributeMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping#getName()
+ * @see #getXmlAttributeMapping()
+ * @generated
+ */
+ public EAttribute getXmlAttributeMapping_Name()
+ {
+ return (EAttribute)xmlAttributeMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride <em>Xml Association Override</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Association Override</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride
+ * @generated
+ */
+ public EClass getXmlAssociationOverride()
+ {
+ return xmlAssociationOverrideEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer <em>Xml Association Override Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Association Override Container</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer
+ * @generated
+ */
+ public EClass getXmlAssociationOverrideContainer()
+ {
+ return xmlAssociationOverrideContainerEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer#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.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer#getAssociationOverrides()
+ * @see #getXmlAssociationOverrideContainer()
+ * @generated
+ */
+ public EReference getXmlAssociationOverrideContainer_AssociationOverrides()
+ {
+ return (EReference)xmlAssociationOverrideContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride <em>Xml Attribute Override</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Attribute Override</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride
+ * @generated
+ */
+ public EClass getXmlAttributeOverride()
+ {
+ return xmlAttributeOverrideEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride#getColumn <em>Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride#getColumn()
+ * @see #getXmlAttributeOverride()
+ * @generated
+ */
+ public EReference getXmlAttributeOverride_Column()
+ {
+ return (EReference)xmlAttributeOverrideEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer <em>Xml Attribute Override Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Attribute Override Container</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer
+ * @generated
+ */
+ public EClass getXmlAttributeOverrideContainer()
+ {
+ return xmlAttributeOverrideContainerEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer#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.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer#getAttributeOverrides()
+ * @see #getXmlAttributeOverrideContainer()
+ * @generated
+ */
+ public EReference getXmlAttributeOverrideContainer_AttributeOverrides()
+ {
+ return (EReference)xmlAttributeOverrideContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes <em>Attributes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Attributes</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes
+ * @generated
+ */
+ public EClass getAttributes()
+ {
+ return attributesEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getIds <em>Ids</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Ids</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getIds()
+ * @see #getAttributes()
+ * @generated
+ */
+ public EReference getAttributes_Ids()
+ {
+ return (EReference)attributesEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getEmbeddedIds <em>Embedded Ids</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Embedded Ids</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getEmbeddedIds()
+ * @see #getAttributes()
+ * @generated
+ */
+ public EReference getAttributes_EmbeddedIds()
+ {
+ return (EReference)attributesEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getBasics <em>Basics</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Basics</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getBasics()
+ * @see #getAttributes()
+ * @generated
+ */
+ public EReference getAttributes_Basics()
+ {
+ return (EReference)attributesEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getVersions <em>Versions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Versions</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getVersions()
+ * @see #getAttributes()
+ * @generated
+ */
+ public EReference getAttributes_Versions()
+ {
+ return (EReference)attributesEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getManyToOnes <em>Many To Ones</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Many To Ones</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getManyToOnes()
+ * @see #getAttributes()
+ * @generated
+ */
+ public EReference getAttributes_ManyToOnes()
+ {
+ return (EReference)attributesEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getOneToManys <em>One To Manys</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>One To Manys</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getOneToManys()
+ * @see #getAttributes()
+ * @generated
+ */
+ public EReference getAttributes_OneToManys()
+ {
+ return (EReference)attributesEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getOneToOnes <em>One To Ones</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>One To Ones</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getOneToOnes()
+ * @see #getAttributes()
+ * @generated
+ */
+ public EReference getAttributes_OneToOnes()
+ {
+ return (EReference)attributesEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getManyToManys <em>Many To Manys</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Many To Manys</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getManyToManys()
+ * @see #getAttributes()
+ * @generated
+ */
+ public EReference getAttributes_ManyToManys()
+ {
+ return (EReference)attributesEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getEmbeddeds <em>Embeddeds</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Embeddeds</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getEmbeddeds()
+ * @see #getAttributes()
+ * @generated
+ */
+ public EReference getAttributes_Embeddeds()
+ {
+ return (EReference)attributesEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getTransients <em>Transients</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Transients</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getTransients()
+ * @see #getAttributes()
+ * @generated
+ */
+ public EReference getAttributes_Transients()
+ {
+ return (EReference)attributesEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic <em>Xml Basic</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Basic</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBasic
+ * @generated
+ */
+ public EClass getXmlBasic()
+ {
+ return xmlBasicEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getFetch <em>Fetch</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fetch</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getFetch()
+ * @see #getXmlBasic()
+ * @generated
+ */
+ public EAttribute getXmlBasic_Fetch()
+ {
+ return (EAttribute)xmlBasicEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getOptional <em>Optional</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Optional</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getOptional()
+ * @see #getXmlBasic()
+ * @generated
+ */
+ public EAttribute getXmlBasic_Optional()
+ {
+ return (EAttribute)xmlBasicEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType <em>Cascade Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Cascade Type</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType
+ * @generated
+ */
+ public EClass getCascadeType()
+ {
+ return cascadeTypeEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeAll <em>Cascade All</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade All</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeAll()
+ * @see #getCascadeType()
+ * @generated
+ */
+ public EAttribute getCascadeType_CascadeAll()
+ {
+ return (EAttribute)cascadeTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadePersist <em>Cascade Persist</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade Persist</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadePersist()
+ * @see #getCascadeType()
+ * @generated
+ */
+ public EAttribute getCascadeType_CascadePersist()
+ {
+ return (EAttribute)cascadeTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeMerge <em>Cascade Merge</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade Merge</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeMerge()
+ * @see #getCascadeType()
+ * @generated
+ */
+ public EAttribute getCascadeType_CascadeMerge()
+ {
+ return (EAttribute)cascadeTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRemove <em>Cascade Remove</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade Remove</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRemove()
+ * @see #getCascadeType()
+ * @generated
+ */
+ public EAttribute getCascadeType_CascadeRemove()
+ {
+ return (EAttribute)cascadeTypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRefresh <em>Cascade Refresh</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade Refresh</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRefresh()
+ * @see #getCascadeType()
+ * @generated
+ */
+ public EAttribute getCascadeType_CascadeRefresh()
+ {
+ return (EAttribute)cascadeTypeEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference <em>Xml Class Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Class Reference</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference
+ * @generated
+ */
+ public EClass getXmlClassReference()
+ {
+ return xmlClassReferenceEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference#getClassName <em>Class Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Class Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference#getClassName()
+ * @see #getXmlClassReference()
+ * @generated
+ */
+ public EAttribute getXmlClassReference_ClassName()
+ {
+ return (EAttribute)xmlClassReferenceEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable <em>Xml Collection Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Collection Table</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable
+ * @generated
+ */
+ public EClass getXmlCollectionTable()
+ {
+ return xmlCollectionTableEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn <em>Xml Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlColumn
+ * @generated
+ */
+ public EClass getXmlColumn()
+ {
+ return xmlColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getLength <em>Length</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Length</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getLength()
+ * @see #getXmlColumn()
+ * @generated
+ */
+ public EAttribute getXmlColumn_Length()
+ {
+ return (EAttribute)xmlColumnEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getPrecision <em>Precision</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Precision</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getPrecision()
+ * @see #getXmlColumn()
+ * @generated
+ */
+ public EAttribute getXmlColumn_Precision()
+ {
+ return (EAttribute)xmlColumnEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getScale <em>Scale</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Scale</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getScale()
+ * @see #getXmlColumn()
+ * @generated
+ */
+ public EAttribute getXmlColumn_Scale()
+ {
+ return (EAttribute)xmlColumnEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping <em>Column Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Column Mapping</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping
+ * @generated
+ */
+ public EClass getColumnMapping()
+ {
+ return columnMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping#getColumn <em>Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping#getColumn()
+ * @see #getColumnMapping()
+ * @generated
+ */
+ public EReference getColumnMapping_Column()
+ {
+ return (EReference)columnMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnResult <em>Column Result</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Column Result</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnResult
+ * @generated
+ */
+ public EClass getColumnResult()
+ {
+ return columnResultEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnResult#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnResult#getName()
+ * @see #getColumnResult()
+ * @generated
+ */
+ public EAttribute getColumnResult_Name()
+ {
+ return (EAttribute)columnResultEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping <em>Xml Convertible Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Convertible Mapping</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping
+ * @generated
+ */
+ public EClass getXmlConvertibleMapping()
+ {
+ return xmlConvertibleMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#isLob <em>Lob</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Lob</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#isLob()
+ * @see #getXmlConvertibleMapping()
+ * @generated
+ */
+ public EAttribute getXmlConvertibleMapping_Lob()
+ {
+ return (EAttribute)xmlConvertibleMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getTemporal <em>Temporal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Temporal</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getTemporal()
+ * @see #getXmlConvertibleMapping()
+ * @generated
+ */
+ public EAttribute getXmlConvertibleMapping_Temporal()
+ {
+ return (EAttribute)xmlConvertibleMappingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getEnumerated <em>Enumerated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Enumerated</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getEnumerated()
+ * @see #getXmlConvertibleMapping()
+ * @generated
+ */
+ public EAttribute getXmlConvertibleMapping_Enumerated()
+ {
+ return (EAttribute)xmlConvertibleMappingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlDiscriminatorColumn <em>Xml Discriminator Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Discriminator Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlDiscriminatorColumn
+ * @generated
+ */
+ public EClass getXmlDiscriminatorColumn()
+ {
+ return xmlDiscriminatorColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection <em>Xml Element Collection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Element Collection</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection
+ * @generated
+ */
+ public EClass getXmlElementCollection()
+ {
+ return xmlElementCollectionEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable <em>Xml Embeddable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Embeddable</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable
+ * @generated
+ */
+ public EClass getXmlEmbeddable()
+ {
+ return xmlEmbeddableEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded <em>Xml Embedded</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Embedded</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded
+ * @generated
+ */
+ public EClass getXmlEmbedded()
+ {
+ return xmlEmbeddedEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId <em>Xml Embedded Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Embedded Id</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId
+ * @generated
+ */
+ public EClass getXmlEmbeddedId()
+ {
+ return xmlEmbeddedIdEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity <em>Xml Entity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Entity</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity
+ * @generated
+ */
+ public EClass getXmlEntity()
+ {
+ return xmlEntityEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getName()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EAttribute getXmlEntity_Name()
+ {
+ return (EAttribute)xmlEntityEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getTable <em>Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Table</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getTable()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_Table()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#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.jpt.jpa.core.resource.orm.XmlEntity#getSecondaryTables()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_SecondaryTables()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#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.jpt.jpa.core.resource.orm.XmlEntity#getPrimaryKeyJoinColumns()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_PrimaryKeyJoinColumns()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getInheritance <em>Inheritance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Inheritance</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getInheritance()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_Inheritance()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorValue <em>Discriminator Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Discriminator Value</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorValue()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EAttribute getXmlEntity_DiscriminatorValue()
+ {
+ return (EAttribute)xmlEntityEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#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.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorColumn()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_DiscriminatorColumn()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getSqlResultSetMappings <em>Sql Result Set Mappings</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Sql Result Set Mappings</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getSqlResultSetMappings()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_SqlResultSetMappings()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exclude Default Listeners</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeDefaultListeners()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EAttribute getXmlEntity_ExcludeDefaultListeners()
+ {
+ return (EAttribute)xmlEntityEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exclude Superclass Listeners</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeSuperclassListeners()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EAttribute getXmlEntity_ExcludeSuperclassListeners()
+ {
+ return (EAttribute)xmlEntityEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getEntityListeners <em>Entity Listeners</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Entity Listeners</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getEntityListeners()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_EntityListeners()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener <em>Entity Listener</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Entity Listener</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListener
+ * @generated
+ */
+ public EClass getEntityListener()
+ {
+ return entityListenerEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getClassName <em>Class Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Class Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getClassName()
+ * @see #getEntityListener()
+ * @generated
+ */
+ public EAttribute getEntityListener_ClassName()
+ {
+ return (EAttribute)entityListenerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListeners <em>Entity Listeners</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Entity Listeners</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListeners
+ * @generated
+ */
+ public EClass getEntityListeners()
+ {
+ return entityListenersEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListeners#getEntityListeners <em>Entity Listeners</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Entity Listeners</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListeners#getEntityListeners()
+ * @see #getEntityListeners()
+ * @generated
+ */
+ public EReference getEntityListeners_EntityListeners()
+ {
+ return (EReference)entityListenersEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings <em>Xml Entity Mappings</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Entity Mappings</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings
+ * @generated
+ */
+ public EClass getXmlEntityMappings()
+ {
+ return xmlEntityMappingsEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getDescription()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EAttribute getXmlEntityMappings_Description()
+ {
+ return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPersistenceUnitMetadata <em>Persistence Unit Metadata</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Persistence Unit Metadata</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPersistenceUnitMetadata()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_PersistenceUnitMetadata()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPackage <em>Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Package</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPackage()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EAttribute getXmlEntityMappings_Package()
+ {
+ return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSchema <em>Schema</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Schema</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSchema()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EAttribute getXmlEntityMappings_Schema()
+ {
+ return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getCatalog <em>Catalog</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Catalog</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getCatalog()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EAttribute getXmlEntityMappings_Catalog()
+ {
+ return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#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.jpt.jpa.core.resource.orm.XmlEntityMappings#getSequenceGenerators()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_SequenceGenerators()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#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.jpt.jpa.core.resource.orm.XmlEntityMappings#getTableGenerators()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_TableGenerators()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSqlResultSetMappings <em>Sql Result Set Mappings</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Sql Result Set Mappings</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSqlResultSetMappings()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_SqlResultSetMappings()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getMappedSuperclasses <em>Mapped Superclasses</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Mapped Superclasses</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getMappedSuperclasses()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_MappedSuperclasses()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getEntities <em>Entities</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Entities</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getEntities()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_Entities()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getEmbeddables <em>Embeddables</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Embeddables</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getEmbeddables()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_Embeddables()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult <em>Entity Result</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Entity Result</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityResult
+ * @generated
+ */
+ public EClass getEntityResult()
+ {
+ return entityResultEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getDiscriminatorColumn <em>Discriminator Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Discriminator Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getDiscriminatorColumn()
+ * @see #getEntityResult()
+ * @generated
+ */
+ public EAttribute getEntityResult_DiscriminatorColumn()
+ {
+ return (EAttribute)entityResultEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getEntityClass <em>Entity Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Entity Class</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getEntityClass()
+ * @see #getEntityResult()
+ * @generated
+ */
+ public EAttribute getEntityResult_EntityClass()
+ {
+ return (EAttribute)entityResultEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getFieldResults <em>Field Results</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Field Results</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getFieldResults()
+ * @see #getEntityResult()
+ * @generated
+ */
+ public EReference getEntityResult_FieldResults()
+ {
+ return (EReference)entityResultEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.EventMethod <em>Event Method</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Event Method</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EventMethod
+ * @generated
+ */
+ public EClass getEventMethod()
+ {
+ return eventMethodEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.EventMethod#getMethodName <em>Method Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Method Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EventMethod#getMethodName()
+ * @see #getEventMethod()
+ * @generated
+ */
+ public EAttribute getEventMethod_MethodName()
+ {
+ return (EAttribute)eventMethodEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer <em>Xml Event Method Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Event Method Container</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer
+ * @generated
+ */
+ public EClass getXmlEventMethodContainer()
+ {
+ return xmlEventMethodContainerEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPrePersist <em>Pre Persist</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Pre Persist</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPrePersist()
+ * @see #getXmlEventMethodContainer()
+ * @generated
+ */
+ public EReference getXmlEventMethodContainer_PrePersist()
+ {
+ return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostPersist <em>Post Persist</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Post Persist</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostPersist()
+ * @see #getXmlEventMethodContainer()
+ * @generated
+ */
+ public EReference getXmlEventMethodContainer_PostPersist()
+ {
+ return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreRemove <em>Pre Remove</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Pre Remove</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreRemove()
+ * @see #getXmlEventMethodContainer()
+ * @generated
+ */
+ public EReference getXmlEventMethodContainer_PreRemove()
+ {
+ return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostRemove <em>Post Remove</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Post Remove</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostRemove()
+ * @see #getXmlEventMethodContainer()
+ * @generated
+ */
+ public EReference getXmlEventMethodContainer_PostRemove()
+ {
+ return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreUpdate <em>Pre Update</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Pre Update</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreUpdate()
+ * @see #getXmlEventMethodContainer()
+ * @generated
+ */
+ public EReference getXmlEventMethodContainer_PreUpdate()
+ {
+ return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostUpdate <em>Post Update</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Post Update</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostUpdate()
+ * @see #getXmlEventMethodContainer()
+ * @generated
+ */
+ public EReference getXmlEventMethodContainer_PostUpdate()
+ {
+ return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostLoad <em>Post Load</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Post Load</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostLoad()
+ * @see #getXmlEventMethodContainer()
+ * @generated
+ */
+ public EReference getXmlEventMethodContainer_PostLoad()
+ {
+ return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult <em>Field Result</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Field Result</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.FieldResult
+ * @generated
+ */
+ public EClass getFieldResult()
+ {
+ return fieldResultEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getName()
+ * @see #getFieldResult()
+ * @generated
+ */
+ public EAttribute getFieldResult_Name()
+ {
+ return (EAttribute)fieldResultEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getColumn <em>Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getColumn()
+ * @see #getFieldResult()
+ * @generated
+ */
+ public EAttribute getFieldResult_Column()
+ {
+ return (EAttribute)fieldResultEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue <em>Xml Generated Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Generated Value</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue
+ * @generated
+ */
+ public EClass getXmlGeneratedValue()
+ {
+ return xmlGeneratedValueEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#getGenerator <em>Generator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Generator</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#getGenerator()
+ * @see #getXmlGeneratedValue()
+ * @generated
+ */
+ public EAttribute getXmlGeneratedValue_Generator()
+ {
+ return (EAttribute)xmlGeneratedValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#getStrategy <em>Strategy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Strategy</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#getStrategy()
+ * @see #getXmlGeneratedValue()
+ * @generated
+ */
+ public EAttribute getXmlGeneratedValue_Strategy()
+ {
+ return (EAttribute)xmlGeneratedValueEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator <em>Xml Generator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Generator</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator
+ * @generated
+ */
+ public EClass getXmlGenerator()
+ {
+ return xmlGeneratorEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getName()
+ * @see #getXmlGenerator()
+ * @generated
+ */
+ public EAttribute getXmlGenerator_Name()
+ {
+ return (EAttribute)xmlGeneratorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#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.jpt.jpa.core.resource.orm.XmlGenerator#getInitialValue()
+ * @see #getXmlGenerator()
+ * @generated
+ */
+ public EAttribute getXmlGenerator_InitialValue()
+ {
+ return (EAttribute)xmlGeneratorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#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.jpt.jpa.core.resource.orm.XmlGenerator#getAllocationSize()
+ * @see #getXmlGenerator()
+ * @generated
+ */
+ public EAttribute getXmlGenerator_AllocationSize()
+ {
+ return (EAttribute)xmlGeneratorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer <em>Xml Generator Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Generator Container</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer
+ * @generated
+ */
+ public EClass getXmlGeneratorContainer()
+ {
+ return xmlGeneratorContainerEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#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.jpt.jpa.core.resource.orm.XmlGeneratorContainer#getSequenceGenerator()
+ * @see #getXmlGeneratorContainer()
+ * @generated
+ */
+ public EReference getXmlGeneratorContainer_SequenceGenerator()
+ {
+ return (EReference)xmlGeneratorContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#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.jpt.jpa.core.resource.orm.XmlGeneratorContainer#getTableGenerator()
+ * @see #getXmlGeneratorContainer()
+ * @generated
+ */
+ public EReference getXmlGeneratorContainer_TableGenerator()
+ {
+ return (EReference)xmlGeneratorContainerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId <em>Xml Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Id</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlId
+ * @generated
+ */
+ public EClass getXmlId()
+ {
+ return xmlIdEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId#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.jpt.jpa.core.resource.orm.XmlId#getGeneratedValue()
+ * @see #getXmlId()
+ * @generated
+ */
+ public EReference getXmlId_GeneratedValue()
+ {
+ return (EReference)xmlIdEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer <em>Xml Id Class Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Id Class Container</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer
+ * @generated
+ */
+ public EClass getXmlIdClassContainer()
+ {
+ return xmlIdClassContainerEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer#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.jpt.jpa.core.resource.orm.XmlIdClassContainer#getIdClass()
+ * @see #getXmlIdClassContainer()
+ * @generated
+ */
+ public EReference getXmlIdClassContainer_IdClass()
+ {
+ return (EReference)xmlIdClassContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.Inheritance <em>Inheritance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Inheritance</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Inheritance
+ * @generated
+ */
+ public EClass getInheritance()
+ {
+ return inheritanceEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.Inheritance#getStrategy <em>Strategy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Strategy</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Inheritance#getStrategy()
+ * @see #getInheritance()
+ * @generated
+ */
+ public EAttribute getInheritance_Strategy()
+ {
+ return (EAttribute)inheritanceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn <em>Xml Join Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Join Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn
+ * @generated
+ */
+ public EClass getXmlJoinColumn()
+ {
+ return xmlJoinColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer <em>Xml Join Column Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Join Column Container</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer
+ * @generated
+ */
+ public EClass getXmlJoinColumnContainer()
+ {
+ return xmlJoinColumnContainerEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer#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.jpt.jpa.core.resource.orm.XmlJoinColumnContainer#getJoinColumns()
+ * @see #getXmlJoinColumnContainer()
+ * @generated
+ */
+ public EReference getXmlJoinColumnContainer_JoinColumns()
+ {
+ return (EReference)xmlJoinColumnContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable <em>Xml Join Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Join Table</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable
+ * @generated
+ */
+ public EClass getXmlJoinTable()
+ {
+ return xmlJoinTableEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable#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.jpt.jpa.core.resource.orm.XmlJoinTable#getInverseJoinColumns()
+ * @see #getXmlJoinTable()
+ * @generated
+ */
+ public EReference getXmlJoinTable_InverseJoinColumns()
+ {
+ return (EReference)xmlJoinTableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer <em>Xml Join Table Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Join Table Container</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer
+ * @generated
+ */
+ public EClass getXmlJoinTableContainer()
+ {
+ return xmlJoinTableContainerEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer#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.jpt.jpa.core.resource.orm.XmlJoinTableContainer#getJoinTable()
+ * @see #getXmlJoinTableContainer()
+ * @generated
+ */
+ public EReference getXmlJoinTableContainer_JoinTable()
+ {
+ return (EReference)xmlJoinTableContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.Lob <em>Lob</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lob</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Lob
+ * @generated
+ */
+ public EClass getLob()
+ {
+ return lobEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany <em>Xml Many To Many</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Many To Many</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany
+ * @generated
+ */
+ public EClass getXmlManyToMany()
+ {
+ return xmlManyToManyEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne <em>Xml Many To One</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Many To One</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne
+ * @generated
+ */
+ public EClass getXmlManyToOne()
+ {
+ return xmlManyToOneEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.MapKey <em>Map Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Map Key</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.MapKey
+ * @generated
+ */
+ public EClass getMapKey()
+ {
+ return mapKeyEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.MapKey#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.MapKey#getName()
+ * @see #getMapKey()
+ * @generated
+ */
+ public EAttribute getMapKey_Name()
+ {
+ return (EAttribute)mapKeyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping <em>Xml Mapped By Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Mapped By Mapping</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping
+ * @generated
+ */
+ public EClass getXmlMappedByMapping()
+ {
+ return xmlMappedByMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping#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.jpt.jpa.core.resource.orm.XmlMappedByMapping#getMappedBy()
+ * @see #getXmlMappedByMapping()
+ * @generated
+ */
+ public EAttribute getXmlMappedByMapping_MappedBy()
+ {
+ return (EAttribute)xmlMappedByMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass <em>Xml Mapped Superclass</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Mapped Superclass</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass
+ * @generated
+ */
+ public EClass getXmlMappedSuperclass()
+ {
+ return xmlMappedSuperclassEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exclude Default Listeners</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeDefaultListeners()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EAttribute getXmlMappedSuperclass_ExcludeDefaultListeners()
+ {
+ return (EAttribute)xmlMappedSuperclassEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exclude Superclass Listeners</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeSuperclassListeners()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EAttribute getXmlMappedSuperclass_ExcludeSuperclassListeners()
+ {
+ return (EAttribute)xmlMappedSuperclassEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#getEntityListeners <em>Entity Listeners</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Entity Listeners</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#getEntityListeners()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EReference getXmlMappedSuperclass_EntityListeners()
+ {
+ return (EReference)xmlMappedSuperclassEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery <em>Xml Named Native Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Named Native Query</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery
+ * @generated
+ */
+ public EClass getXmlNamedNativeQuery()
+ {
+ return xmlNamedNativeQueryEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultClass <em>Result Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Result Class</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultClass()
+ * @see #getXmlNamedNativeQuery()
+ * @generated
+ */
+ public EAttribute getXmlNamedNativeQuery_ResultClass()
+ {
+ return (EAttribute)xmlNamedNativeQueryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultSetMapping <em>Result Set Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Result Set Mapping</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultSetMapping()
+ * @see #getXmlNamedNativeQuery()
+ * @generated
+ */
+ public EAttribute getXmlNamedNativeQuery_ResultSetMapping()
+ {
+ return (EAttribute)xmlNamedNativeQueryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery <em>Xml Named Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Named Query</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery
+ * @generated
+ */
+ public EClass getXmlNamedQuery()
+ {
+ return xmlNamedQueryEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNullAttributeMapping <em>Xml Null Attribute Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Null Attribute Mapping</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNullAttributeMapping
+ * @generated
+ */
+ public EClass getXmlNullAttributeMapping()
+ {
+ return xmlNullAttributeMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany <em>Xml One To Many</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml One To Many</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany
+ * @generated
+ */
+ public EClass getXmlOneToMany()
+ {
+ return xmlOneToManyEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne <em>Xml One To One</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml One To One</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne
+ * @generated
+ */
+ public EClass getXmlOneToOne()
+ {
+ return xmlOneToOneEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn <em>Xml Order Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Order Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn
+ * @generated
+ */
+ public EClass getXmlOrderColumn()
+ {
+ return xmlOrderColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOverride <em>Xml Override</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Override</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOverride
+ * @generated
+ */
+ public EClass getXmlOverride()
+ {
+ return xmlOverrideEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOverride#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOverride#getName()
+ * @see #getXmlOverride()
+ * @generated
+ */
+ public EAttribute getXmlOverride_Name()
+ {
+ return (EAttribute)xmlOverrideEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults <em>Xml Persistence Unit Defaults</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Persistence Unit Defaults</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults
+ * @generated
+ */
+ public EClass getXmlPersistenceUnitDefaults()
+ {
+ return xmlPersistenceUnitDefaultsEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getSchema <em>Schema</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Schema</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getSchema()
+ * @see #getXmlPersistenceUnitDefaults()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnitDefaults_Schema()
+ {
+ return (EAttribute)xmlPersistenceUnitDefaultsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getCatalog <em>Catalog</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Catalog</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getCatalog()
+ * @see #getXmlPersistenceUnitDefaults()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnitDefaults_Catalog()
+ {
+ return (EAttribute)xmlPersistenceUnitDefaultsEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#isCascadePersist <em>Cascade Persist</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade Persist</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#isCascadePersist()
+ * @see #getXmlPersistenceUnitDefaults()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnitDefaults_CascadePersist()
+ {
+ return (EAttribute)xmlPersistenceUnitDefaultsEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getEntityListeners <em>Entity Listeners</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Entity Listeners</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getEntityListeners()
+ * @see #getXmlPersistenceUnitDefaults()
+ * @generated
+ */
+ public EReference getXmlPersistenceUnitDefaults_EntityListeners()
+ {
+ return (EReference)xmlPersistenceUnitDefaultsEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata <em>Xml Persistence Unit Metadata</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Persistence Unit Metadata</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata
+ * @generated
+ */
+ public EClass getXmlPersistenceUnitMetadata()
+ {
+ return xmlPersistenceUnitMetadataEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#isXmlMappingMetadataComplete <em>Xml Mapping Metadata Complete</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Xml Mapping Metadata Complete</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#isXmlMappingMetadataComplete()
+ * @see #getXmlPersistenceUnitMetadata()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnitMetadata_XmlMappingMetadataComplete()
+ {
+ return (EAttribute)xmlPersistenceUnitMetadataEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#getPersistenceUnitDefaults <em>Persistence Unit Defaults</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Persistence Unit Defaults</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#getPersistenceUnitDefaults()
+ * @see #getXmlPersistenceUnitMetadata()
+ * @generated
+ */
+ public EReference getXmlPersistenceUnitMetadata_PersistenceUnitDefaults()
+ {
+ return (EReference)xmlPersistenceUnitMetadataEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlReferenceTable <em>Abstract Xml Reference Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Reference Table</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlReferenceTable
+ * @generated
+ */
+ public EClass getAbstractXmlReferenceTable()
+ {
+ return abstractXmlReferenceTableEClass;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable <em>Xml Reference Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Reference Table</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable
+ * @generated
+ */
+ public EClass getXmlReferenceTable()
+ {
+ return xmlReferenceTableEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable#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.jpt.jpa.core.resource.orm.XmlReferenceTable#getJoinColumns()
+ * @see #getXmlReferenceTable()
+ * @generated
+ */
+ public EReference getXmlReferenceTable_JoinColumns()
+ {
+ return (EReference)xmlReferenceTableEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PostLoad <em>Post Load</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Post Load</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PostLoad
+ * @generated
+ */
+ public EClass getPostLoad()
+ {
+ return postLoadEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PostPersist <em>Post Persist</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Post Persist</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PostPersist
+ * @generated
+ */
+ public EClass getPostPersist()
+ {
+ return postPersistEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PostRemove <em>Post Remove</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Post Remove</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PostRemove
+ * @generated
+ */
+ public EClass getPostRemove()
+ {
+ return postRemoveEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PostUpdate <em>Post Update</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Post Update</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PostUpdate
+ * @generated
+ */
+ public EClass getPostUpdate()
+ {
+ return postUpdateEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PrePersist <em>Pre Persist</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Pre Persist</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PrePersist
+ * @generated
+ */
+ public EClass getPrePersist()
+ {
+ return prePersistEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PreRemove <em>Pre Remove</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Pre Remove</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PreRemove
+ * @generated
+ */
+ public EClass getPreRemove()
+ {
+ return preRemoveEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PreUpdate <em>Pre Update</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Pre Update</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PreUpdate
+ * @generated
+ */
+ public EClass getPreUpdate()
+ {
+ return preUpdateEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn <em>Xml Primary Key Join Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Primary Key Join Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn
+ * @generated
+ */
+ public EClass getXmlPrimaryKeyJoinColumn()
+ {
+ return xmlPrimaryKeyJoinColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer <em>Xml Primary Key Join Column Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Primary Key Join Column Container</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer
+ * @generated
+ */
+ public EClass getXmlPrimaryKeyJoinColumnContainer()
+ {
+ return xmlPrimaryKeyJoinColumnContainerEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer#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.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer#getPrimaryKeyJoinColumns()
+ * @see #getXmlPrimaryKeyJoinColumnContainer()
+ * @generated
+ */
+ public EReference getXmlPrimaryKeyJoinColumnContainer_PrimaryKeyJoinColumns()
+ {
+ return (EReference)xmlPrimaryKeyJoinColumnContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery <em>Xml Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Query</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQuery
+ * @generated
+ */
+ public EClass getXmlQuery()
+ {
+ return xmlQueryEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getName()
+ * @see #getXmlQuery()
+ * @generated
+ */
+ public EAttribute getXmlQuery_Name()
+ {
+ return (EAttribute)xmlQueryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getQuery <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Query</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getQuery()
+ * @see #getXmlQuery()
+ * @generated
+ */
+ public EAttribute getXmlQuery_Query()
+ {
+ return (EAttribute)xmlQueryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getHints <em>Hints</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Hints</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getHints()
+ * @see #getXmlQuery()
+ * @generated
+ */
+ public EReference getXmlQuery_Hints()
+ {
+ return (EReference)xmlQueryEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer <em>Xml Query Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Query Container</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer
+ * @generated
+ */
+ public EClass getXmlQueryContainer()
+ {
+ return xmlQueryContainerEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer#getNamedQueries <em>Named Queries</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Named Queries</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer#getNamedQueries()
+ * @see #getXmlQueryContainer()
+ * @generated
+ */
+ public EReference getXmlQueryContainer_NamedQueries()
+ {
+ return (EReference)xmlQueryContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer#getNamedNativeQueries <em>Named Native Queries</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Named Native Queries</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer#getNamedNativeQueries()
+ * @see #getXmlQueryContainer()
+ * @generated
+ */
+ public EReference getXmlQueryContainer_NamedNativeQueries()
+ {
+ return (EReference)xmlQueryContainerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint <em>Xml Query Hint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Query Hint</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint
+ * @generated
+ */
+ public EClass getXmlQueryHint()
+ {
+ return xmlQueryHintEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getName()
+ * @see #getXmlQueryHint()
+ * @generated
+ */
+ public EAttribute getXmlQueryHint_Name()
+ {
+ return (EAttribute)xmlQueryHintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getValue()
+ * @see #getXmlQueryHint()
+ * @generated
+ */
+ public EAttribute getXmlQueryHint_Value()
+ {
+ return (EAttribute)xmlQueryHintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable <em>Xml Secondary Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Secondary Table</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable
+ * @generated
+ */
+ public EClass getXmlSecondaryTable()
+ {
+ return xmlSecondaryTableEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable#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.jpt.jpa.core.resource.orm.XmlSecondaryTable#getPrimaryKeyJoinColumns()
+ * @see #getXmlSecondaryTable()
+ * @generated
+ */
+ public EReference getXmlSecondaryTable_PrimaryKeyJoinColumns()
+ {
+ return (EReference)xmlSecondaryTableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator <em>Xml Sequence Generator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Sequence Generator</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator
+ * @generated
+ */
+ public EClass getXmlSequenceGenerator()
+ {
+ return xmlSequenceGeneratorEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#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.jpt.jpa.core.resource.orm.XmlSequenceGenerator#getSequenceName()
+ * @see #getXmlSequenceGenerator()
+ * @generated
+ */
+ public EAttribute getXmlSequenceGenerator_SequenceName()
+ {
+ return (EAttribute)xmlSequenceGeneratorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping <em>Sql Result Set Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sql Result Set Mapping</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping
+ * @generated
+ */
+ public EClass getSqlResultSetMapping()
+ {
+ return sqlResultSetMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getName()
+ * @see #getSqlResultSetMapping()
+ * @generated
+ */
+ public EAttribute getSqlResultSetMapping_Name()
+ {
+ return (EAttribute)sqlResultSetMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getEntityResults <em>Entity Results</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Entity Results</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getEntityResults()
+ * @see #getSqlResultSetMapping()
+ * @generated
+ */
+ public EReference getSqlResultSetMapping_EntityResults()
+ {
+ return (EReference)sqlResultSetMappingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getColumnResults <em>Column Results</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Column Results</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getColumnResults()
+ * @see #getSqlResultSetMapping()
+ * @generated
+ */
+ public EReference getSqlResultSetMapping_ColumnResults()
+ {
+ return (EReference)sqlResultSetMappingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTable <em>Xml Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Table</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTable
+ * @generated
+ */
+ public EClass getXmlTable()
+ {
+ return xmlTableEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator <em>Xml Table Generator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Table Generator</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator
+ * @generated
+ */
+ public EClass getXmlTableGenerator()
+ {
+ return xmlTableGeneratorEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getTable <em>Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Table</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getTable()
+ * @see #getXmlTableGenerator()
+ * @generated
+ */
+ public EAttribute getXmlTableGenerator_Table()
+ {
+ return (EAttribute)xmlTableGeneratorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getCatalog <em>Catalog</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Catalog</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getCatalog()
+ * @see #getXmlTableGenerator()
+ * @generated
+ */
+ public EAttribute getXmlTableGenerator_Catalog()
+ {
+ return (EAttribute)xmlTableGeneratorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getSchema <em>Schema</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Schema</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getSchema()
+ * @see #getXmlTableGenerator()
+ * @generated
+ */
+ public EAttribute getXmlTableGenerator_Schema()
+ {
+ return (EAttribute)xmlTableGeneratorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#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.jpt.jpa.core.resource.orm.XmlTableGenerator#getPkColumnName()
+ * @see #getXmlTableGenerator()
+ * @generated
+ */
+ public EAttribute getXmlTableGenerator_PkColumnName()
+ {
+ return (EAttribute)xmlTableGeneratorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#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.jpt.jpa.core.resource.orm.XmlTableGenerator#getValueColumnName()
+ * @see #getXmlTableGenerator()
+ * @generated
+ */
+ public EAttribute getXmlTableGenerator_ValueColumnName()
+ {
+ return (EAttribute)xmlTableGeneratorEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#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.jpt.jpa.core.resource.orm.XmlTableGenerator#getPkColumnValue()
+ * @see #getXmlTableGenerator()
+ * @generated
+ */
+ public EAttribute getXmlTableGenerator_PkColumnValue()
+ {
+ return (EAttribute)xmlTableGeneratorEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#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.jpt.jpa.core.resource.orm.XmlTableGenerator#getUniqueConstraints()
+ * @see #getXmlTableGenerator()
+ * @generated
+ */
+ public EReference getXmlTableGenerator_UniqueConstraints()
+ {
+ return (EReference)xmlTableGeneratorEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTransient <em>Xml Transient</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Transient</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTransient
+ * @generated
+ */
+ public EClass getXmlTransient()
+ {
+ return xmlTransientEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping <em>Xml Type Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Type Mapping</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping
+ * @generated
+ */
+ public EClass getXmlTypeMapping()
+ {
+ return xmlTypeMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getClassName <em>Class Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Class Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getClassName()
+ * @see #getXmlTypeMapping()
+ * @generated
+ */
+ public EAttribute getXmlTypeMapping_ClassName()
+ {
+ return (EAttribute)xmlTypeMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getMetadataComplete <em>Metadata Complete</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Metadata Complete</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getMetadataComplete()
+ * @see #getXmlTypeMapping()
+ * @generated
+ */
+ public EAttribute getXmlTypeMapping_MetadataComplete()
+ {
+ return (EAttribute)xmlTypeMappingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getDescription()
+ * @see #getXmlTypeMapping()
+ * @generated
+ */
+ public EAttribute getXmlTypeMapping_Description()
+ {
+ return (EAttribute)xmlTypeMappingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getAttributes <em>Attributes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Attributes</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getAttributes()
+ * @see #getXmlTypeMapping()
+ * @generated
+ */
+ public EReference getXmlTypeMapping_Attributes()
+ {
+ return (EReference)xmlTypeMappingEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint <em>Xml Unique Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Unique Constraint</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint
+ * @generated
+ */
+ public EClass getXmlUniqueConstraint()
+ {
+ return xmlUniqueConstraintEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint#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.jpt.jpa.core.resource.orm.XmlUniqueConstraint#getColumnNames()
+ * @see #getXmlUniqueConstraint()
+ * @generated
+ */
+ public EAttribute getXmlUniqueConstraint_ColumnNames()
+ {
+ return (EAttribute)xmlUniqueConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion <em>Xml Version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Version</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlVersion
+ * @generated
+ */
+ public EClass getXmlVersion()
+ {
+ return xmlVersionEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable <em>Xml Orderable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Orderable</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable
+ * @generated
+ */
+ public EClass getXmlOrderable()
+ {
+ return xmlOrderableEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable#getOrderBy <em>Order By</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Order By</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable#getOrderBy()
+ * @see #getXmlOrderable()
+ * @generated
+ */
+ public EAttribute getXmlOrderable_OrderBy()
+ {
+ return (EAttribute)xmlOrderableEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType <em>Discriminator Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Discriminator Type</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType
+ * @generated
+ */
+ public EEnum getDiscriminatorType()
+ {
+ return discriminatorTypeEEnum;
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.EnumType <em>Enum Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Enum Type</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @generated
+ */
+ public EEnum getEnumType()
+ {
+ return enumTypeEEnum;
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.FetchType <em>Fetch Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Fetch Type</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType
+ * @generated
+ */
+ public EEnum getFetchType()
+ {
+ return fetchTypeEEnum;
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.GenerationType <em>Generation Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Generation Type</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.GenerationType
+ * @generated
+ */
+ public EEnum getGenerationType()
+ {
+ return generationTypeEEnum;
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.InheritanceType <em>Inheritance Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Inheritance Type</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.InheritanceType
+ * @generated
+ */
+ public EEnum getInheritanceType()
+ {
+ return inheritanceTypeEEnum;
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType <em>Temporal Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Temporal Type</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @generated
+ */
+ public EEnum getTemporalType()
+ {
+ return temporalTypeEEnum;
+ }
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ public OrmFactory getOrmFactory()
+ {
+ return (OrmFactory)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
+ abstractXmlAttributeMappingEClass = createEClass(ABSTRACT_XML_ATTRIBUTE_MAPPING);
+
+ xmlBaseColumnEClass = createEClass(XML_BASE_COLUMN);
+ createEAttribute(xmlBaseColumnEClass, XML_BASE_COLUMN__INSERTABLE);
+ createEAttribute(xmlBaseColumnEClass, XML_BASE_COLUMN__NULLABLE);
+ createEAttribute(xmlBaseColumnEClass, XML_BASE_COLUMN__TABLE);
+ createEAttribute(xmlBaseColumnEClass, XML_BASE_COLUMN__UNIQUE);
+ createEAttribute(xmlBaseColumnEClass, XML_BASE_COLUMN__UPDATABLE);
+
+ abstractXmlBaseColumnEClass = createEClass(ABSTRACT_XML_BASE_COLUMN);
+
+ abstractXmlBaseDiscriminatorColumnEClass = createEClass(ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN);
+
+ abstractXmlEmbeddedEClass = createEClass(ABSTRACT_XML_EMBEDDED);
+
+ abstractXmlMultiRelationshipMappingEClass = createEClass(ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING);
+ createEReference(abstractXmlMultiRelationshipMappingEClass, ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY);
+
+ xmlNamedColumnEClass = createEClass(XML_NAMED_COLUMN);
+ createEAttribute(xmlNamedColumnEClass, XML_NAMED_COLUMN__COLUMN_DEFINITION);
+ createEAttribute(xmlNamedColumnEClass, XML_NAMED_COLUMN__NAME);
+
+ xmlBaseDiscriminatorColumnEClass = createEClass(XML_BASE_DISCRIMINATOR_COLUMN);
+ createEAttribute(xmlBaseDiscriminatorColumnEClass, XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE);
+ createEAttribute(xmlBaseDiscriminatorColumnEClass, XML_BASE_DISCRIMINATOR_COLUMN__LENGTH);
+
+ xmlBaseJoinColumnEClass = createEClass(XML_BASE_JOIN_COLUMN);
+ createEAttribute(xmlBaseJoinColumnEClass, XML_BASE_JOIN_COLUMN__REFERENCED_COLUMN_NAME);
+
+ abstractXmlNamedColumnEClass = createEClass(ABSTRACT_XML_NAMED_COLUMN);
+
+ abstractXmlRelationshipMappingEClass = createEClass(ABSTRACT_XML_RELATIONSHIP_MAPPING);
+ createEAttribute(abstractXmlRelationshipMappingEClass, ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY);
+ createEAttribute(abstractXmlRelationshipMappingEClass, ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH);
+ createEReference(abstractXmlRelationshipMappingEClass, ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE);
+
+ abstractXmlSingleRelationshipMappingEClass = createEClass(ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING);
+ createEAttribute(abstractXmlSingleRelationshipMappingEClass, ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL);
+
+ abstractXmlReferenceTableEClass = createEClass(ABSTRACT_XML_REFERENCE_TABLE);
+
+ abstractXmlTableEClass = createEClass(ABSTRACT_XML_TABLE);
+ createEAttribute(abstractXmlTableEClass, ABSTRACT_XML_TABLE__NAME);
+ createEAttribute(abstractXmlTableEClass, ABSTRACT_XML_TABLE__CATALOG);
+ createEAttribute(abstractXmlTableEClass, ABSTRACT_XML_TABLE__SCHEMA);
+ createEReference(abstractXmlTableEClass, ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS);
+
+ abstractXmlTypeMappingEClass = createEClass(ABSTRACT_XML_TYPE_MAPPING);
+
+ xmlAccessHolderEClass = createEClass(XML_ACCESS_HOLDER);
+ createEAttribute(xmlAccessHolderEClass, XML_ACCESS_HOLDER__ACCESS);
+
+ xmlAttributeMappingEClass = createEClass(XML_ATTRIBUTE_MAPPING);
+ createEAttribute(xmlAttributeMappingEClass, XML_ATTRIBUTE_MAPPING__NAME);
+
+ xmlAssociationOverrideEClass = createEClass(XML_ASSOCIATION_OVERRIDE);
+
+ xmlAssociationOverrideContainerEClass = createEClass(XML_ASSOCIATION_OVERRIDE_CONTAINER);
+ createEReference(xmlAssociationOverrideContainerEClass, XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES);
+
+ xmlAttributeOverrideEClass = createEClass(XML_ATTRIBUTE_OVERRIDE);
+ createEReference(xmlAttributeOverrideEClass, XML_ATTRIBUTE_OVERRIDE__COLUMN);
+
+ xmlAttributeOverrideContainerEClass = createEClass(XML_ATTRIBUTE_OVERRIDE_CONTAINER);
+ createEReference(xmlAttributeOverrideContainerEClass, XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES);
+
+ attributesEClass = createEClass(ATTRIBUTES);
+ createEReference(attributesEClass, ATTRIBUTES__IDS);
+ createEReference(attributesEClass, ATTRIBUTES__EMBEDDED_IDS);
+ createEReference(attributesEClass, ATTRIBUTES__BASICS);
+ createEReference(attributesEClass, ATTRIBUTES__VERSIONS);
+ createEReference(attributesEClass, ATTRIBUTES__MANY_TO_ONES);
+ createEReference(attributesEClass, ATTRIBUTES__ONE_TO_MANYS);
+ createEReference(attributesEClass, ATTRIBUTES__ONE_TO_ONES);
+ createEReference(attributesEClass, ATTRIBUTES__MANY_TO_MANYS);
+ createEReference(attributesEClass, ATTRIBUTES__EMBEDDEDS);
+ createEReference(attributesEClass, ATTRIBUTES__TRANSIENTS);
+
+ xmlBasicEClass = createEClass(XML_BASIC);
+ createEAttribute(xmlBasicEClass, XML_BASIC__FETCH);
+ createEAttribute(xmlBasicEClass, XML_BASIC__OPTIONAL);
+
+ cascadeTypeEClass = createEClass(CASCADE_TYPE);
+ createEAttribute(cascadeTypeEClass, CASCADE_TYPE__CASCADE_ALL);
+ createEAttribute(cascadeTypeEClass, CASCADE_TYPE__CASCADE_PERSIST);
+ createEAttribute(cascadeTypeEClass, CASCADE_TYPE__CASCADE_MERGE);
+ createEAttribute(cascadeTypeEClass, CASCADE_TYPE__CASCADE_REMOVE);
+ createEAttribute(cascadeTypeEClass, CASCADE_TYPE__CASCADE_REFRESH);
+
+ xmlClassReferenceEClass = createEClass(XML_CLASS_REFERENCE);
+ createEAttribute(xmlClassReferenceEClass, XML_CLASS_REFERENCE__CLASS_NAME);
+
+ xmlCollectionTableEClass = createEClass(XML_COLLECTION_TABLE);
+
+ xmlColumnEClass = createEClass(XML_COLUMN);
+ createEAttribute(xmlColumnEClass, XML_COLUMN__LENGTH);
+ createEAttribute(xmlColumnEClass, XML_COLUMN__PRECISION);
+ createEAttribute(xmlColumnEClass, XML_COLUMN__SCALE);
+
+ columnMappingEClass = createEClass(COLUMN_MAPPING);
+ createEReference(columnMappingEClass, COLUMN_MAPPING__COLUMN);
+
+ columnResultEClass = createEClass(COLUMN_RESULT);
+ createEAttribute(columnResultEClass, COLUMN_RESULT__NAME);
+
+ xmlConvertibleMappingEClass = createEClass(XML_CONVERTIBLE_MAPPING);
+ createEAttribute(xmlConvertibleMappingEClass, XML_CONVERTIBLE_MAPPING__LOB);
+ createEAttribute(xmlConvertibleMappingEClass, XML_CONVERTIBLE_MAPPING__TEMPORAL);
+ createEAttribute(xmlConvertibleMappingEClass, XML_CONVERTIBLE_MAPPING__ENUMERATED);
+
+ xmlDiscriminatorColumnEClass = createEClass(XML_DISCRIMINATOR_COLUMN);
+
+ xmlElementCollectionEClass = createEClass(XML_ELEMENT_COLLECTION);
+
+ xmlEmbeddableEClass = createEClass(XML_EMBEDDABLE);
+
+ xmlEmbeddedEClass = createEClass(XML_EMBEDDED);
+
+ xmlEmbeddedIdEClass = createEClass(XML_EMBEDDED_ID);
+
+ xmlEntityEClass = createEClass(XML_ENTITY);
+ createEAttribute(xmlEntityEClass, XML_ENTITY__NAME);
+ createEReference(xmlEntityEClass, XML_ENTITY__TABLE);
+ createEReference(xmlEntityEClass, XML_ENTITY__SECONDARY_TABLES);
+ createEReference(xmlEntityEClass, XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS);
+ createEReference(xmlEntityEClass, XML_ENTITY__INHERITANCE);
+ createEAttribute(xmlEntityEClass, XML_ENTITY__DISCRIMINATOR_VALUE);
+ createEReference(xmlEntityEClass, XML_ENTITY__DISCRIMINATOR_COLUMN);
+ createEReference(xmlEntityEClass, XML_ENTITY__SQL_RESULT_SET_MAPPINGS);
+ createEAttribute(xmlEntityEClass, XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS);
+ createEAttribute(xmlEntityEClass, XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS);
+ createEReference(xmlEntityEClass, XML_ENTITY__ENTITY_LISTENERS);
+
+ entityListenerEClass = createEClass(ENTITY_LISTENER);
+ createEAttribute(entityListenerEClass, ENTITY_LISTENER__CLASS_NAME);
+
+ entityListenersEClass = createEClass(ENTITY_LISTENERS);
+ createEReference(entityListenersEClass, ENTITY_LISTENERS__ENTITY_LISTENERS);
+
+ xmlEntityMappingsEClass = createEClass(XML_ENTITY_MAPPINGS);
+ createEAttribute(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__DESCRIPTION);
+ createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA);
+ createEAttribute(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__PACKAGE);
+ createEAttribute(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__SCHEMA);
+ createEAttribute(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__CATALOG);
+ createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS);
+ createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__TABLE_GENERATORS);
+ createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS);
+ createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES);
+ createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__ENTITIES);
+ createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__EMBEDDABLES);
+
+ entityResultEClass = createEClass(ENTITY_RESULT);
+ createEAttribute(entityResultEClass, ENTITY_RESULT__DISCRIMINATOR_COLUMN);
+ createEAttribute(entityResultEClass, ENTITY_RESULT__ENTITY_CLASS);
+ createEReference(entityResultEClass, ENTITY_RESULT__FIELD_RESULTS);
+
+ eventMethodEClass = createEClass(EVENT_METHOD);
+ createEAttribute(eventMethodEClass, EVENT_METHOD__METHOD_NAME);
+
+ xmlEventMethodContainerEClass = createEClass(XML_EVENT_METHOD_CONTAINER);
+ createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__PRE_PERSIST);
+ createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__POST_PERSIST);
+ createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__PRE_REMOVE);
+ createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__POST_REMOVE);
+ createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__PRE_UPDATE);
+ createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__POST_UPDATE);
+ createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__POST_LOAD);
+
+ fieldResultEClass = createEClass(FIELD_RESULT);
+ createEAttribute(fieldResultEClass, FIELD_RESULT__NAME);
+ createEAttribute(fieldResultEClass, FIELD_RESULT__COLUMN);
+
+ xmlGeneratedValueEClass = createEClass(XML_GENERATED_VALUE);
+ createEAttribute(xmlGeneratedValueEClass, XML_GENERATED_VALUE__GENERATOR);
+ createEAttribute(xmlGeneratedValueEClass, XML_GENERATED_VALUE__STRATEGY);
+
+ xmlGeneratorEClass = createEClass(XML_GENERATOR);
+ createEAttribute(xmlGeneratorEClass, XML_GENERATOR__NAME);
+ createEAttribute(xmlGeneratorEClass, XML_GENERATOR__INITIAL_VALUE);
+ createEAttribute(xmlGeneratorEClass, XML_GENERATOR__ALLOCATION_SIZE);
+
+ xmlGeneratorContainerEClass = createEClass(XML_GENERATOR_CONTAINER);
+ createEReference(xmlGeneratorContainerEClass, XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR);
+ createEReference(xmlGeneratorContainerEClass, XML_GENERATOR_CONTAINER__TABLE_GENERATOR);
+
+ xmlIdEClass = createEClass(XML_ID);
+ createEReference(xmlIdEClass, XML_ID__GENERATED_VALUE);
+
+ xmlIdClassContainerEClass = createEClass(XML_ID_CLASS_CONTAINER);
+ createEReference(xmlIdClassContainerEClass, XML_ID_CLASS_CONTAINER__ID_CLASS);
+
+ inheritanceEClass = createEClass(INHERITANCE);
+ createEAttribute(inheritanceEClass, INHERITANCE__STRATEGY);
+
+ xmlJoinColumnEClass = createEClass(XML_JOIN_COLUMN);
+
+ xmlJoinColumnContainerEClass = createEClass(XML_JOIN_COLUMN_CONTAINER);
+ createEReference(xmlJoinColumnContainerEClass, XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS);
+
+ xmlJoinTableEClass = createEClass(XML_JOIN_TABLE);
+ createEReference(xmlJoinTableEClass, XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS);
+
+ xmlJoinTableContainerEClass = createEClass(XML_JOIN_TABLE_CONTAINER);
+ createEReference(xmlJoinTableContainerEClass, XML_JOIN_TABLE_CONTAINER__JOIN_TABLE);
+
+ lobEClass = createEClass(LOB);
+
+ xmlManyToManyEClass = createEClass(XML_MANY_TO_MANY);
+
+ xmlManyToOneEClass = createEClass(XML_MANY_TO_ONE);
+
+ mapKeyEClass = createEClass(MAP_KEY);
+ createEAttribute(mapKeyEClass, MAP_KEY__NAME);
+
+ xmlMappedByMappingEClass = createEClass(XML_MAPPED_BY_MAPPING);
+ createEAttribute(xmlMappedByMappingEClass, XML_MAPPED_BY_MAPPING__MAPPED_BY);
+
+ xmlMappedSuperclassEClass = createEClass(XML_MAPPED_SUPERCLASS);
+ createEAttribute(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS);
+ createEAttribute(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS);
+ createEReference(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS);
+
+ xmlNamedNativeQueryEClass = createEClass(XML_NAMED_NATIVE_QUERY);
+ createEAttribute(xmlNamedNativeQueryEClass, XML_NAMED_NATIVE_QUERY__RESULT_CLASS);
+ createEAttribute(xmlNamedNativeQueryEClass, XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING);
+
+ xmlNamedQueryEClass = createEClass(XML_NAMED_QUERY);
+
+ xmlNullAttributeMappingEClass = createEClass(XML_NULL_ATTRIBUTE_MAPPING);
+
+ xmlOneToManyEClass = createEClass(XML_ONE_TO_MANY);
+
+ xmlOneToOneEClass = createEClass(XML_ONE_TO_ONE);
+
+ xmlOrderableEClass = createEClass(XML_ORDERABLE);
+ createEAttribute(xmlOrderableEClass, XML_ORDERABLE__ORDER_BY);
+
+ xmlOrderColumnEClass = createEClass(XML_ORDER_COLUMN);
+
+ xmlOverrideEClass = createEClass(XML_OVERRIDE);
+ createEAttribute(xmlOverrideEClass, XML_OVERRIDE__NAME);
+
+ xmlPersistenceUnitDefaultsEClass = createEClass(XML_PERSISTENCE_UNIT_DEFAULTS);
+ createEAttribute(xmlPersistenceUnitDefaultsEClass, XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA);
+ createEAttribute(xmlPersistenceUnitDefaultsEClass, XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG);
+ createEAttribute(xmlPersistenceUnitDefaultsEClass, XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST);
+ createEReference(xmlPersistenceUnitDefaultsEClass, XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS);
+
+ xmlPersistenceUnitMetadataEClass = createEClass(XML_PERSISTENCE_UNIT_METADATA);
+ createEAttribute(xmlPersistenceUnitMetadataEClass, XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE);
+ createEReference(xmlPersistenceUnitMetadataEClass, XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS);
+
+ xmlReferenceTableEClass = createEClass(XML_REFERENCE_TABLE);
+ createEReference(xmlReferenceTableEClass, XML_REFERENCE_TABLE__JOIN_COLUMNS);
+
+ postLoadEClass = createEClass(POST_LOAD);
+
+ postPersistEClass = createEClass(POST_PERSIST);
+
+ postRemoveEClass = createEClass(POST_REMOVE);
+
+ postUpdateEClass = createEClass(POST_UPDATE);
+
+ prePersistEClass = createEClass(PRE_PERSIST);
+
+ preRemoveEClass = createEClass(PRE_REMOVE);
+
+ preUpdateEClass = createEClass(PRE_UPDATE);
+
+ xmlPrimaryKeyJoinColumnEClass = createEClass(XML_PRIMARY_KEY_JOIN_COLUMN);
+
+ xmlPrimaryKeyJoinColumnContainerEClass = createEClass(XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER);
+ createEReference(xmlPrimaryKeyJoinColumnContainerEClass, XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER__PRIMARY_KEY_JOIN_COLUMNS);
+
+ xmlQueryEClass = createEClass(XML_QUERY);
+ createEAttribute(xmlQueryEClass, XML_QUERY__NAME);
+ createEAttribute(xmlQueryEClass, XML_QUERY__QUERY);
+ createEReference(xmlQueryEClass, XML_QUERY__HINTS);
+
+ xmlQueryContainerEClass = createEClass(XML_QUERY_CONTAINER);
+ createEReference(xmlQueryContainerEClass, XML_QUERY_CONTAINER__NAMED_QUERIES);
+ createEReference(xmlQueryContainerEClass, XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES);
+
+ xmlQueryHintEClass = createEClass(XML_QUERY_HINT);
+ createEAttribute(xmlQueryHintEClass, XML_QUERY_HINT__NAME);
+ createEAttribute(xmlQueryHintEClass, XML_QUERY_HINT__VALUE);
+
+ xmlSecondaryTableEClass = createEClass(XML_SECONDARY_TABLE);
+ createEReference(xmlSecondaryTableEClass, XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS);
+
+ xmlSequenceGeneratorEClass = createEClass(XML_SEQUENCE_GENERATOR);
+ createEAttribute(xmlSequenceGeneratorEClass, XML_SEQUENCE_GENERATOR__SEQUENCE_NAME);
+
+ sqlResultSetMappingEClass = createEClass(SQL_RESULT_SET_MAPPING);
+ createEAttribute(sqlResultSetMappingEClass, SQL_RESULT_SET_MAPPING__NAME);
+ createEReference(sqlResultSetMappingEClass, SQL_RESULT_SET_MAPPING__ENTITY_RESULTS);
+ createEReference(sqlResultSetMappingEClass, SQL_RESULT_SET_MAPPING__COLUMN_RESULTS);
+
+ xmlTableEClass = createEClass(XML_TABLE);
+
+ xmlTableGeneratorEClass = createEClass(XML_TABLE_GENERATOR);
+ createEAttribute(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__TABLE);
+ createEAttribute(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__CATALOG);
+ createEAttribute(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__SCHEMA);
+ createEAttribute(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__PK_COLUMN_NAME);
+ createEAttribute(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__VALUE_COLUMN_NAME);
+ createEAttribute(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__PK_COLUMN_VALUE);
+ createEReference(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS);
+
+ xmlTransientEClass = createEClass(XML_TRANSIENT);
+
+ xmlTypeMappingEClass = createEClass(XML_TYPE_MAPPING);
+ createEAttribute(xmlTypeMappingEClass, XML_TYPE_MAPPING__CLASS_NAME);
+ createEAttribute(xmlTypeMappingEClass, XML_TYPE_MAPPING__METADATA_COMPLETE);
+ createEAttribute(xmlTypeMappingEClass, XML_TYPE_MAPPING__DESCRIPTION);
+ createEReference(xmlTypeMappingEClass, XML_TYPE_MAPPING__ATTRIBUTES);
+
+ xmlUniqueConstraintEClass = createEClass(XML_UNIQUE_CONSTRAINT);
+ createEAttribute(xmlUniqueConstraintEClass, XML_UNIQUE_CONSTRAINT__COLUMN_NAMES);
+
+ xmlVersionEClass = createEClass(XML_VERSION);
+
+ // Create enums
+ discriminatorTypeEEnum = createEEnum(DISCRIMINATOR_TYPE);
+ enumTypeEEnum = createEEnum(ENUM_TYPE);
+ fetchTypeEEnum = createEEnum(FETCH_TYPE);
+ generationTypeEEnum = createEEnum(GENERATION_TYPE);
+ inheritanceTypeEEnum = createEEnum(INHERITANCE_TYPE);
+ temporalTypeEEnum = createEEnum(TEMPORAL_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);
+
+ // Obtain other dependent packages
+ OrmV2_0Package theOrmV2_0Package = (OrmV2_0Package)EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI);
+ XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
+ CommonPackage theCommonPackage = (CommonPackage)EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI);
+
+ // Add subpackages
+ getESubpackages().add(theOrmV2_0Package);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ abstractXmlAttributeMappingEClass.getESuperTypes().add(this.getXmlAttributeMapping());
+ xmlBaseColumnEClass.getESuperTypes().add(this.getXmlNamedColumn());
+ abstractXmlBaseColumnEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn());
+ abstractXmlBaseColumnEClass.getESuperTypes().add(this.getXmlBaseColumn());
+ abstractXmlBaseDiscriminatorColumnEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn());
+ abstractXmlBaseDiscriminatorColumnEClass.getESuperTypes().add(this.getXmlBaseDiscriminatorColumn());
+ abstractXmlEmbeddedEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ abstractXmlEmbeddedEClass.getESuperTypes().add(this.getXmlAttributeOverrideContainer());
+ abstractXmlMultiRelationshipMappingEClass.getESuperTypes().add(this.getAbstractXmlRelationshipMapping());
+ abstractXmlMultiRelationshipMappingEClass.getESuperTypes().add(this.getXmlMappedByMapping());
+ abstractXmlMultiRelationshipMappingEClass.getESuperTypes().add(this.getXmlJoinTableContainer());
+ abstractXmlMultiRelationshipMappingEClass.getESuperTypes().add(this.getXmlOrderable());
+ abstractXmlMultiRelationshipMappingEClass.getESuperTypes().add(theOrmV2_0Package.getXmlMultiRelationshipMapping_2_0());
+ xmlBaseDiscriminatorColumnEClass.getESuperTypes().add(this.getXmlNamedColumn());
+ xmlBaseJoinColumnEClass.getESuperTypes().add(this.getXmlNamedColumn());
+ abstractXmlNamedColumnEClass.getESuperTypes().add(this.getXmlNamedColumn());
+ abstractXmlRelationshipMappingEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ abstractXmlSingleRelationshipMappingEClass.getESuperTypes().add(this.getAbstractXmlRelationshipMapping());
+ abstractXmlSingleRelationshipMappingEClass.getESuperTypes().add(this.getXmlJoinTableContainer());
+ abstractXmlSingleRelationshipMappingEClass.getESuperTypes().add(this.getXmlJoinColumnContainer());
+ abstractXmlSingleRelationshipMappingEClass.getESuperTypes().add(theOrmV2_0Package.getXmlSingleRelationshipMapping_2_0());
+ abstractXmlReferenceTableEClass.getESuperTypes().add(this.getAbstractXmlTable());
+ abstractXmlReferenceTableEClass.getESuperTypes().add(this.getXmlReferenceTable());
+ abstractXmlTypeMappingEClass.getESuperTypes().add(this.getXmlTypeMapping());
+ xmlAttributeMappingEClass.getESuperTypes().add(theOrmV2_0Package.getXmlAttributeMapping_2_0());
+ xmlAssociationOverrideEClass.getESuperTypes().add(this.getXmlOverride());
+ xmlAssociationOverrideEClass.getESuperTypes().add(this.getXmlJoinColumnContainer());
+ xmlAssociationOverrideEClass.getESuperTypes().add(theOrmV2_0Package.getXmlAssociationOverride_2_0());
+ xmlAttributeOverrideEClass.getESuperTypes().add(this.getXmlOverride());
+ xmlAttributeOverrideEClass.getESuperTypes().add(theOrmV2_0Package.getXmlAttributeOverride_2_0());
+ attributesEClass.getESuperTypes().add(theOrmV2_0Package.getXmlAttributes_2_0());
+ xmlBasicEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlBasicEClass.getESuperTypes().add(this.getColumnMapping());
+ xmlBasicEClass.getESuperTypes().add(this.getXmlConvertibleMapping());
+ cascadeTypeEClass.getESuperTypes().add(theOrmV2_0Package.getXmlCascadeType_2_0());
+ xmlCollectionTableEClass.getESuperTypes().add(this.getAbstractXmlReferenceTable());
+ xmlCollectionTableEClass.getESuperTypes().add(theOrmV2_0Package.getXmlCollectionTable_2_0());
+ xmlColumnEClass.getESuperTypes().add(this.getAbstractXmlBaseColumn());
+ xmlDiscriminatorColumnEClass.getESuperTypes().add(this.getAbstractXmlBaseDiscriminatorColumn());
+ xmlElementCollectionEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlElementCollectionEClass.getESuperTypes().add(theOrmV2_0Package.getXmlElementCollection_2_0());
+ xmlEmbeddableEClass.getESuperTypes().add(this.getAbstractXmlTypeMapping());
+ xmlEmbeddedEClass.getESuperTypes().add(this.getAbstractXmlEmbedded());
+ xmlEmbeddedEClass.getESuperTypes().add(theOrmV2_0Package.getXmlEmbedded_2_0());
+ xmlEmbeddedIdEClass.getESuperTypes().add(this.getAbstractXmlEmbedded());
+ xmlEntityEClass.getESuperTypes().add(this.getAbstractXmlTypeMapping());
+ xmlEntityEClass.getESuperTypes().add(this.getXmlQueryContainer());
+ xmlEntityEClass.getESuperTypes().add(this.getXmlGeneratorContainer());
+ xmlEntityEClass.getESuperTypes().add(this.getXmlEventMethodContainer());
+ xmlEntityEClass.getESuperTypes().add(this.getXmlAttributeOverrideContainer());
+ xmlEntityEClass.getESuperTypes().add(this.getXmlAssociationOverrideContainer());
+ xmlEntityEClass.getESuperTypes().add(theOrmV2_0Package.getXmlEntity_2_0());
+ xmlEntityEClass.getESuperTypes().add(this.getXmlIdClassContainer());
+ entityListenerEClass.getESuperTypes().add(this.getXmlEventMethodContainer());
+ entityListenerEClass.getESuperTypes().add(theOrmV2_0Package.getXmlEntityListener_2_0());
+ xmlEntityMappingsEClass.getESuperTypes().add(theCommonPackage.getERootObjectImpl());
+ xmlEntityMappingsEClass.getESuperTypes().add(this.getXmlQueryContainer());
+ xmlEntityMappingsEClass.getESuperTypes().add(this.getXmlAccessHolder());
+ eventMethodEClass.getESuperTypes().add(theOrmV2_0Package.getXmlEventMethod_2_0());
+ xmlGeneratorEClass.getESuperTypes().add(theOrmV2_0Package.getXmlGenerator_2_0());
+ xmlIdEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlIdEClass.getESuperTypes().add(this.getColumnMapping());
+ xmlIdEClass.getESuperTypes().add(this.getXmlConvertibleMapping());
+ xmlIdEClass.getESuperTypes().add(this.getXmlGeneratorContainer());
+ xmlJoinColumnEClass.getESuperTypes().add(this.getAbstractXmlBaseColumn());
+ xmlJoinColumnEClass.getESuperTypes().add(this.getXmlBaseJoinColumn());
+ xmlJoinTableEClass.getESuperTypes().add(this.getAbstractXmlReferenceTable());
+ xmlManyToManyEClass.getESuperTypes().add(this.getAbstractXmlMultiRelationshipMapping());
+ xmlManyToManyEClass.getESuperTypes().add(theOrmV2_0Package.getXmlManyToMany_2_0());
+ xmlManyToOneEClass.getESuperTypes().add(this.getAbstractXmlSingleRelationshipMapping());
+ xmlMappedSuperclassEClass.getESuperTypes().add(this.getAbstractXmlTypeMapping());
+ xmlMappedSuperclassEClass.getESuperTypes().add(this.getXmlIdClassContainer());
+ xmlNamedNativeQueryEClass.getESuperTypes().add(this.getXmlQuery());
+ xmlNamedQueryEClass.getESuperTypes().add(this.getXmlQuery());
+ xmlNamedQueryEClass.getESuperTypes().add(theOrmV2_0Package.getXmlNamedQuery_2_0());
+ xmlNullAttributeMappingEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlOneToManyEClass.getESuperTypes().add(this.getAbstractXmlMultiRelationshipMapping());
+ xmlOneToManyEClass.getESuperTypes().add(this.getXmlJoinColumnContainer());
+ xmlOneToManyEClass.getESuperTypes().add(theOrmV2_0Package.getXmlOneToMany_2_0());
+ xmlOneToOneEClass.getESuperTypes().add(this.getAbstractXmlSingleRelationshipMapping());
+ xmlOneToOneEClass.getESuperTypes().add(this.getXmlMappedByMapping());
+ xmlOneToOneEClass.getESuperTypes().add(this.getXmlPrimaryKeyJoinColumnContainer());
+ xmlOneToOneEClass.getESuperTypes().add(theOrmV2_0Package.getXmlOneToOne_2_0());
+ xmlOrderableEClass.getESuperTypes().add(theOrmV2_0Package.getXmlOrderable_2_0());
+ xmlOrderColumnEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn());
+ xmlOrderColumnEClass.getESuperTypes().add(theOrmV2_0Package.getXmlOrderColumn_2_0());
+ xmlPersistenceUnitDefaultsEClass.getESuperTypes().add(this.getXmlAccessHolder());
+ xmlPersistenceUnitDefaultsEClass.getESuperTypes().add(theOrmV2_0Package.getXmlPersistenceUnitDefaults_2_0());
+ xmlPersistenceUnitMetadataEClass.getESuperTypes().add(theOrmV2_0Package.getXmlPersistenceUnitMetadata_2_0());
+ postLoadEClass.getESuperTypes().add(this.getEventMethod());
+ postPersistEClass.getESuperTypes().add(this.getEventMethod());
+ postRemoveEClass.getESuperTypes().add(this.getEventMethod());
+ postUpdateEClass.getESuperTypes().add(this.getEventMethod());
+ prePersistEClass.getESuperTypes().add(this.getEventMethod());
+ preRemoveEClass.getESuperTypes().add(this.getEventMethod());
+ preUpdateEClass.getESuperTypes().add(this.getEventMethod());
+ xmlPrimaryKeyJoinColumnEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn());
+ xmlPrimaryKeyJoinColumnEClass.getESuperTypes().add(this.getXmlBaseJoinColumn());
+ xmlQueryEClass.getESuperTypes().add(theOrmV2_0Package.getXmlQuery_2_0());
+ xmlQueryHintEClass.getESuperTypes().add(theOrmV2_0Package.getXmlQueryHint_2_0());
+ xmlSecondaryTableEClass.getESuperTypes().add(this.getAbstractXmlTable());
+ xmlSequenceGeneratorEClass.getESuperTypes().add(this.getXmlGenerator());
+ xmlSequenceGeneratorEClass.getESuperTypes().add(theOrmV2_0Package.getXmlSequenceGenerator_2_0());
+ sqlResultSetMappingEClass.getESuperTypes().add(theOrmV2_0Package.getXmlSqlResultSetMapping_2_0());
+ xmlTableEClass.getESuperTypes().add(this.getAbstractXmlTable());
+ xmlTableGeneratorEClass.getESuperTypes().add(this.getXmlGenerator());
+ xmlTransientEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlTypeMappingEClass.getESuperTypes().add(this.getXmlAccessHolder());
+ xmlUniqueConstraintEClass.getESuperTypes().add(theOrmV2_0Package.getXmlUniqueConstraint_2_0());
+ xmlVersionEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlVersionEClass.getESuperTypes().add(this.getColumnMapping());
+ xmlVersionEClass.getESuperTypes().add(this.getXmlConvertibleMapping());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(abstractXmlAttributeMappingEClass, AbstractXmlAttributeMapping.class, "AbstractXmlAttributeMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlBaseColumnEClass, XmlBaseColumn.class, "XmlBaseColumn", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlBaseColumn_Insertable(), theXMLTypePackage.getBooleanObject(), "insertable", null, 0, 1, XmlBaseColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlBaseColumn_Nullable(), theXMLTypePackage.getBooleanObject(), "nullable", null, 0, 1, XmlBaseColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlBaseColumn_Table(), theXMLTypePackage.getString(), "table", null, 0, 1, XmlBaseColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlBaseColumn_Unique(), theXMLTypePackage.getBooleanObject(), "unique", null, 0, 1, XmlBaseColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlBaseColumn_Updatable(), theXMLTypePackage.getBooleanObject(), "updatable", null, 0, 1, XmlBaseColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(abstractXmlBaseColumnEClass, AbstractXmlBaseColumn.class, "AbstractXmlBaseColumn", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(abstractXmlBaseDiscriminatorColumnEClass, AbstractXmlBaseDiscriminatorColumn.class, "AbstractXmlBaseDiscriminatorColumn", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(abstractXmlEmbeddedEClass, AbstractXmlEmbedded.class, "AbstractXmlEmbedded", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(abstractXmlMultiRelationshipMappingEClass, AbstractXmlMultiRelationshipMapping.class, "AbstractXmlMultiRelationshipMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAbstractXmlMultiRelationshipMapping_MapKey(), this.getMapKey(), null, "mapKey", null, 0, 1, AbstractXmlMultiRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlNamedColumnEClass, XmlNamedColumn.class, "XmlNamedColumn", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlNamedColumn_ColumnDefinition(), theXMLTypePackage.getString(), "columnDefinition", null, 0, 1, XmlNamedColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlNamedColumn_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, XmlNamedColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlBaseDiscriminatorColumnEClass, XmlBaseDiscriminatorColumn.class, "XmlBaseDiscriminatorColumn", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlBaseDiscriminatorColumn_DiscriminatorType(), this.getDiscriminatorType(), "discriminatorType", "STRING", 0, 1, XmlBaseDiscriminatorColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlBaseDiscriminatorColumn_Length(), theXMLTypePackage.getIntObject(), "length", null, 0, 1, XmlBaseDiscriminatorColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlBaseJoinColumnEClass, XmlBaseJoinColumn.class, "XmlBaseJoinColumn", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlBaseJoinColumn_ReferencedColumnName(), theXMLTypePackage.getString(), "referencedColumnName", null, 0, 1, XmlBaseJoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(abstractXmlNamedColumnEClass, AbstractXmlNamedColumn.class, "AbstractXmlNamedColumn", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(abstractXmlRelationshipMappingEClass, AbstractXmlRelationshipMapping.class, "AbstractXmlRelationshipMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAbstractXmlRelationshipMapping_TargetEntity(), theXMLTypePackage.getString(), "targetEntity", null, 0, 1, AbstractXmlRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAbstractXmlRelationshipMapping_Fetch(), this.getFetchType(), "fetch", "LAZY", 0, 1, AbstractXmlRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAbstractXmlRelationshipMapping_Cascade(), this.getCascadeType(), null, "cascade", null, 0, 1, AbstractXmlRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(abstractXmlSingleRelationshipMappingEClass, AbstractXmlSingleRelationshipMapping.class, "AbstractXmlSingleRelationshipMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAbstractXmlSingleRelationshipMapping_Optional(), theXMLTypePackage.getBooleanObject(), "optional", null, 0, 1, AbstractXmlSingleRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(abstractXmlReferenceTableEClass, AbstractXmlReferenceTable.class, "AbstractXmlReferenceTable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(abstractXmlTableEClass, AbstractXmlTable.class, "AbstractXmlTable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAbstractXmlTable_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, AbstractXmlTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAbstractXmlTable_Catalog(), theXMLTypePackage.getString(), "catalog", null, 0, 1, AbstractXmlTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAbstractXmlTable_Schema(), theXMLTypePackage.getString(), "schema", null, 0, 1, AbstractXmlTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAbstractXmlTable_UniqueConstraints(), this.getXmlUniqueConstraint(), null, "uniqueConstraints", null, 0, -1, AbstractXmlTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(abstractXmlTypeMappingEClass, AbstractXmlTypeMapping.class, "AbstractXmlTypeMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlAccessHolderEClass, XmlAccessHolder.class, "XmlAccessHolder", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlAccessHolder_Access(), theXMLTypePackage.getString(), "access", null, 0, 1, XmlAccessHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlAttributeMappingEClass, XmlAttributeMapping.class, "XmlAttributeMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlAttributeMapping_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlAttributeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlAssociationOverrideEClass, XmlAssociationOverride.class, "XmlAssociationOverride", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlAssociationOverrideContainerEClass, XmlAssociationOverrideContainer.class, "XmlAssociationOverrideContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlAssociationOverrideContainer_AssociationOverrides(), this.getXmlAssociationOverride(), null, "associationOverrides", null, 0, -1, XmlAssociationOverrideContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlAttributeOverrideEClass, XmlAttributeOverride.class, "XmlAttributeOverride", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlAttributeOverride_Column(), this.getXmlColumn(), null, "column", null, 1, 1, XmlAttributeOverride.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlAttributeOverrideContainerEClass, XmlAttributeOverrideContainer.class, "XmlAttributeOverrideContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlAttributeOverrideContainer_AttributeOverrides(), this.getXmlAttributeOverride(), null, "attributeOverrides", null, 0, -1, XmlAttributeOverrideContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(attributesEClass, Attributes.class, "Attributes", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAttributes_Ids(), this.getXmlId(), null, "ids", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttributes_EmbeddedIds(), this.getXmlEmbeddedId(), null, "embeddedIds", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttributes_Basics(), this.getXmlBasic(), null, "basics", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttributes_Versions(), this.getXmlVersion(), null, "versions", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttributes_ManyToOnes(), this.getXmlManyToOne(), null, "manyToOnes", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttributes_OneToManys(), this.getXmlOneToMany(), null, "oneToManys", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttributes_OneToOnes(), this.getXmlOneToOne(), null, "oneToOnes", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttributes_ManyToManys(), this.getXmlManyToMany(), null, "manyToManys", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttributes_Embeddeds(), this.getXmlEmbedded(), null, "embeddeds", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttributes_Transients(), this.getXmlTransient(), null, "transients", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlBasicEClass, XmlBasic.class, "XmlBasic", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlBasic_Fetch(), this.getFetchType(), "fetch", "LAZY", 0, 1, XmlBasic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlBasic_Optional(), theXMLTypePackage.getBooleanObject(), "optional", null, 0, 1, XmlBasic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(cascadeTypeEClass, CascadeType.class, "CascadeType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCascadeType_CascadeAll(), theXMLTypePackage.getBoolean(), "cascadeAll", null, 0, 1, CascadeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCascadeType_CascadePersist(), theXMLTypePackage.getBoolean(), "cascadePersist", null, 0, 1, CascadeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCascadeType_CascadeMerge(), theXMLTypePackage.getBoolean(), "cascadeMerge", null, 0, 1, CascadeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCascadeType_CascadeRemove(), theXMLTypePackage.getBoolean(), "cascadeRemove", null, 0, 1, CascadeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCascadeType_CascadeRefresh(), theXMLTypePackage.getBoolean(), "cascadeRefresh", null, 0, 1, CascadeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlClassReferenceEClass, XmlClassReference.class, "XmlClassReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlClassReference_ClassName(), theXMLTypePackage.getString(), "className", null, 1, 1, XmlClassReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlCollectionTableEClass, XmlCollectionTable.class, "XmlCollectionTable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlColumnEClass, XmlColumn.class, "XmlColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlColumn_Length(), theXMLTypePackage.getIntObject(), "length", null, 0, 1, XmlColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlColumn_Precision(), theXMLTypePackage.getIntObject(), "precision", null, 0, 1, XmlColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlColumn_Scale(), theXMLTypePackage.getIntObject(), "scale", null, 0, 1, XmlColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(columnMappingEClass, ColumnMapping.class, "ColumnMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getColumnMapping_Column(), this.getXmlColumn(), null, "column", null, 0, 1, ColumnMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(columnResultEClass, ColumnResult.class, "ColumnResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getColumnResult_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ColumnResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlConvertibleMappingEClass, XmlConvertibleMapping.class, "XmlConvertibleMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlConvertibleMapping_Lob(), theXMLTypePackage.getBoolean(), "lob", null, 0, 1, XmlConvertibleMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlConvertibleMapping_Temporal(), this.getTemporalType(), "temporal", null, 0, 1, XmlConvertibleMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlConvertibleMapping_Enumerated(), this.getEnumType(), "enumerated", null, 0, 1, XmlConvertibleMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlDiscriminatorColumnEClass, XmlDiscriminatorColumn.class, "XmlDiscriminatorColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlElementCollectionEClass, XmlElementCollection.class, "XmlElementCollection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlEmbeddableEClass, XmlEmbeddable.class, "XmlEmbeddable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlEmbeddedEClass, XmlEmbedded.class, "XmlEmbedded", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlEmbeddedIdEClass, XmlEmbeddedId.class, "XmlEmbeddedId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlEntityEClass, XmlEntity.class, "XmlEntity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlEntity_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntity_Table(), this.getXmlTable(), null, "table", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntity_SecondaryTables(), this.getXmlSecondaryTable(), null, "secondaryTables", null, 0, -1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntity_PrimaryKeyJoinColumns(), this.getXmlPrimaryKeyJoinColumn(), null, "primaryKeyJoinColumns", null, 0, -1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntity_Inheritance(), this.getInheritance(), null, "inheritance", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlEntity_DiscriminatorValue(), theXMLTypePackage.getString(), "discriminatorValue", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntity_DiscriminatorColumn(), this.getXmlDiscriminatorColumn(), null, "discriminatorColumn", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntity_SqlResultSetMappings(), this.getSqlResultSetMapping(), null, "sqlResultSetMappings", null, 0, -1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlEntity_ExcludeDefaultListeners(), theXMLTypePackage.getBoolean(), "excludeDefaultListeners", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlEntity_ExcludeSuperclassListeners(), theXMLTypePackage.getBoolean(), "excludeSuperclassListeners", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntity_EntityListeners(), this.getEntityListeners(), null, "entityListeners", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(entityListenerEClass, EntityListener.class, "EntityListener", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getEntityListener_ClassName(), theXMLTypePackage.getString(), "className", null, 1, 1, EntityListener.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(entityListenersEClass, EntityListeners.class, "EntityListeners", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEntityListeners_EntityListeners(), this.getEntityListener(), null, "entityListeners", null, 0, -1, EntityListeners.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlEntityMappingsEClass, XmlEntityMappings.class, "XmlEntityMappings", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlEntityMappings_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntityMappings_PersistenceUnitMetadata(), this.getXmlPersistenceUnitMetadata(), null, "persistenceUnitMetadata", null, 0, 1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlEntityMappings_Package(), theXMLTypePackage.getString(), "package", null, 0, 1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlEntityMappings_Schema(), theXMLTypePackage.getString(), "schema", null, 0, 1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlEntityMappings_Catalog(), theXMLTypePackage.getString(), "catalog", null, 0, 1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntityMappings_SequenceGenerators(), this.getXmlSequenceGenerator(), null, "sequenceGenerators", null, 0, -1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntityMappings_TableGenerators(), this.getXmlTableGenerator(), null, "tableGenerators", null, 0, -1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntityMappings_SqlResultSetMappings(), this.getSqlResultSetMapping(), null, "sqlResultSetMappings", null, 0, -1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntityMappings_MappedSuperclasses(), this.getXmlMappedSuperclass(), null, "mappedSuperclasses", null, 0, -1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntityMappings_Entities(), this.getXmlEntity(), null, "entities", null, 0, -1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntityMappings_Embeddables(), this.getXmlEmbeddable(), null, "embeddables", null, 0, -1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(entityResultEClass, EntityResult.class, "EntityResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getEntityResult_DiscriminatorColumn(), theXMLTypePackage.getString(), "discriminatorColumn", null, 0, 1, EntityResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getEntityResult_EntityClass(), theXMLTypePackage.getString(), "entityClass", null, 1, 1, EntityResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getEntityResult_FieldResults(), this.getFieldResult(), null, "fieldResults", null, 0, -1, EntityResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(eventMethodEClass, EventMethod.class, "EventMethod", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getEventMethod_MethodName(), theXMLTypePackage.getString(), "methodName", null, 1, 1, EventMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlEventMethodContainerEClass, XmlEventMethodContainer.class, "XmlEventMethodContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlEventMethodContainer_PrePersist(), this.getPrePersist(), null, "prePersist", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEventMethodContainer_PostPersist(), this.getPostPersist(), null, "postPersist", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEventMethodContainer_PreRemove(), this.getPreRemove(), null, "preRemove", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEventMethodContainer_PostRemove(), this.getPostRemove(), null, "postRemove", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEventMethodContainer_PreUpdate(), this.getPreUpdate(), null, "preUpdate", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEventMethodContainer_PostUpdate(), this.getPostUpdate(), null, "postUpdate", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEventMethodContainer_PostLoad(), this.getPostLoad(), null, "postLoad", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(fieldResultEClass, FieldResult.class, "FieldResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFieldResult_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, FieldResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFieldResult_Column(), theXMLTypePackage.getString(), "column", null, 1, 1, FieldResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlGeneratedValueEClass, XmlGeneratedValue.class, "XmlGeneratedValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlGeneratedValue_Generator(), theXMLTypePackage.getString(), "generator", null, 0, 1, XmlGeneratedValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlGeneratedValue_Strategy(), this.getGenerationType(), "strategy", "TABLE", 0, 1, XmlGeneratedValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlGeneratorEClass, XmlGenerator.class, "XmlGenerator", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlGenerator_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlGenerator_InitialValue(), theXMLTypePackage.getIntObject(), "initialValue", null, 0, 1, XmlGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlGenerator_AllocationSize(), theXMLTypePackage.getIntObject(), "allocationSize", null, 0, 1, XmlGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlGeneratorContainerEClass, XmlGeneratorContainer.class, "XmlGeneratorContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlGeneratorContainer_SequenceGenerator(), this.getXmlSequenceGenerator(), null, "sequenceGenerator", null, 0, 1, XmlGeneratorContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlGeneratorContainer_TableGenerator(), this.getXmlTableGenerator(), null, "tableGenerator", null, 0, 1, XmlGeneratorContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlIdEClass, XmlId.class, "XmlId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlId_GeneratedValue(), this.getXmlGeneratedValue(), null, "generatedValue", null, 0, 1, XmlId.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlIdClassContainerEClass, XmlIdClassContainer.class, "XmlIdClassContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlIdClassContainer_IdClass(), this.getXmlClassReference(), null, "idClass", null, 0, 1, XmlIdClassContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, 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(xmlJoinColumnEClass, XmlJoinColumn.class, "XmlJoinColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlJoinColumnContainerEClass, XmlJoinColumnContainer.class, "XmlJoinColumnContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlJoinColumnContainer_JoinColumns(), this.getXmlJoinColumn(), null, "joinColumns", null, 0, -1, XmlJoinColumnContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlJoinTableEClass, XmlJoinTable.class, "XmlJoinTable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlJoinTable_InverseJoinColumns(), this.getXmlJoinColumn(), null, "inverseJoinColumns", null, 0, -1, XmlJoinTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlJoinTableContainerEClass, XmlJoinTableContainer.class, "XmlJoinTableContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlJoinTableContainer_JoinTable(), this.getXmlJoinTable(), null, "joinTable", null, 0, 1, XmlJoinTableContainer.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(xmlManyToManyEClass, XmlManyToMany.class, "XmlManyToMany", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlManyToOneEClass, XmlManyToOne.class, "XmlManyToOne", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(mapKeyEClass, MapKey.class, "MapKey", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMapKey_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, MapKey.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlMappedByMappingEClass, XmlMappedByMapping.class, "XmlMappedByMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlMappedByMapping_MappedBy(), theXMLTypePackage.getString(), "mappedBy", null, 0, 1, XmlMappedByMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlMappedSuperclassEClass, XmlMappedSuperclass.class, "XmlMappedSuperclass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlMappedSuperclass_ExcludeDefaultListeners(), theXMLTypePackage.getBoolean(), "excludeDefaultListeners", null, 0, 1, XmlMappedSuperclass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlMappedSuperclass_ExcludeSuperclassListeners(), theXMLTypePackage.getBoolean(), "excludeSuperclassListeners", null, 0, 1, XmlMappedSuperclass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlMappedSuperclass_EntityListeners(), this.getEntityListeners(), null, "entityListeners", null, 0, 1, XmlMappedSuperclass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlNamedNativeQueryEClass, XmlNamedNativeQuery.class, "XmlNamedNativeQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlNamedNativeQuery_ResultClass(), theXMLTypePackage.getString(), "resultClass", null, 0, 1, XmlNamedNativeQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlNamedNativeQuery_ResultSetMapping(), theXMLTypePackage.getString(), "resultSetMapping", null, 0, 1, XmlNamedNativeQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlNamedQueryEClass, XmlNamedQuery.class, "XmlNamedQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlNullAttributeMappingEClass, XmlNullAttributeMapping.class, "XmlNullAttributeMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlOneToManyEClass, XmlOneToMany.class, "XmlOneToMany", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlOneToOneEClass, XmlOneToOne.class, "XmlOneToOne", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlOrderableEClass, XmlOrderable.class, "XmlOrderable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlOrderable_OrderBy(), theXMLTypePackage.getString(), "orderBy", null, 0, 1, XmlOrderable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlOrderColumnEClass, XmlOrderColumn.class, "XmlOrderColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlOverrideEClass, XmlOverride.class, "XmlOverride", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlOverride_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlOverride.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlPersistenceUnitDefaultsEClass, XmlPersistenceUnitDefaults.class, "XmlPersistenceUnitDefaults", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlPersistenceUnitDefaults_Schema(), theXMLTypePackage.getString(), "schema", null, 0, 1, XmlPersistenceUnitDefaults.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlPersistenceUnitDefaults_Catalog(), theXMLTypePackage.getString(), "catalog", null, 0, 1, XmlPersistenceUnitDefaults.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlPersistenceUnitDefaults_CascadePersist(), theXMLTypePackage.getBoolean(), "cascadePersist", null, 0, 1, XmlPersistenceUnitDefaults.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlPersistenceUnitDefaults_EntityListeners(), this.getEntityListeners(), null, "entityListeners", null, 0, 1, XmlPersistenceUnitDefaults.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlPersistenceUnitMetadataEClass, XmlPersistenceUnitMetadata.class, "XmlPersistenceUnitMetadata", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlPersistenceUnitMetadata_XmlMappingMetadataComplete(), theXMLTypePackage.getBoolean(), "xmlMappingMetadataComplete", null, 0, 1, XmlPersistenceUnitMetadata.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlPersistenceUnitMetadata_PersistenceUnitDefaults(), this.getXmlPersistenceUnitDefaults(), null, "persistenceUnitDefaults", null, 0, 1, XmlPersistenceUnitMetadata.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlReferenceTableEClass, XmlReferenceTable.class, "XmlReferenceTable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlReferenceTable_JoinColumns(), this.getXmlJoinColumn(), null, "joinColumns", null, 0, -1, XmlReferenceTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(postLoadEClass, PostLoad.class, "PostLoad", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(postPersistEClass, PostPersist.class, "PostPersist", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(postRemoveEClass, PostRemove.class, "PostRemove", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(postUpdateEClass, PostUpdate.class, "PostUpdate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(prePersistEClass, PrePersist.class, "PrePersist", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(preRemoveEClass, PreRemove.class, "PreRemove", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(preUpdateEClass, PreUpdate.class, "PreUpdate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlPrimaryKeyJoinColumnEClass, XmlPrimaryKeyJoinColumn.class, "XmlPrimaryKeyJoinColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlPrimaryKeyJoinColumnContainerEClass, XmlPrimaryKeyJoinColumnContainer.class, "XmlPrimaryKeyJoinColumnContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlPrimaryKeyJoinColumnContainer_PrimaryKeyJoinColumns(), this.getXmlPrimaryKeyJoinColumn(), null, "primaryKeyJoinColumns", null, 0, -1, XmlPrimaryKeyJoinColumnContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlQueryEClass, XmlQuery.class, "XmlQuery", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlQuery_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlQuery_Query(), theXMLTypePackage.getString(), "query", null, 1, 1, XmlQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlQuery_Hints(), this.getXmlQueryHint(), null, "hints", null, 0, -1, XmlQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlQueryContainerEClass, XmlQueryContainer.class, "XmlQueryContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlQueryContainer_NamedQueries(), this.getXmlNamedQuery(), null, "namedQueries", null, 0, -1, XmlQueryContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlQueryContainer_NamedNativeQueries(), this.getXmlNamedNativeQuery(), null, "namedNativeQueries", null, 0, -1, XmlQueryContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlQueryHintEClass, XmlQueryHint.class, "XmlQueryHint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlQueryHint_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlQueryHint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlQueryHint_Value(), theXMLTypePackage.getString(), "value", null, 1, 1, XmlQueryHint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlSecondaryTableEClass, XmlSecondaryTable.class, "XmlSecondaryTable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlSecondaryTable_PrimaryKeyJoinColumns(), this.getXmlPrimaryKeyJoinColumn(), null, "primaryKeyJoinColumns", null, 0, -1, XmlSecondaryTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlSequenceGeneratorEClass, XmlSequenceGenerator.class, "XmlSequenceGenerator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlSequenceGenerator_SequenceName(), theXMLTypePackage.getString(), "sequenceName", null, 0, 1, XmlSequenceGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(sqlResultSetMappingEClass, SqlResultSetMapping.class, "SqlResultSetMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSqlResultSetMapping_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, SqlResultSetMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSqlResultSetMapping_EntityResults(), this.getEntityResult(), null, "entityResults", null, 0, -1, SqlResultSetMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSqlResultSetMapping_ColumnResults(), this.getColumnResult(), null, "columnResults", null, 0, -1, SqlResultSetMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlTableEClass, XmlTable.class, "XmlTable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlTableGeneratorEClass, XmlTableGenerator.class, "XmlTableGenerator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlTableGenerator_Table(), theXMLTypePackage.getString(), "table", null, 0, 1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlTableGenerator_Catalog(), theXMLTypePackage.getString(), "catalog", null, 0, 1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlTableGenerator_Schema(), theXMLTypePackage.getString(), "schema", null, 0, 1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlTableGenerator_PkColumnName(), theXMLTypePackage.getString(), "pkColumnName", null, 0, 1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlTableGenerator_ValueColumnName(), theXMLTypePackage.getString(), "valueColumnName", null, 0, 1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlTableGenerator_PkColumnValue(), theXMLTypePackage.getString(), "pkColumnValue", null, 0, 1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlTableGenerator_UniqueConstraints(), this.getXmlUniqueConstraint(), null, "uniqueConstraints", null, 0, -1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlTransientEClass, XmlTransient.class, "XmlTransient", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlTypeMappingEClass, XmlTypeMapping.class, "XmlTypeMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlTypeMapping_ClassName(), theXMLTypePackage.getString(), "className", null, 1, 1, XmlTypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlTypeMapping_MetadataComplete(), theXMLTypePackage.getBooleanObject(), "metadataComplete", null, 0, 1, XmlTypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlTypeMapping_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlTypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlTypeMapping_Attributes(), this.getAttributes(), null, "attributes", null, 0, 1, XmlTypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlUniqueConstraintEClass, XmlUniqueConstraint.class, "XmlUniqueConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlUniqueConstraint_ColumnNames(), theXMLTypePackage.getString(), "columnNames", null, 1, -1, XmlUniqueConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlVersionEClass, XmlVersion.class, "XmlVersion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ // Initialize enums and add enum literals
+ 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);
+
+ initEEnum(generationTypeEEnum, GenerationType.class, "GenerationType");
+ addEEnumLiteral(generationTypeEEnum, GenerationType.TABLE);
+ addEEnumLiteral(generationTypeEEnum, GenerationType.SEQUENCE);
+ addEEnumLiteral(generationTypeEEnum, GenerationType.IDENTITY);
+ addEEnumLiteral(generationTypeEEnum, GenerationType.AUTO);
+
+ initEEnum(inheritanceTypeEEnum, InheritanceType.class, "InheritanceType");
+ addEEnumLiteral(inheritanceTypeEEnum, InheritanceType.SINGLE_TABLE);
+ addEEnumLiteral(inheritanceTypeEEnum, InheritanceType.JOINED);
+ addEEnumLiteral(inheritanceTypeEEnum, InheritanceType.TABLE_PER_CLASS);
+
+ initEEnum(temporalTypeEEnum, TemporalType.class, "TemporalType");
+ addEEnumLiteral(temporalTypeEEnum, TemporalType.DATE);
+ addEEnumLiteral(temporalTypeEEnum, TemporalType.TIME);
+ addEEnumLiteral(temporalTypeEEnum, TemporalType.TIMESTAMP);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping <em>Abstract Xml Attribute Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlAttributeMapping()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_ATTRIBUTE_MAPPING = eINSTANCE.getAbstractXmlAttributeMapping();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn <em>Xml Base Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn()
+ * @generated
+ */
+ public static final EClass XML_BASE_COLUMN = eINSTANCE.getXmlBaseColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Insertable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_BASE_COLUMN__INSERTABLE = eINSTANCE.getXmlBaseColumn_Insertable();
+
+ /**
+ * The meta object literal for the '<em><b>Nullable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_BASE_COLUMN__NULLABLE = eINSTANCE.getXmlBaseColumn_Nullable();
+
+ /**
+ * The meta object literal for the '<em><b>Table</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_BASE_COLUMN__TABLE = eINSTANCE.getXmlBaseColumn_Table();
+
+ /**
+ * The meta object literal for the '<em><b>Unique</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_BASE_COLUMN__UNIQUE = eINSTANCE.getXmlBaseColumn_Unique();
+
+ /**
+ * The meta object literal for the '<em><b>Updatable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_BASE_COLUMN__UPDATABLE = eINSTANCE.getXmlBaseColumn_Updatable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn <em>Abstract Xml Base Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlBaseColumn()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_BASE_COLUMN = eINSTANCE.getAbstractXmlBaseColumn();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn <em>Abstract Xml Base Discriminator Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlBaseDiscriminatorColumn()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN = eINSTANCE.getAbstractXmlBaseDiscriminatorColumn();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlEmbedded <em>Abstract Xml Embedded</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlEmbedded
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlEmbedded()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_EMBEDDED = eINSTANCE.getAbstractXmlEmbedded();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping <em>Abstract Xml Multi Relationship Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlMultiRelationshipMapping()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING = eINSTANCE.getAbstractXmlMultiRelationshipMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Map Key</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY = eINSTANCE.getAbstractXmlMultiRelationshipMapping_MapKey();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn <em>Xml Named Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedColumn()
+ * @generated
+ */
+ public static final EClass XML_NAMED_COLUMN = eINSTANCE.getXmlNamedColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Column Definition</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_NAMED_COLUMN__COLUMN_DEFINITION = eINSTANCE.getXmlNamedColumn_ColumnDefinition();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_NAMED_COLUMN__NAME = eINSTANCE.getXmlNamedColumn_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn <em>Xml Base Discriminator Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn()
+ * @generated
+ */
+ public static final EClass XML_BASE_DISCRIMINATOR_COLUMN = eINSTANCE.getXmlBaseDiscriminatorColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Discriminator Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE = eINSTANCE.getXmlBaseDiscriminatorColumn_DiscriminatorType();
+
+ /**
+ * The meta object literal for the '<em><b>Length</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_BASE_DISCRIMINATOR_COLUMN__LENGTH = eINSTANCE.getXmlBaseDiscriminatorColumn_Length();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn <em>Xml Base Join Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseJoinColumn()
+ * @generated
+ */
+ public static final EClass XML_BASE_JOIN_COLUMN = eINSTANCE.getXmlBaseJoinColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Referenced Column Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_BASE_JOIN_COLUMN__REFERENCED_COLUMN_NAME = eINSTANCE.getXmlBaseJoinColumn_ReferencedColumnName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlNamedColumn <em>Abstract Xml Named Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlNamedColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlNamedColumn()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_NAMED_COLUMN = eINSTANCE.getAbstractXmlNamedColumn();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping <em>Abstract Xml Relationship Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlRelationshipMapping()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_RELATIONSHIP_MAPPING = eINSTANCE.getAbstractXmlRelationshipMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Target Entity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY = eINSTANCE.getAbstractXmlRelationshipMapping_TargetEntity();
+
+ /**
+ * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH = eINSTANCE.getAbstractXmlRelationshipMapping_Fetch();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE = eINSTANCE.getAbstractXmlRelationshipMapping_Cascade();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping <em>Abstract Xml Single Relationship Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlSingleRelationshipMapping()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING = eINSTANCE.getAbstractXmlSingleRelationshipMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Optional</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL = eINSTANCE.getAbstractXmlSingleRelationshipMapping_Optional();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable <em>Abstract Xml Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_TABLE = eINSTANCE.getAbstractXmlTable();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute ABSTRACT_XML_TABLE__NAME = eINSTANCE.getAbstractXmlTable_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute ABSTRACT_XML_TABLE__CATALOG = eINSTANCE.getAbstractXmlTable_Catalog();
+
+ /**
+ * The meta object literal for the '<em><b>Schema</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute ABSTRACT_XML_TABLE__SCHEMA = eINSTANCE.getAbstractXmlTable_Schema();
+
+ /**
+ * The meta object literal for the '<em><b>Unique Constraints</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS = eINSTANCE.getAbstractXmlTable_UniqueConstraints();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping <em>Abstract Xml Type Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTypeMapping()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_TYPE_MAPPING = eINSTANCE.getAbstractXmlTypeMapping();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder <em>Xml Access Holder</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder()
+ * @generated
+ */
+ public static final EClass XML_ACCESS_HOLDER = eINSTANCE.getXmlAccessHolder();
+
+ /**
+ * The meta object literal for the '<em><b>Access</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ACCESS_HOLDER__ACCESS = eINSTANCE.getXmlAccessHolder_Access();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping <em>Xml Attribute Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeMapping()
+ * @generated
+ */
+ public static final EClass XML_ATTRIBUTE_MAPPING = eINSTANCE.getXmlAttributeMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ATTRIBUTE_MAPPING__NAME = eINSTANCE.getXmlAttributeMapping_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride <em>Xml Association Override</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverride()
+ * @generated
+ */
+ public static final EClass XML_ASSOCIATION_OVERRIDE = eINSTANCE.getXmlAssociationOverride();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer <em>Xml Association Override Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer()
+ * @generated
+ */
+ public static final EClass XML_ASSOCIATION_OVERRIDE_CONTAINER = eINSTANCE.getXmlAssociationOverrideContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Association Overrides</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES = eINSTANCE.getXmlAssociationOverrideContainer_AssociationOverrides();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride <em>Xml Attribute Override</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverride()
+ * @generated
+ */
+ public static final EClass XML_ATTRIBUTE_OVERRIDE = eINSTANCE.getXmlAttributeOverride();
+
+ /**
+ * The meta object literal for the '<em><b>Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ATTRIBUTE_OVERRIDE__COLUMN = eINSTANCE.getXmlAttributeOverride_Column();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer <em>Xml Attribute Override Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer()
+ * @generated
+ */
+ public static final EClass XML_ATTRIBUTE_OVERRIDE_CONTAINER = eINSTANCE.getXmlAttributeOverrideContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Attribute Overrides</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES = eINSTANCE.getXmlAttributeOverrideContainer_AttributeOverrides();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes <em>Attributes</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes()
+ * @generated
+ */
+ public static final EClass ATTRIBUTES = eINSTANCE.getAttributes();
+
+ /**
+ * The meta object literal for the '<em><b>Ids</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ATTRIBUTES__IDS = eINSTANCE.getAttributes_Ids();
+
+ /**
+ * The meta object literal for the '<em><b>Embedded Ids</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ATTRIBUTES__EMBEDDED_IDS = eINSTANCE.getAttributes_EmbeddedIds();
+
+ /**
+ * The meta object literal for the '<em><b>Basics</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ATTRIBUTES__BASICS = eINSTANCE.getAttributes_Basics();
+
+ /**
+ * The meta object literal for the '<em><b>Versions</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ATTRIBUTES__VERSIONS = eINSTANCE.getAttributes_Versions();
+
+ /**
+ * The meta object literal for the '<em><b>Many To Ones</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ATTRIBUTES__MANY_TO_ONES = eINSTANCE.getAttributes_ManyToOnes();
+
+ /**
+ * The meta object literal for the '<em><b>One To Manys</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ATTRIBUTES__ONE_TO_MANYS = eINSTANCE.getAttributes_OneToManys();
+
+ /**
+ * The meta object literal for the '<em><b>One To Ones</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ATTRIBUTES__ONE_TO_ONES = eINSTANCE.getAttributes_OneToOnes();
+
+ /**
+ * The meta object literal for the '<em><b>Many To Manys</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ATTRIBUTES__MANY_TO_MANYS = eINSTANCE.getAttributes_ManyToManys();
+
+ /**
+ * The meta object literal for the '<em><b>Embeddeds</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ATTRIBUTES__EMBEDDEDS = eINSTANCE.getAttributes_Embeddeds();
+
+ /**
+ * The meta object literal for the '<em><b>Transients</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ATTRIBUTES__TRANSIENTS = eINSTANCE.getAttributes_Transients();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic <em>Xml Basic</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBasic
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBasic()
+ * @generated
+ */
+ public static final EClass XML_BASIC = eINSTANCE.getXmlBasic();
+
+ /**
+ * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_BASIC__FETCH = eINSTANCE.getXmlBasic_Fetch();
+
+ /**
+ * The meta object literal for the '<em><b>Optional</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_BASIC__OPTIONAL = eINSTANCE.getXmlBasic_Optional();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType <em>Cascade Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType()
+ * @generated
+ */
+ public static final EClass CASCADE_TYPE = eINSTANCE.getCascadeType();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade All</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute CASCADE_TYPE__CASCADE_ALL = eINSTANCE.getCascadeType_CascadeAll();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade Persist</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute CASCADE_TYPE__CASCADE_PERSIST = eINSTANCE.getCascadeType_CascadePersist();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade Merge</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute CASCADE_TYPE__CASCADE_MERGE = eINSTANCE.getCascadeType_CascadeMerge();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade Remove</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute CASCADE_TYPE__CASCADE_REMOVE = eINSTANCE.getCascadeType_CascadeRemove();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade Refresh</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute CASCADE_TYPE__CASCADE_REFRESH = eINSTANCE.getCascadeType_CascadeRefresh();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference <em>Xml Class Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlClassReference()
+ * @generated
+ */
+ public static final EClass XML_CLASS_REFERENCE = eINSTANCE.getXmlClassReference();
+
+ /**
+ * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_CLASS_REFERENCE__CLASS_NAME = eINSTANCE.getXmlClassReference_ClassName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable <em>Xml Collection Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlCollectionTable()
+ * @generated
+ */
+ public static final EClass XML_COLLECTION_TABLE = eINSTANCE.getXmlCollectionTable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn <em>Xml Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlColumn()
+ * @generated
+ */
+ public static final EClass XML_COLUMN = eINSTANCE.getXmlColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Length</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_COLUMN__LENGTH = eINSTANCE.getXmlColumn_Length();
+
+ /**
+ * The meta object literal for the '<em><b>Precision</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_COLUMN__PRECISION = eINSTANCE.getXmlColumn_Precision();
+
+ /**
+ * The meta object literal for the '<em><b>Scale</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_COLUMN__SCALE = eINSTANCE.getXmlColumn_Scale();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping <em>Column Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnMapping()
+ * @generated
+ */
+ public static final EClass COLUMN_MAPPING = eINSTANCE.getColumnMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference COLUMN_MAPPING__COLUMN = eINSTANCE.getColumnMapping_Column();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnResult <em>Column Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnResult
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnResult()
+ * @generated
+ */
+ public static final EClass COLUMN_RESULT = eINSTANCE.getColumnResult();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute COLUMN_RESULT__NAME = eINSTANCE.getColumnResult_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping <em>Xml Convertible Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping()
+ * @generated
+ */
+ public static final EClass XML_CONVERTIBLE_MAPPING = eINSTANCE.getXmlConvertibleMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Lob</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_CONVERTIBLE_MAPPING__LOB = eINSTANCE.getXmlConvertibleMapping_Lob();
+
+ /**
+ * The meta object literal for the '<em><b>Temporal</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_CONVERTIBLE_MAPPING__TEMPORAL = eINSTANCE.getXmlConvertibleMapping_Temporal();
+
+ /**
+ * The meta object literal for the '<em><b>Enumerated</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_CONVERTIBLE_MAPPING__ENUMERATED = eINSTANCE.getXmlConvertibleMapping_Enumerated();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlDiscriminatorColumn <em>Xml Discriminator Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlDiscriminatorColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlDiscriminatorColumn()
+ * @generated
+ */
+ public static final EClass XML_DISCRIMINATOR_COLUMN = eINSTANCE.getXmlDiscriminatorColumn();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection <em>Xml Element Collection</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection()
+ * @generated
+ */
+ public static final EClass XML_ELEMENT_COLLECTION = eINSTANCE.getXmlElementCollection();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable <em>Xml Embeddable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbeddable()
+ * @generated
+ */
+ public static final EClass XML_EMBEDDABLE = eINSTANCE.getXmlEmbeddable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded <em>Xml Embedded</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbedded()
+ * @generated
+ */
+ public static final EClass XML_EMBEDDED = eINSTANCE.getXmlEmbedded();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId <em>Xml Embedded Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbeddedId()
+ * @generated
+ */
+ public static final EClass XML_EMBEDDED_ID = eINSTANCE.getXmlEmbeddedId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity <em>Xml Entity</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity()
+ * @generated
+ */
+ public static final EClass XML_ENTITY = eINSTANCE.getXmlEntity();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ENTITY__NAME = eINSTANCE.getXmlEntity_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Table</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY__TABLE = eINSTANCE.getXmlEntity_Table();
+
+ /**
+ * The meta object literal for the '<em><b>Secondary Tables</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY__SECONDARY_TABLES = eINSTANCE.getXmlEntity_SecondaryTables();
+
+ /**
+ * 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
+ */
+ public static final EReference XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS = eINSTANCE.getXmlEntity_PrimaryKeyJoinColumns();
+
+ /**
+ * The meta object literal for the '<em><b>Inheritance</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY__INHERITANCE = eINSTANCE.getXmlEntity_Inheritance();
+
+ /**
+ * The meta object literal for the '<em><b>Discriminator Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ENTITY__DISCRIMINATOR_VALUE = eINSTANCE.getXmlEntity_DiscriminatorValue();
+
+ /**
+ * The meta object literal for the '<em><b>Discriminator Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY__DISCRIMINATOR_COLUMN = eINSTANCE.getXmlEntity_DiscriminatorColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Sql Result Set Mappings</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY__SQL_RESULT_SET_MAPPINGS = eINSTANCE.getXmlEntity_SqlResultSetMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Exclude Default Listeners</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS = eINSTANCE.getXmlEntity_ExcludeDefaultListeners();
+
+ /**
+ * The meta object literal for the '<em><b>Exclude Superclass Listeners</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS = eINSTANCE.getXmlEntity_ExcludeSuperclassListeners();
+
+ /**
+ * The meta object literal for the '<em><b>Entity Listeners</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY__ENTITY_LISTENERS = eINSTANCE.getXmlEntity_EntityListeners();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener <em>Entity Listener</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListener
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListener()
+ * @generated
+ */
+ public static final EClass ENTITY_LISTENER = eINSTANCE.getEntityListener();
+
+ /**
+ * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute ENTITY_LISTENER__CLASS_NAME = eINSTANCE.getEntityListener_ClassName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListeners <em>Entity Listeners</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListeners
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListeners()
+ * @generated
+ */
+ public static final EClass ENTITY_LISTENERS = eINSTANCE.getEntityListeners();
+
+ /**
+ * The meta object literal for the '<em><b>Entity Listeners</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ENTITY_LISTENERS__ENTITY_LISTENERS = eINSTANCE.getEntityListeners_EntityListeners();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings <em>Xml Entity Mappings</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings()
+ * @generated
+ */
+ public static final EClass XML_ENTITY_MAPPINGS = eINSTANCE.getXmlEntityMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ENTITY_MAPPINGS__DESCRIPTION = eINSTANCE.getXmlEntityMappings_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Persistence Unit Metadata</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA = eINSTANCE.getXmlEntityMappings_PersistenceUnitMetadata();
+
+ /**
+ * The meta object literal for the '<em><b>Package</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ENTITY_MAPPINGS__PACKAGE = eINSTANCE.getXmlEntityMappings_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Schema</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ENTITY_MAPPINGS__SCHEMA = eINSTANCE.getXmlEntityMappings_Schema();
+
+ /**
+ * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ENTITY_MAPPINGS__CATALOG = eINSTANCE.getXmlEntityMappings_Catalog();
+
+ /**
+ * The meta object literal for the '<em><b>Sequence Generators</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS = eINSTANCE.getXmlEntityMappings_SequenceGenerators();
+
+ /**
+ * The meta object literal for the '<em><b>Table Generators</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY_MAPPINGS__TABLE_GENERATORS = eINSTANCE.getXmlEntityMappings_TableGenerators();
+
+ /**
+ * The meta object literal for the '<em><b>Sql Result Set Mappings</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS = eINSTANCE.getXmlEntityMappings_SqlResultSetMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Mapped Superclasses</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES = eINSTANCE.getXmlEntityMappings_MappedSuperclasses();
+
+ /**
+ * The meta object literal for the '<em><b>Entities</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY_MAPPINGS__ENTITIES = eINSTANCE.getXmlEntityMappings_Entities();
+
+ /**
+ * The meta object literal for the '<em><b>Embeddables</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY_MAPPINGS__EMBEDDABLES = eINSTANCE.getXmlEntityMappings_Embeddables();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult <em>Entity Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EntityResult
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityResult()
+ * @generated
+ */
+ public static final EClass ENTITY_RESULT = eINSTANCE.getEntityResult();
+
+ /**
+ * The meta object literal for the '<em><b>Discriminator Column</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute ENTITY_RESULT__DISCRIMINATOR_COLUMN = eINSTANCE.getEntityResult_DiscriminatorColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Entity Class</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute ENTITY_RESULT__ENTITY_CLASS = eINSTANCE.getEntityResult_EntityClass();
+
+ /**
+ * The meta object literal for the '<em><b>Field Results</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ENTITY_RESULT__FIELD_RESULTS = eINSTANCE.getEntityResult_FieldResults();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EventMethod <em>Event Method</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EventMethod
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEventMethod()
+ * @generated
+ */
+ public static final EClass EVENT_METHOD = eINSTANCE.getEventMethod();
+
+ /**
+ * The meta object literal for the '<em><b>Method Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute EVENT_METHOD__METHOD_NAME = eINSTANCE.getEventMethod_MethodName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer <em>Xml Event Method Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer()
+ * @generated
+ */
+ public static final EClass XML_EVENT_METHOD_CONTAINER = eINSTANCE.getXmlEventMethodContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Pre Persist</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_EVENT_METHOD_CONTAINER__PRE_PERSIST = eINSTANCE.getXmlEventMethodContainer_PrePersist();
+
+ /**
+ * The meta object literal for the '<em><b>Post Persist</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_EVENT_METHOD_CONTAINER__POST_PERSIST = eINSTANCE.getXmlEventMethodContainer_PostPersist();
+
+ /**
+ * The meta object literal for the '<em><b>Pre Remove</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_EVENT_METHOD_CONTAINER__PRE_REMOVE = eINSTANCE.getXmlEventMethodContainer_PreRemove();
+
+ /**
+ * The meta object literal for the '<em><b>Post Remove</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_EVENT_METHOD_CONTAINER__POST_REMOVE = eINSTANCE.getXmlEventMethodContainer_PostRemove();
+
+ /**
+ * The meta object literal for the '<em><b>Pre Update</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_EVENT_METHOD_CONTAINER__PRE_UPDATE = eINSTANCE.getXmlEventMethodContainer_PreUpdate();
+
+ /**
+ * The meta object literal for the '<em><b>Post Update</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_EVENT_METHOD_CONTAINER__POST_UPDATE = eINSTANCE.getXmlEventMethodContainer_PostUpdate();
+
+ /**
+ * The meta object literal for the '<em><b>Post Load</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_EVENT_METHOD_CONTAINER__POST_LOAD = eINSTANCE.getXmlEventMethodContainer_PostLoad();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult <em>Field Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.FieldResult
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getFieldResult()
+ * @generated
+ */
+ public static final EClass FIELD_RESULT = eINSTANCE.getFieldResult();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute FIELD_RESULT__NAME = eINSTANCE.getFieldResult_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Column</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute FIELD_RESULT__COLUMN = eINSTANCE.getFieldResult_Column();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue <em>Xml Generated Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratedValue()
+ * @generated
+ */
+ public static final EClass XML_GENERATED_VALUE = eINSTANCE.getXmlGeneratedValue();
+
+ /**
+ * The meta object literal for the '<em><b>Generator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_GENERATED_VALUE__GENERATOR = eINSTANCE.getXmlGeneratedValue_Generator();
+
+ /**
+ * The meta object literal for the '<em><b>Strategy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_GENERATED_VALUE__STRATEGY = eINSTANCE.getXmlGeneratedValue_Strategy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator <em>Xml Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator()
+ * @generated
+ */
+ public static final EClass XML_GENERATOR = eINSTANCE.getXmlGenerator();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_GENERATOR__NAME = eINSTANCE.getXmlGenerator_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_GENERATOR__INITIAL_VALUE = eINSTANCE.getXmlGenerator_InitialValue();
+
+ /**
+ * The meta object literal for the '<em><b>Allocation Size</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_GENERATOR__ALLOCATION_SIZE = eINSTANCE.getXmlGenerator_AllocationSize();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer <em>Xml Generator Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer()
+ * @generated
+ */
+ public static final EClass XML_GENERATOR_CONTAINER = eINSTANCE.getXmlGeneratorContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Sequence Generator</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR = eINSTANCE.getXmlGeneratorContainer_SequenceGenerator();
+
+ /**
+ * The meta object literal for the '<em><b>Table Generator</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_GENERATOR_CONTAINER__TABLE_GENERATOR = eINSTANCE.getXmlGeneratorContainer_TableGenerator();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId <em>Xml Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlId
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlId()
+ * @generated
+ */
+ public static final EClass XML_ID = eINSTANCE.getXmlId();
+
+ /**
+ * The meta object literal for the '<em><b>Generated Value</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ID__GENERATED_VALUE = eINSTANCE.getXmlId_GeneratedValue();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer <em>Xml Id Class Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlIdClassContainer()
+ * @generated
+ */
+ public static final EClass XML_ID_CLASS_CONTAINER = eINSTANCE.getXmlIdClassContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Id Class</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ID_CLASS_CONTAINER__ID_CLASS = eINSTANCE.getXmlIdClassContainer_IdClass();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.Inheritance <em>Inheritance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Inheritance
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getInheritance()
+ * @generated
+ */
+ public static final EClass INHERITANCE = eINSTANCE.getInheritance();
+
+ /**
+ * The meta object literal for the '<em><b>Strategy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute INHERITANCE__STRATEGY = eINSTANCE.getInheritance_Strategy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn <em>Xml Join Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumn()
+ * @generated
+ */
+ public static final EClass XML_JOIN_COLUMN = eINSTANCE.getXmlJoinColumn();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer <em>Xml Join Column Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer()
+ * @generated
+ */
+ public static final EClass XML_JOIN_COLUMN_CONTAINER = eINSTANCE.getXmlJoinColumnContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS = eINSTANCE.getXmlJoinColumnContainer_JoinColumns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable <em>Xml Join Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTable()
+ * @generated
+ */
+ public static final EClass XML_JOIN_TABLE = eINSTANCE.getXmlJoinTable();
+
+ /**
+ * The meta object literal for the '<em><b>Inverse Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS = eINSTANCE.getXmlJoinTable_InverseJoinColumns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer <em>Xml Join Table Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer()
+ * @generated
+ */
+ public static final EClass XML_JOIN_TABLE_CONTAINER = eINSTANCE.getXmlJoinTableContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Join Table</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_JOIN_TABLE_CONTAINER__JOIN_TABLE = eINSTANCE.getXmlJoinTableContainer_JoinTable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.Lob <em>Lob</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.Lob
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getLob()
+ * @generated
+ */
+ public static final EClass LOB = eINSTANCE.getLob();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany <em>Xml Many To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlManyToMany()
+ * @generated
+ */
+ public static final EClass XML_MANY_TO_MANY = eINSTANCE.getXmlManyToMany();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne <em>Xml Many To One</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlManyToOne()
+ * @generated
+ */
+ public static final EClass XML_MANY_TO_ONE = eINSTANCE.getXmlManyToOne();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.MapKey <em>Map Key</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.MapKey
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getMapKey()
+ * @generated
+ */
+ public static final 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
+ */
+ public static final EAttribute MAP_KEY__NAME = eINSTANCE.getMapKey_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping <em>Xml Mapped By Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedByMapping()
+ * @generated
+ */
+ public static final EClass XML_MAPPED_BY_MAPPING = eINSTANCE.getXmlMappedByMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Mapped By</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_MAPPED_BY_MAPPING__MAPPED_BY = eINSTANCE.getXmlMappedByMapping_MappedBy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass <em>Xml Mapped Superclass</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedSuperclass()
+ * @generated
+ */
+ public static final EClass XML_MAPPED_SUPERCLASS = eINSTANCE.getXmlMappedSuperclass();
+
+ /**
+ * The meta object literal for the '<em><b>Exclude Default Listeners</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS = eINSTANCE.getXmlMappedSuperclass_ExcludeDefaultListeners();
+
+ /**
+ * The meta object literal for the '<em><b>Exclude Superclass Listeners</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS = eINSTANCE.getXmlMappedSuperclass_ExcludeSuperclassListeners();
+
+ /**
+ * The meta object literal for the '<em><b>Entity Listeners</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS = eINSTANCE.getXmlMappedSuperclass_EntityListeners();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery <em>Xml Named Native Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedNativeQuery()
+ * @generated
+ */
+ public static final EClass XML_NAMED_NATIVE_QUERY = eINSTANCE.getXmlNamedNativeQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Result Class</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_NAMED_NATIVE_QUERY__RESULT_CLASS = eINSTANCE.getXmlNamedNativeQuery_ResultClass();
+
+ /**
+ * The meta object literal for the '<em><b>Result Set Mapping</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING = eINSTANCE.getXmlNamedNativeQuery_ResultSetMapping();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery <em>Xml Named Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedQuery()
+ * @generated
+ */
+ public static final EClass XML_NAMED_QUERY = eINSTANCE.getXmlNamedQuery();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNullAttributeMapping <em>Xml Null Attribute Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNullAttributeMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNullAttributeMapping()
+ * @generated
+ */
+ public static final EClass XML_NULL_ATTRIBUTE_MAPPING = eINSTANCE.getXmlNullAttributeMapping();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany <em>Xml One To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOneToMany()
+ * @generated
+ */
+ public static final EClass XML_ONE_TO_MANY = eINSTANCE.getXmlOneToMany();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne <em>Xml One To One</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOneToOne()
+ * @generated
+ */
+ public static final EClass XML_ONE_TO_ONE = eINSTANCE.getXmlOneToOne();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn <em>Xml Order Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderColumn()
+ * @generated
+ */
+ public static final EClass XML_ORDER_COLUMN = eINSTANCE.getXmlOrderColumn();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOverride <em>Xml Override</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOverride
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOverride()
+ * @generated
+ */
+ public static final EClass XML_OVERRIDE = eINSTANCE.getXmlOverride();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_OVERRIDE__NAME = eINSTANCE.getXmlOverride_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults <em>Xml Persistence Unit Defaults</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults()
+ * @generated
+ */
+ public static final EClass XML_PERSISTENCE_UNIT_DEFAULTS = eINSTANCE.getXmlPersistenceUnitDefaults();
+
+ /**
+ * The meta object literal for the '<em><b>Schema</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA = eINSTANCE.getXmlPersistenceUnitDefaults_Schema();
+
+ /**
+ * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG = eINSTANCE.getXmlPersistenceUnitDefaults_Catalog();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade Persist</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST = eINSTANCE.getXmlPersistenceUnitDefaults_CascadePersist();
+
+ /**
+ * The meta object literal for the '<em><b>Entity Listeners</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS = eINSTANCE.getXmlPersistenceUnitDefaults_EntityListeners();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata <em>Xml Persistence Unit Metadata</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitMetadata()
+ * @generated
+ */
+ public static final EClass XML_PERSISTENCE_UNIT_METADATA = eINSTANCE.getXmlPersistenceUnitMetadata();
+
+ /**
+ * The meta object literal for the '<em><b>Xml Mapping Metadata Complete</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE = eINSTANCE.getXmlPersistenceUnitMetadata_XmlMappingMetadataComplete();
+
+ /**
+ * The meta object literal for the '<em><b>Persistence Unit Defaults</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS = eINSTANCE.getXmlPersistenceUnitMetadata_PersistenceUnitDefaults();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlReferenceTable <em>Abstract Xml Reference Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlReferenceTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlReferenceTable()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_REFERENCE_TABLE = eINSTANCE.getAbstractXmlReferenceTable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable <em>Xml Reference Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlReferenceTable()
+ * @generated
+ */
+ public static final EClass XML_REFERENCE_TABLE = eINSTANCE.getXmlReferenceTable();
+
+ /**
+ * The meta object literal for the '<em><b>Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_REFERENCE_TABLE__JOIN_COLUMNS = eINSTANCE.getXmlReferenceTable_JoinColumns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostLoad <em>Post Load</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PostLoad
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostLoad()
+ * @generated
+ */
+ public static final EClass POST_LOAD = eINSTANCE.getPostLoad();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostPersist <em>Post Persist</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PostPersist
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostPersist()
+ * @generated
+ */
+ public static final EClass POST_PERSIST = eINSTANCE.getPostPersist();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostRemove <em>Post Remove</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PostRemove
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostRemove()
+ * @generated
+ */
+ public static final EClass POST_REMOVE = eINSTANCE.getPostRemove();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostUpdate <em>Post Update</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PostUpdate
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostUpdate()
+ * @generated
+ */
+ public static final EClass POST_UPDATE = eINSTANCE.getPostUpdate();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PrePersist <em>Pre Persist</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PrePersist
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPrePersist()
+ * @generated
+ */
+ public static final EClass PRE_PERSIST = eINSTANCE.getPrePersist();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PreRemove <em>Pre Remove</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PreRemove
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPreRemove()
+ * @generated
+ */
+ public static final EClass PRE_REMOVE = eINSTANCE.getPreRemove();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PreUpdate <em>Pre Update</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.PreUpdate
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPreUpdate()
+ * @generated
+ */
+ public static final EClass PRE_UPDATE = eINSTANCE.getPreUpdate();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn <em>Xml Primary Key Join Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumn()
+ * @generated
+ */
+ public static final EClass XML_PRIMARY_KEY_JOIN_COLUMN = eINSTANCE.getXmlPrimaryKeyJoinColumn();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer <em>Xml Primary Key Join Column Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumnContainer()
+ * @generated
+ */
+ public static final EClass XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER = eINSTANCE.getXmlPrimaryKeyJoinColumnContainer();
+
+ /**
+ * 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
+ */
+ public static final EReference XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER__PRIMARY_KEY_JOIN_COLUMNS = eINSTANCE.getXmlPrimaryKeyJoinColumnContainer_PrimaryKeyJoinColumns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery <em>Xml Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQuery
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery()
+ * @generated
+ */
+ public static final EClass XML_QUERY = eINSTANCE.getXmlQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_QUERY__NAME = eINSTANCE.getXmlQuery_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Query</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_QUERY__QUERY = eINSTANCE.getXmlQuery_Query();
+
+ /**
+ * The meta object literal for the '<em><b>Hints</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_QUERY__HINTS = eINSTANCE.getXmlQuery_Hints();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer <em>Xml Query Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer()
+ * @generated
+ */
+ public static final EClass XML_QUERY_CONTAINER = eINSTANCE.getXmlQueryContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Named Queries</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_QUERY_CONTAINER__NAMED_QUERIES = eINSTANCE.getXmlQueryContainer_NamedQueries();
+
+ /**
+ * The meta object literal for the '<em><b>Named Native Queries</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES = eINSTANCE.getXmlQueryContainer_NamedNativeQueries();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint <em>Xml Query Hint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryHint()
+ * @generated
+ */
+ public static final EClass XML_QUERY_HINT = eINSTANCE.getXmlQueryHint();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_QUERY_HINT__NAME = eINSTANCE.getXmlQueryHint_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_QUERY_HINT__VALUE = eINSTANCE.getXmlQueryHint_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable <em>Xml Secondary Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSecondaryTable()
+ * @generated
+ */
+ public static final EClass XML_SECONDARY_TABLE = eINSTANCE.getXmlSecondaryTable();
+
+ /**
+ * 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
+ */
+ public static final EReference XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS = eINSTANCE.getXmlSecondaryTable_PrimaryKeyJoinColumns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator <em>Xml Sequence Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSequenceGenerator()
+ * @generated
+ */
+ public static final EClass XML_SEQUENCE_GENERATOR = eINSTANCE.getXmlSequenceGenerator();
+
+ /**
+ * The meta object literal for the '<em><b>Sequence Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_SEQUENCE_GENERATOR__SEQUENCE_NAME = eINSTANCE.getXmlSequenceGenerator_SequenceName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping <em>Sql Result Set Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getSqlResultSetMapping()
+ * @generated
+ */
+ public static final EClass SQL_RESULT_SET_MAPPING = eINSTANCE.getSqlResultSetMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute SQL_RESULT_SET_MAPPING__NAME = eINSTANCE.getSqlResultSetMapping_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Entity Results</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference SQL_RESULT_SET_MAPPING__ENTITY_RESULTS = eINSTANCE.getSqlResultSetMapping_EntityResults();
+
+ /**
+ * The meta object literal for the '<em><b>Column Results</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference SQL_RESULT_SET_MAPPING__COLUMN_RESULTS = eINSTANCE.getSqlResultSetMapping_ColumnResults();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTable <em>Xml Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTable()
+ * @generated
+ */
+ public static final EClass XML_TABLE = eINSTANCE.getXmlTable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator <em>Xml Table Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator()
+ * @generated
+ */
+ public static final EClass XML_TABLE_GENERATOR = eINSTANCE.getXmlTableGenerator();
+
+ /**
+ * The meta object literal for the '<em><b>Table</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_TABLE_GENERATOR__TABLE = eINSTANCE.getXmlTableGenerator_Table();
+
+ /**
+ * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_TABLE_GENERATOR__CATALOG = eINSTANCE.getXmlTableGenerator_Catalog();
+
+ /**
+ * The meta object literal for the '<em><b>Schema</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_TABLE_GENERATOR__SCHEMA = eINSTANCE.getXmlTableGenerator_Schema();
+
+ /**
+ * The meta object literal for the '<em><b>Pk Column Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_TABLE_GENERATOR__PK_COLUMN_NAME = eINSTANCE.getXmlTableGenerator_PkColumnName();
+
+ /**
+ * The meta object literal for the '<em><b>Value Column Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_TABLE_GENERATOR__VALUE_COLUMN_NAME = eINSTANCE.getXmlTableGenerator_ValueColumnName();
+
+ /**
+ * The meta object literal for the '<em><b>Pk Column Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_TABLE_GENERATOR__PK_COLUMN_VALUE = eINSTANCE.getXmlTableGenerator_PkColumnValue();
+
+ /**
+ * The meta object literal for the '<em><b>Unique Constraints</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS = eINSTANCE.getXmlTableGenerator_UniqueConstraints();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTransient <em>Xml Transient</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTransient
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTransient()
+ * @generated
+ */
+ public static final EClass XML_TRANSIENT = eINSTANCE.getXmlTransient();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping <em>Xml Type Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping()
+ * @generated
+ */
+ public static final EClass XML_TYPE_MAPPING = eINSTANCE.getXmlTypeMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_TYPE_MAPPING__CLASS_NAME = eINSTANCE.getXmlTypeMapping_ClassName();
+
+ /**
+ * The meta object literal for the '<em><b>Metadata Complete</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_TYPE_MAPPING__METADATA_COMPLETE = eINSTANCE.getXmlTypeMapping_MetadataComplete();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_TYPE_MAPPING__DESCRIPTION = eINSTANCE.getXmlTypeMapping_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Attributes</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_TYPE_MAPPING__ATTRIBUTES = eINSTANCE.getXmlTypeMapping_Attributes();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint <em>Xml Unique Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlUniqueConstraint()
+ * @generated
+ */
+ public static final EClass XML_UNIQUE_CONSTRAINT = eINSTANCE.getXmlUniqueConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Column Names</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_UNIQUE_CONSTRAINT__COLUMN_NAMES = eINSTANCE.getXmlUniqueConstraint_ColumnNames();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion <em>Xml Version</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlVersion
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlVersion()
+ * @generated
+ */
+ public static final EClass XML_VERSION = eINSTANCE.getXmlVersion();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable <em>Xml Orderable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable()
+ * @generated
+ */
+ public static final EClass XML_ORDERABLE = eINSTANCE.getXmlOrderable();
+
+ /**
+ * The meta object literal for the '<em><b>Order By</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ORDERABLE__ORDER_BY = eINSTANCE.getXmlOrderable_OrderBy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType <em>Discriminator Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getDiscriminatorType()
+ * @generated
+ */
+ public static final EEnum DISCRIMINATOR_TYPE = eINSTANCE.getDiscriminatorType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EnumType <em>Enum Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEnumType()
+ * @generated
+ */
+ public static final EEnum ENUM_TYPE = eINSTANCE.getEnumType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.FetchType <em>Fetch Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getFetchType()
+ * @generated
+ */
+ public static final EEnum FETCH_TYPE = eINSTANCE.getFetchType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.GenerationType <em>Generation Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.GenerationType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getGenerationType()
+ * @generated
+ */
+ public static final EEnum GENERATION_TYPE = eINSTANCE.getGenerationType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.InheritanceType <em>Inheritance Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.InheritanceType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getInheritanceType()
+ * @generated
+ */
+ public static final EEnum INHERITANCE_TYPE = eINSTANCE.getInheritanceType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType <em>Temporal Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getTemporalType()
+ * @generated
+ */
+ public static final EEnum TEMPORAL_TYPE = eINSTANCE.getTemporalType();
+
+ }
+
+} //OrmPackage
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostLoad.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostLoad.java
new file mode 100644
index 0000000000..9a5af1b685
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostLoad.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Post Load</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostLoad()
+ * @model kind="class"
+ * @generated
+ */
+public class PostLoad extends EventMethod
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PostLoad()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.POST_LOAD;
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ public static Translator buildTranslator() {
+ return buildTranslator(
+ JPA.POST_LOAD,
+ OrmPackage.eINSTANCE.getXmlEventMethodContainer_PostLoad());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostPersist.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostPersist.java
new file mode 100644
index 0000000000..5ce949ab65
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostPersist.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Post Persist</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostPersist()
+ * @model kind="class"
+ * @generated
+ */
+public class PostPersist extends EventMethod
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PostPersist()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.POST_PERSIST;
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ public static Translator buildTranslator() {
+ return buildTranslator(
+ JPA.POST_PERSIST,
+ OrmPackage.eINSTANCE.getXmlEventMethodContainer_PostPersist());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostRemove.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostRemove.java
new file mode 100644
index 0000000000..f85d1507d6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostRemove.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Post Remove</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostRemove()
+ * @model kind="class"
+ * @generated
+ */
+public class PostRemove extends EventMethod
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PostRemove()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.POST_REMOVE;
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ public static Translator buildTranslator() {
+ return buildTranslator(
+ JPA.POST_REMOVE,
+ OrmPackage.eINSTANCE.getXmlEventMethodContainer_PostRemove());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostUpdate.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostUpdate.java
new file mode 100644
index 0000000000..b6591cac9e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostUpdate.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Post Update</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostUpdate()
+ * @model kind="class"
+ * @generated
+ */
+public class PostUpdate extends EventMethod
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PostUpdate()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.POST_UPDATE;
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ public static Translator buildTranslator() {
+ return buildTranslator(
+ JPA.POST_UPDATE,
+ OrmPackage.eINSTANCE.getXmlEventMethodContainer_PostUpdate());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PrePersist.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PrePersist.java
new file mode 100644
index 0000000000..b70cf6c4d7
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PrePersist.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pre Persist</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPrePersist()
+ * @model kind="class"
+ * @generated
+ */
+public class PrePersist extends EventMethod
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PrePersist()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.PRE_PERSIST;
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ public static Translator buildTranslator() {
+ return buildTranslator(
+ JPA.PRE_PERSIST,
+ OrmPackage.eINSTANCE.getXmlEventMethodContainer_PrePersist());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreRemove.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreRemove.java
new file mode 100644
index 0000000000..9bf1e58790
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreRemove.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pre Remove</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPreRemove()
+ * @model kind="class"
+ * @generated
+ */
+public class PreRemove extends EventMethod
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PreRemove()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.PRE_REMOVE;
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ public static Translator buildTranslator() {
+ return buildTranslator(
+ JPA.PRE_REMOVE,
+ OrmPackage.eINSTANCE.getXmlEventMethodContainer_PreRemove());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreUpdate.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreUpdate.java
new file mode 100644
index 0000000000..f3c5ff5dbe
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreUpdate.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pre Update</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPreUpdate()
+ * @model kind="class"
+ * @generated
+ */
+public class PreUpdate extends EventMethod
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PreUpdate()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.PRE_UPDATE;
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ public static Translator buildTranslator() {
+ return buildTranslator(
+ JPA.PRE_UPDATE,
+ OrmPackage.eINSTANCE.getXmlEventMethodContainer_PreUpdate());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/SqlResultSetMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/SqlResultSetMapping.java
new file mode 100644
index 0000000000..3b5a694477
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/SqlResultSetMapping.java
@@ -0,0 +1,418 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sql Result Set Mapping</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getEntityResults <em>Entity Results</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getColumnResults <em>Column Results</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getSqlResultSetMapping()
+ * @model kind="class"
+ * @generated
+ */
+public class SqlResultSetMapping extends EBaseObjectImpl implements XmlSqlResultSetMapping_2_0
+{
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getEntityResults() <em>Entity Results</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEntityResults()
+ * @generated
+ * @ordered
+ */
+ protected EList<EntityResult> entityResults;
+
+ /**
+ * The cached value of the '{@link #getColumnResults() <em>Column Results</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumnResults()
+ * @generated
+ * @ordered
+ */
+ protected EList<ColumnResult> columnResults;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SqlResultSetMapping()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.SQL_RESULT_SET_MAPPING;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSqlResultSetMapping_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.SQL_RESULT_SET_MAPPING__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getSqlResultSetMapping_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.SQL_RESULT_SET_MAPPING__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Entity Results</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Entity Results</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>Entity Results</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getSqlResultSetMapping_EntityResults()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EntityResult> getEntityResults()
+ {
+ if (entityResults == null)
+ {
+ entityResults = new EObjectContainmentEList<EntityResult>(EntityResult.class, this, OrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS);
+ }
+ return entityResults;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Column Results</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.ColumnResult}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Column Results</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>Column Results</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getSqlResultSetMapping_ColumnResults()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<ColumnResult> getColumnResults()
+ {
+ if (columnResults == null)
+ {
+ columnResults = new EObjectContainmentEList<ColumnResult>(ColumnResult.class, this, OrmPackage.SQL_RESULT_SET_MAPPING__COLUMN_RESULTS);
+ }
+ return columnResults;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS:
+ return ((InternalEList<?>)getEntityResults()).basicRemove(otherEnd, msgs);
+ case OrmPackage.SQL_RESULT_SET_MAPPING__COLUMN_RESULTS:
+ return ((InternalEList<?>)getColumnResults()).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 OrmPackage.SQL_RESULT_SET_MAPPING__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.SQL_RESULT_SET_MAPPING__NAME:
+ return getName();
+ case OrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS:
+ return getEntityResults();
+ case OrmPackage.SQL_RESULT_SET_MAPPING__COLUMN_RESULTS:
+ return getColumnResults();
+ }
+ 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 OrmPackage.SQL_RESULT_SET_MAPPING__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.SQL_RESULT_SET_MAPPING__NAME:
+ setName((String)newValue);
+ return;
+ case OrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS:
+ getEntityResults().clear();
+ getEntityResults().addAll((Collection<? extends EntityResult>)newValue);
+ return;
+ case OrmPackage.SQL_RESULT_SET_MAPPING__COLUMN_RESULTS:
+ getColumnResults().clear();
+ getColumnResults().addAll((Collection<? extends ColumnResult>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.SQL_RESULT_SET_MAPPING__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.SQL_RESULT_SET_MAPPING__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS:
+ getEntityResults().clear();
+ return;
+ case OrmPackage.SQL_RESULT_SET_MAPPING__COLUMN_RESULTS:
+ getColumnResults().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.SQL_RESULT_SET_MAPPING__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.SQL_RESULT_SET_MAPPING__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS:
+ return entityResults != null && !entityResults.isEmpty();
+ case OrmPackage.SQL_RESULT_SET_MAPPING__COLUMN_RESULTS:
+ return columnResults != null && !columnResults.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(" (description: ");
+ result.append(description);
+ result.append(", name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildDescriptionTranslator(),
+ buildEntityResultTranslator(),
+ buildColumnResultTranslator()
+ };
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getSqlResultSetMapping_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA2_0.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlSqlResultSetMapping_2_0_Description());
+ }
+
+ protected static Translator buildEntityResultTranslator() {
+ return EntityResult.buildTranslator(JPA.ENTITY_RESULT, OrmPackage.eINSTANCE.getSqlResultSetMapping_EntityResults());
+ }
+
+ protected static Translator buildColumnResultTranslator() {
+ return ColumnResult.buildTranslator(JPA.COLUMN_RESULT, OrmPackage.eINSTANCE.getSqlResultSetMapping_ColumnResults());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/TemporalType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/TemporalType.java
new file mode 100644
index 0000000000..cd0da47bed
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/TemporalType.java
@@ -0,0 +1,262 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#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/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAccessHolder.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAccessHolder.java
new file mode 100644
index 0000000000..cbaf007bae
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAccessHolder.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Access Holder</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder#getAccess <em>Access</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlAccessHolder extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Access</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Access</em>' attribute.
+ * @see #setAccess(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder_Access()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getAccess();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder#getAccess <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access</em>' attribute.
+ * @see #getAccess()
+ * @generated
+ */
+ void setAccess(String value);
+
+} // XmlAccessHolder
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverride.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverride.java
new file mode 100644
index 0000000000..b5117c4b61
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverride.java
@@ -0,0 +1,531 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Association Override Impl</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverride()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlAssociationOverride extends EBaseObjectImpl implements XmlOverride, XmlJoinColumnContainer, XmlAssociationOverride_2_0
+{
+ /**
+ * 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<XmlJoinColumn> joinColumns;
+
+ /**
+ * The cached value of the '{@link #getJoinTable() <em>Join Table</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJoinTable()
+ * @generated
+ * @ordered
+ */
+ protected XmlJoinTable joinTable;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlAssociationOverride()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_ASSOCIATION_OVERRIDE;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJoinColumn> getJoinColumns()
+ {
+ if (joinColumns == null)
+ {
+ joinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS);
+ }
+ return joinColumns;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverride_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ASSOCIATION_OVERRIDE__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * 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(XmlJoinTable)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer_JoinTable()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlJoinTable getJoinTable()
+ {
+ return joinTable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetJoinTable(XmlJoinTable newJoinTable, NotificationChain msgs)
+ {
+ XmlJoinTable oldJoinTable = joinTable;
+ joinTable = newJoinTable;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE, oldJoinTable, newJoinTable);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride#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
+ */
+ public void setJoinTable(XmlJoinTable newJoinTable)
+ {
+ if (newJoinTable != joinTable)
+ {
+ NotificationChain msgs = null;
+ if (joinTable != null)
+ msgs = ((InternalEObject)joinTable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE, null, msgs);
+ if (newJoinTable != null)
+ msgs = ((InternalEObject)newJoinTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE, null, msgs);
+ msgs = basicSetJoinTable(newJoinTable, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE, newJoinTable, newJoinTable));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlOverride_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ASSOCIATION_OVERRIDE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS:
+ return ((InternalEList<?>)getJoinColumns()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE:
+ return basicSetJoinTable(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 OrmPackage.XML_ASSOCIATION_OVERRIDE__NAME:
+ return getName();
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS:
+ return getJoinColumns();
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE:
+ return getJoinTable();
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__DESCRIPTION:
+ return getDescription();
+ }
+ 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 OrmPackage.XML_ASSOCIATION_OVERRIDE__NAME:
+ setName((String)newValue);
+ return;
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ getJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue);
+ return;
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)newValue);
+ return;
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ return;
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)null);
+ return;
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS:
+ return joinColumns != null && !joinColumns.isEmpty();
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE:
+ return joinTable != null;
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlJoinColumnContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS: return OrmPackage.XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlJoinTableContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE: return OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAssociationOverride_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE__DESCRIPTION: return OrmV2_0Package.XML_ASSOCIATION_OVERRIDE_20__DESCRIPTION;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlJoinColumnContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS: return OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlJoinTableContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE: return OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAssociationOverride_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_ASSOCIATION_OVERRIDE_20__DESCRIPTION: return OrmPackage.XML_ASSOCIATION_OVERRIDE__DESCRIPTION;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", description: ");
+ result.append(description);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getNameTextRange() {
+ return getAttributeTextRange(JPA.NAME);
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildDescriptionTranslator(),
+ buildJoinColumnTranslator(),
+ buildJoinTableTranslator()
+ };
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlOverride_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlAssociationOverride_2_0_Description());
+ }
+
+ protected static Translator buildJoinColumnTranslator() {
+ return XmlJoinColumn.buildTranslator(JPA.JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlJoinColumnContainer_JoinColumns());
+ }
+
+ protected static Translator buildJoinTableTranslator() {
+ return XmlJoinTable.buildTranslator(JPA.JOIN_TABLE, OrmPackage.eINSTANCE.getXmlJoinTableContainer_JoinTable());
+ }
+
+ // ************ content assist ***********
+ public TextRange getNameTextCodeAssistRange() {
+ return getAttributeCodeAssistTextRange(JPA.NAME);
+ }
+
+ public boolean nameTouches(int pos) {
+ TextRange textRange = this.getNameTextCodeAssistRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverrideContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverrideContainer.java
new file mode 100644
index 0000000000..a701897ec5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverrideContainer.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Association Override Container</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ *
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer#getAssociationOverrides <em>Association Overrides</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlAssociationOverrideContainer extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Association Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer_AssociationOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlAssociationOverride> getAssociationOverrides();
+
+} // XmlAssociationOverrideContainer
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeMapping.java
new file mode 100644
index 0000000000..a2afd84ad4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeMapping.java
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Attribute Mapping</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeMapping()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlAttributeMapping extends XmlAttributeMapping_2_0
+{
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeMapping_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping#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);
+
+ TextRange getNameTextRange();
+
+ //TODO unsure about this api, might change soon
+ String getMappingKey();
+
+ boolean nameTouches(int pos);
+} // XmlAttributeMapping
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverride.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverride.java
new file mode 100644
index 0000000000..b5a8e5b475
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverride.java
@@ -0,0 +1,451 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attribute Override</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverride()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlAttributeOverride extends EBaseObjectImpl implements XmlOverride, XmlAttributeOverride_2_0
+{
+ /**
+ * 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 #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getColumn() <em>Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumn()
+ * @generated
+ * @ordered
+ */
+ protected XmlColumn column;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlAttributeOverride()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_ATTRIBUTE_OVERRIDE;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverride_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * 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(XmlColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverride_Column()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ public XmlColumn getColumn()
+ {
+ return column;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetColumn(XmlColumn newColumn, NotificationChain msgs)
+ {
+ XmlColumn oldColumn = column;
+ column = newColumn;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN, oldColumn, newColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride#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
+ */
+ public void setColumn(XmlColumn newColumn)
+ {
+ if (newColumn != column)
+ {
+ NotificationChain msgs = null;
+ if (column != null)
+ msgs = ((InternalEObject)column).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN, null, msgs);
+ if (newColumn != null)
+ msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN, null, msgs);
+ msgs = basicSetColumn(newColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN, newColumn, newColumn));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlOverride_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ATTRIBUTE_OVERRIDE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_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 OrmPackage.XML_ATTRIBUTE_OVERRIDE__NAME:
+ return getName();
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.XML_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 OrmPackage.XML_ATTRIBUTE_OVERRIDE__NAME:
+ setName((String)newValue);
+ return;
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN:
+ setColumn((XmlColumn)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN:
+ setColumn((XmlColumn)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN:
+ return column != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlAttributeOverride_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION: return OrmV2_0Package.XML_ATTRIBUTE_OVERRIDE_20__DESCRIPTION;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlAttributeOverride_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_ATTRIBUTE_OVERRIDE_20__DESCRIPTION: return OrmPackage.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", description: ");
+ result.append(description);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ public TextRange getNameTextRange() {
+ return getAttributeTextRange(JPA.NAME);
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildDescriptionTranslator(),
+ buildColumnTranslator()
+ };
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlOverride_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlAttributeOverride_2_0_Description());
+ }
+
+ protected static Translator buildColumnTranslator() {
+ return XmlColumn.buildTranslator(JPA.COLUMN, OrmPackage.eINSTANCE.getXmlAttributeOverride_Column());
+ }
+
+ // ************* content assist ************
+
+ public TextRange getNameCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.NAME);
+ }
+
+ public boolean nameTouches(int pos) {
+ TextRange textRange = this.getNameTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverrideContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverrideContainer.java
new file mode 100644
index 0000000000..0ecf8f50f5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverrideContainer.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Attribute Override Container</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ *
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer#getAttributeOverrides <em>Attribute Overrides</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlAttributeOverrideContainer extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer_AttributeOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlAttributeOverride> getAttributeOverrides();
+
+} // XmlAttributeOverrideContainer
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseColumn.java
new file mode 100644
index 0000000000..7adb900ba3
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseColumn.java
@@ -0,0 +1,177 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.utility.TextRange;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Base Column</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getInsertable <em>Insertable</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getNullable <em>Nullable</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getTable <em>Table</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUnique <em>Unique</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUpdatable <em>Updatable</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlBaseColumn extends XmlNamedColumn
+{
+ /**
+ * Returns the value of the '<em><b>Insertable</b></em>' attribute.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Insertable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getInsertable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getInsertable <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Insertable</em>' attribute.
+ * @see #getInsertable()
+ * @generated
+ */
+ void setInsertable(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Nullable</b></em>' attribute.
+ * <!-- 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 #setNullable(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Nullable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getNullable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getNullable <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nullable</em>' attribute.
+ * @see #getNullable()
+ * @generated
+ */
+ void setNullable(Boolean 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Table()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getTable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#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>Unique</b></em>' attribute.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Unique()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getUnique();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUnique <em>Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unique</em>' attribute.
+ * @see #getUnique()
+ * @generated
+ */
+ void setUnique(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Updatable</b></em>' attribute.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Updatable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getUpdatable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUpdatable <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Updatable</em>' attribute.
+ * @see #getUpdatable()
+ * @generated
+ */
+ void setUpdatable(Boolean value);
+
+ TextRange getTableTextRange();
+
+ boolean tableTouches(int pos);
+
+} // XmlBaseColumn
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseDiscriminatorColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseDiscriminatorColumn.java
new file mode 100644
index 0000000000..6be58a315e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseDiscriminatorColumn.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Base Discriminator Column</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getDiscriminatorType <em>Discriminator Type</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getLength <em>Length</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlBaseDiscriminatorColumn extends XmlNamedColumn
+{
+ /**
+ * 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.jpt.jpa.core.resource.orm.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.jpt.jpa.core.resource.orm.DiscriminatorType
+ * @see #setDiscriminatorType(DiscriminatorType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn_DiscriminatorType()
+ * @model default="STRING"
+ * @generated
+ */
+ DiscriminatorType getDiscriminatorType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#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.jpt.jpa.core.resource.orm.DiscriminatorType
+ * @see #getDiscriminatorType()
+ * @generated
+ */
+ void setDiscriminatorType(DiscriminatorType value);
+
+ /**
+ * Returns the value of the '<em><b>Length</b></em>' attribute.
+ * <!-- 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 #setLength(Integer)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn_Length()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ Integer getLength();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getLength <em>Length</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Length</em>' attribute.
+ * @see #getLength()
+ * @generated
+ */
+ void setLength(Integer value);
+
+} // XmlBaseDiscriminatorColumn
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseJoinColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseJoinColumn.java
new file mode 100644
index 0000000000..36f57cc21e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseJoinColumn.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.utility.TextRange;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Base Join Column</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseJoinColumn()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlBaseJoinColumn extends XmlNamedColumn
+{
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseJoinColumn_ReferencedColumnName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getReferencedColumnName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn#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);
+
+ TextRange getReferencedColumnNameTextRange();
+
+} // XmlBaseJoinColumn
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBasic.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBasic.java
new file mode 100644
index 0000000000..584e5a3915
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBasic.java
@@ -0,0 +1,687 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.jpt.common.core.internal.utility.translators.BooleanTranslator;
+import org.eclipse.jpt.common.core.internal.utility.translators.EmptyTagBooleanTranslator;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Basic Impl</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getOptional <em>Optional</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBasic()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlBasic extends AbstractXmlAttributeMapping implements ColumnMapping, XmlConvertibleMapping
+{
+ /**
+ * The cached value of the '{@link #getColumn() <em>Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumn()
+ * @generated
+ * @ordered
+ */
+ protected XmlColumn column;
+
+ /**
+ * The default value of the '{@link #isLob() <em>Lob</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLob()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean LOB_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isLob() <em>Lob</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLob()
+ * @generated
+ * @ordered
+ */
+ protected boolean lob = LOB_EDEFAULT;
+
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final TemporalType TEMPORAL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTemporal() <em>Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTemporal()
+ * @generated
+ * @ordered
+ */
+ protected TemporalType temporal = TEMPORAL_EDEFAULT;
+
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final EnumType ENUMERATED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEnumerated() <em>Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnumerated()
+ * @generated
+ * @ordered
+ */
+ protected EnumType enumerated = ENUMERATED_EDEFAULT;
+
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final FetchType FETCH_EDEFAULT = null;
+
+ /**
+ * 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 #getOptional() <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOptional()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean OPTIONAL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOptional() <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOptional()
+ * @generated
+ * @ordered
+ */
+ protected Boolean optional = OPTIONAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlBasic()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_BASIC;
+ }
+
+ /**
+ * 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(XmlColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnMapping_Column()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlColumn getColumn()
+ {
+ return column;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetColumn(XmlColumn newColumn, NotificationChain msgs)
+ {
+ XmlColumn oldColumn = column;
+ column = newColumn;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_BASIC__COLUMN, oldColumn, newColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#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
+ */
+ public void setColumn(XmlColumn newColumn)
+ {
+ if (newColumn != column)
+ {
+ NotificationChain msgs = null;
+ if (column != null)
+ msgs = ((InternalEObject)column).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_BASIC__COLUMN, null, msgs);
+ if (newColumn != null)
+ msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_BASIC__COLUMN, null, msgs);
+ msgs = basicSetColumn(newColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_BASIC__COLUMN, newColumn, newColumn));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Lob</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lob</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lob</em>' attribute.
+ * @see #setLob(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Lob()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isLob()
+ {
+ return lob;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#isLob <em>Lob</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lob</em>' attribute.
+ * @see #isLob()
+ * @generated
+ */
+ public void setLob(boolean newLob)
+ {
+ boolean oldLob = lob;
+ lob = newLob;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_BASIC__LOB, oldLob, lob));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Temporal</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Temporal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #setTemporal(TemporalType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Temporal()
+ * @model
+ * @generated
+ */
+ public TemporalType getTemporal()
+ {
+ return temporal;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getTemporal <em>Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #getTemporal()
+ * @generated
+ */
+ public void setTemporal(TemporalType newTemporal)
+ {
+ TemporalType oldTemporal = temporal;
+ temporal = newTemporal == null ? TEMPORAL_EDEFAULT : newTemporal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_BASIC__TEMPORAL, oldTemporal, temporal));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Enumerated</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.EnumType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enumerated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #setEnumerated(EnumType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Enumerated()
+ * @model
+ * @generated
+ */
+ public EnumType getEnumerated()
+ {
+ return enumerated;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getEnumerated <em>Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #getEnumerated()
+ * @generated
+ */
+ public void setEnumerated(EnumType newEnumerated)
+ {
+ EnumType oldEnumerated = enumerated;
+ enumerated = newEnumerated == null ? ENUMERATED_EDEFAULT : newEnumerated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_BASIC__ENUMERATED, oldEnumerated, enumerated));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.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.jpt.jpa.core.resource.orm.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBasic_Fetch()
+ * @model default="LAZY"
+ * @generated
+ */
+ public FetchType getFetch()
+ {
+ return fetch;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#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.jpt.jpa.core.resource.orm.FetchType
+ * @see #getFetch()
+ * @generated
+ */
+ public void setFetch(FetchType newFetch)
+ {
+ FetchType oldFetch = fetch;
+ fetch = newFetch == null ? FETCH_EDEFAULT : newFetch;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_BASIC__FETCH, oldFetch, fetch));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Optional</b></em>' attribute.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlBasic_Optional()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getOptional()
+ {
+ return optional;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getOptional <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Optional</em>' attribute.
+ * @see #getOptional()
+ * @generated
+ */
+ public void setOptional(Boolean newOptional)
+ {
+ Boolean oldOptional = optional;
+ optional = newOptional;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_BASIC__OPTIONAL, oldOptional, optional));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_BASIC__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 OrmPackage.XML_BASIC__COLUMN:
+ return getColumn();
+ case OrmPackage.XML_BASIC__LOB:
+ return isLob();
+ case OrmPackage.XML_BASIC__TEMPORAL:
+ return getTemporal();
+ case OrmPackage.XML_BASIC__ENUMERATED:
+ return getEnumerated();
+ case OrmPackage.XML_BASIC__FETCH:
+ return getFetch();
+ case OrmPackage.XML_BASIC__OPTIONAL:
+ return getOptional();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_BASIC__COLUMN:
+ setColumn((XmlColumn)newValue);
+ return;
+ case OrmPackage.XML_BASIC__LOB:
+ setLob((Boolean)newValue);
+ return;
+ case OrmPackage.XML_BASIC__TEMPORAL:
+ setTemporal((TemporalType)newValue);
+ return;
+ case OrmPackage.XML_BASIC__ENUMERATED:
+ setEnumerated((EnumType)newValue);
+ return;
+ case OrmPackage.XML_BASIC__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case OrmPackage.XML_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 OrmPackage.XML_BASIC__COLUMN:
+ setColumn((XmlColumn)null);
+ return;
+ case OrmPackage.XML_BASIC__LOB:
+ setLob(LOB_EDEFAULT);
+ return;
+ case OrmPackage.XML_BASIC__TEMPORAL:
+ setTemporal(TEMPORAL_EDEFAULT);
+ return;
+ case OrmPackage.XML_BASIC__ENUMERATED:
+ setEnumerated(ENUMERATED_EDEFAULT);
+ return;
+ case OrmPackage.XML_BASIC__FETCH:
+ setFetch(FETCH_EDEFAULT);
+ return;
+ case OrmPackage.XML_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 OrmPackage.XML_BASIC__COLUMN:
+ return column != null;
+ case OrmPackage.XML_BASIC__LOB:
+ return lob != LOB_EDEFAULT;
+ case OrmPackage.XML_BASIC__TEMPORAL:
+ return temporal != TEMPORAL_EDEFAULT;
+ case OrmPackage.XML_BASIC__ENUMERATED:
+ return enumerated != ENUMERATED_EDEFAULT;
+ case OrmPackage.XML_BASIC__FETCH:
+ return fetch != FETCH_EDEFAULT;
+ case OrmPackage.XML_BASIC__OPTIONAL:
+ return OPTIONAL_EDEFAULT == null ? optional != null : !OPTIONAL_EDEFAULT.equals(optional);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == ColumnMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_BASIC__COLUMN: return OrmPackage.COLUMN_MAPPING__COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_BASIC__LOB: return OrmPackage.XML_CONVERTIBLE_MAPPING__LOB;
+ case OrmPackage.XML_BASIC__TEMPORAL: return OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL;
+ case OrmPackage.XML_BASIC__ENUMERATED: return OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == ColumnMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.COLUMN_MAPPING__COLUMN: return OrmPackage.XML_BASIC__COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_CONVERTIBLE_MAPPING__LOB: return OrmPackage.XML_BASIC__LOB;
+ case OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL: return OrmPackage.XML_BASIC__TEMPORAL;
+ case OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED: return OrmPackage.XML_BASIC__ENUMERATED;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (lob: ");
+ result.append(lob);
+ result.append(", temporal: ");
+ result.append(temporal);
+ result.append(", enumerated: ");
+ result.append(enumerated);
+ result.append(", fetch: ");
+ result.append(fetch);
+ result.append(", optional: ");
+ result.append(optional);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getEnumeratedTextRange() {
+ return getAttributeTextRange(JPA.ENUMERATED);
+ }
+
+ public TextRange getLobTextRange() {
+ return getAttributeTextRange(JPA.LOB);
+ }
+
+ public TextRange getTemporalTextRange() {
+ return getAttributeTextRange(JPA.TEMPORAL);
+ }
+
+ public String getMappingKey() {
+ return MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildFetchTranslator(),
+ buildOptionalTranslator(),
+ buildAccessTranslator(),
+ buildColumnTranslator(),
+ buildLobTranslator(),
+ buildTemporalTranslator(),
+ buildEnumeratedTranslator()
+ };
+ }
+
+ protected static Translator buildFetchTranslator() {
+ return new Translator(JPA.FETCH, OrmPackage.eINSTANCE.getXmlBasic_Fetch(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildOptionalTranslator() {
+ return new BooleanTranslator(JPA.OPTIONAL, OrmPackage.eINSTANCE.getXmlBasic_Optional(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildColumnTranslator() {
+ return XmlColumn.buildTranslator(JPA.COLUMN, OrmPackage.eINSTANCE.getColumnMapping_Column());
+ }
+
+ protected static Translator buildLobTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.LOB, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Lob());
+ }
+
+ protected static Translator buildTemporalTranslator() {
+ return new Translator(JPA.TEMPORAL, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Temporal());
+ }
+
+ protected static Translator buildEnumeratedTranslator() {
+ return new Translator(JPA.ENUMERATED, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Enumerated());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlClassReference.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlClassReference.java
new file mode 100644
index 0000000000..c965557761
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlClassReference.java
@@ -0,0 +1,266 @@
+/*******************************************************************************
+ * Copyright (c) 2010, 2012 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.text.edits.ReplaceEdit;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Class Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlClassReference()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class XmlClassReference extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected String className = CLASS_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlClassReference()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_CLASS_REFERENCE;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class 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>Class Name</em>' attribute.
+ * @see #setClassName(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlClassReference_ClassName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getClassName()
+ {
+ return className;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference#getClassName <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Class Name</em>' attribute.
+ * @see #getClassName()
+ * @generated
+ */
+ public void setClassName(String newClassName)
+ {
+ String oldClassName = className;
+ className = newClassName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_CLASS_REFERENCE__CLASS_NAME, oldClassName, className));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_CLASS_REFERENCE__CLASS_NAME:
+ return getClassName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_CLASS_REFERENCE__CLASS_NAME:
+ setClassName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_CLASS_REFERENCE__CLASS_NAME:
+ setClassName(CLASS_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_CLASS_REFERENCE__CLASS_NAME:
+ return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
+ }
+ 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(" (className: ");
+ result.append(className);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // **************** validation ********************************************
+
+ public TextRange getClassNameTextRange() {
+ return getAttributeTextRange(JPA.CLASS);
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren()
+ );
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildClassTranslator()};
+ }
+
+ private static Translator buildClassTranslator() {
+ return new Translator(JPA.CLASS, OrmPackage.eINSTANCE.getXmlClassReference_ClassName(), Translator.DOM_ATTRIBUTE);
+ }
+
+ public ReplaceEdit createRenameEdit(IType originalType, String newName) {
+ String originalName = originalType.getTypeQualifiedName();
+ int nameIndex = this.className.lastIndexOf(originalName);
+
+ int offset = getAttributeNode(JPA.CLASS).getValueRegionStartOffset() + 1;
+ return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+ }
+
+ public ReplaceEdit createRenamePackageEdit(String newPackageName) {
+ int packageLength = this.className.lastIndexOf('.');
+ if (newPackageName == "") {//$NON-NLS-1$
+ //moving to the default package, remove the '.'
+ packageLength++;
+ }
+ if (packageLength == -1) {
+ //moving from the default package or unspecified package
+ packageLength = 0;
+ newPackageName = newPackageName + '.';
+ }
+ int offset = getAttributeNode(JPA.CLASS).getValueRegionStartOffset() + 1; // +1 = opening double quote
+ return new ReplaceEdit(offset, packageLength, newPackageName);
+ }
+
+ // ********** content assist ***************
+
+ public TextRange getClassNameCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.CLASS);
+ }
+
+ public boolean classNameTouches(int pos) {
+ TextRange textRange = this.getClassNameCodeAssistTextRange();
+ return (textRange != null) && textRange.touches(pos);
+ }
+
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlCollectionTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlCollectionTable.java
new file mode 100644
index 0000000000..7326309a2a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlCollectionTable.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Collection Table</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlCollectionTable()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlCollectionTable extends AbstractXmlReferenceTable implements XmlCollectionTable_2_0
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlCollectionTable()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_COLLECTION_TABLE;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildCatalogTranslator(),
+ buildSchemaTranslator(),
+ buildJoinColumnTranslator(),
+ buildUniqueConstraintTranslator()
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlColumn.java
new file mode 100644
index 0000000000..a02c9d52ef
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlColumn.java
@@ -0,0 +1,375 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Column Impl</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getLength <em>Length</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getPrecision <em>Precision</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getScale <em>Scale</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlColumn()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlColumn extends AbstractXmlBaseColumn
+{
+ /**
+ * The default value of the '{@link #getLength() <em>Length</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLength()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer LENGTH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLength() <em>Length</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLength()
+ * @generated
+ * @ordered
+ */
+ protected Integer length = LENGTH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPrecision() <em>Precision</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrecision()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer PRECISION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPrecision() <em>Precision</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrecision()
+ * @generated
+ * @ordered
+ */
+ protected Integer precision = PRECISION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getScale() <em>Scale</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScale()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer SCALE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getScale() <em>Scale</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScale()
+ * @generated
+ * @ordered
+ */
+ protected Integer scale = SCALE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlColumn()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_COLUMN;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Length</b></em>' attribute.
+ * <!-- 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 #setLength(Integer)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlColumn_Length()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ public Integer getLength()
+ {
+ return length;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getLength <em>Length</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Length</em>' attribute.
+ * @see #getLength()
+ * @generated
+ */
+ public void setLength(Integer newLength)
+ {
+ Integer oldLength = length;
+ length = newLength;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_COLUMN__LENGTH, oldLength, length));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Precision</b></em>' attribute.
+ * <!-- 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 #setPrecision(Integer)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlColumn_Precision()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ public Integer getPrecision()
+ {
+ return precision;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getPrecision <em>Precision</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Precision</em>' attribute.
+ * @see #getPrecision()
+ * @generated
+ */
+ public void setPrecision(Integer newPrecision)
+ {
+ Integer oldPrecision = precision;
+ precision = newPrecision;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_COLUMN__PRECISION, oldPrecision, precision));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Scale</b></em>' attribute.
+ * <!-- 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 #setScale(Integer)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlColumn_Scale()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ public Integer getScale()
+ {
+ return scale;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getScale <em>Scale</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Scale</em>' attribute.
+ * @see #getScale()
+ * @generated
+ */
+ public void setScale(Integer newScale)
+ {
+ Integer oldScale = scale;
+ scale = newScale;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_COLUMN__SCALE, oldScale, scale));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_COLUMN__LENGTH:
+ return getLength();
+ case OrmPackage.XML_COLUMN__PRECISION:
+ return getPrecision();
+ case OrmPackage.XML_COLUMN__SCALE:
+ return getScale();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_COLUMN__LENGTH:
+ setLength((Integer)newValue);
+ return;
+ case OrmPackage.XML_COLUMN__PRECISION:
+ setPrecision((Integer)newValue);
+ return;
+ case OrmPackage.XML_COLUMN__SCALE:
+ setScale((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_COLUMN__LENGTH:
+ setLength(LENGTH_EDEFAULT);
+ return;
+ case OrmPackage.XML_COLUMN__PRECISION:
+ setPrecision(PRECISION_EDEFAULT);
+ return;
+ case OrmPackage.XML_COLUMN__SCALE:
+ setScale(SCALE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_COLUMN__LENGTH:
+ return LENGTH_EDEFAULT == null ? length != null : !LENGTH_EDEFAULT.equals(length);
+ case OrmPackage.XML_COLUMN__PRECISION:
+ return PRECISION_EDEFAULT == null ? precision != null : !PRECISION_EDEFAULT.equals(precision);
+ case OrmPackage.XML_COLUMN__SCALE:
+ return SCALE_EDEFAULT == null ? scale != null : !SCALE_EDEFAULT.equals(scale);
+ }
+ 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(" (length: ");
+ result.append(length);
+ result.append(", precision: ");
+ result.append(precision);
+ result.append(", scale: ");
+ result.append(scale);
+ result.append(')');
+ return result.toString();
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren()
+ );
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildUniqueTranslator(),
+ buildNullableTranslator(),
+ buildInsertableTranslator(),
+ buildUpdatableTranslator(),
+ buildColumnDefinitionTranslator(),
+ buildTableTranslator(),
+ buildLengthTranslator(),
+ buildPrecisionTranslator(),
+ buildScaleTranslator(),
+ };
+ }
+
+ protected static Translator buildLengthTranslator() {
+ return new Translator(JPA.LENGTH, OrmPackage.eINSTANCE.getXmlColumn_Length(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildPrecisionTranslator() {
+ return new Translator(JPA.PRECISION, OrmPackage.eINSTANCE.getXmlColumn_Precision(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildScaleTranslator() {
+ return new Translator(JPA.SCALE, OrmPackage.eINSTANCE.getXmlColumn_Scale(), Translator.DOM_ATTRIBUTE);
+ }
+} // ColumnImpl
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlConvertibleMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlConvertibleMapping.java
new file mode 100644
index 0000000000..737f685c2f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlConvertibleMapping.java
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.utility.TextRange;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Convertible Mapping</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#isLob <em>Lob</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getTemporal <em>Temporal</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getEnumerated <em>Enumerated</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlConvertibleMapping extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Lob</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lob</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lob</em>' attribute.
+ * @see #setLob(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Lob()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isLob();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#isLob <em>Lob</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lob</em>' attribute.
+ * @see #isLob()
+ * @generated
+ */
+ void setLob(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Temporal</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Temporal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #setTemporal(TemporalType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Temporal()
+ * @model
+ * @generated
+ */
+ TemporalType getTemporal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getTemporal <em>Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #getTemporal()
+ * @generated
+ */
+ void setTemporal(TemporalType value);
+
+ /**
+ * Returns the value of the '<em><b>Enumerated</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.EnumType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enumerated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #setEnumerated(EnumType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Enumerated()
+ * @model
+ * @generated
+ */
+ EnumType getEnumerated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getEnumerated <em>Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #getEnumerated()
+ * @generated
+ */
+ void setEnumerated(EnumType value);
+
+ /**
+ * Return the {@link TextRange} for the enumerated element. If the enumerated element
+ * does not exist return the {@link TextRange} for the basic element.
+ */
+ TextRange getEnumeratedTextRange();
+
+ /**
+ * Return the {@link TextRange} for the temporal element. If the temporal element
+ * does not exist return the {@link TextRange} for the basic element.
+ */
+ TextRange getTemporalTextRange();
+
+ /**
+ * Return the {@link TextRange} for the lob element. If the lob element
+ * does not exist return the {@link TextRange} for the basic element.
+ */
+ TextRange getLobTextRange();
+
+} // ConvertableMapping
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlDiscriminatorColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlDiscriminatorColumn.java
new file mode 100644
index 0000000000..38ee65ca06
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlDiscriminatorColumn.java
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Discriminator Column</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlDiscriminatorColumn()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlDiscriminatorColumn extends AbstractXmlBaseDiscriminatorColumn
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlDiscriminatorColumn()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_DISCRIMINATOR_COLUMN;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren()
+ );
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildDiscriminatorTypeTranslator(),
+ buildColumnDefinitionTranslator(),
+ buildLengthTranslator()
+ };
+ }
+
+} // DiscriminatorColumn
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlElementCollection.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlElementCollection.java
new file mode 100644
index 0000000000..97b8f76204
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlElementCollection.java
@@ -0,0 +1,1706 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2012 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jpt.common.core.internal.utility.translators.EmptyTagBooleanTranslator;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.jpa2.MappingKeys2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0;
+import org.eclipse.text.edits.ReplaceEdit;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Element Collection</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlElementCollection extends AbstractXmlAttributeMapping implements XmlElementCollection_2_0
+{
+ /**
+ * The default value of the '{@link #isLob() <em>Lob</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLob()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean LOB_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isLob() <em>Lob</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLob()
+ * @generated
+ * @ordered
+ */
+ protected boolean lob = LOB_EDEFAULT;
+
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final TemporalType TEMPORAL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTemporal() <em>Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTemporal()
+ * @generated
+ * @ordered
+ */
+ protected TemporalType temporal = TEMPORAL_EDEFAULT;
+
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final EnumType ENUMERATED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEnumerated() <em>Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnumerated()
+ * @generated
+ * @ordered
+ */
+ protected EnumType enumerated = ENUMERATED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getOrderColumn() <em>Order Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrderColumn()
+ * @generated
+ * @ordered
+ */
+ protected XmlOrderColumn orderColumn;
+
+ /**
+ * The default value of the '{@link #getOrderBy() <em>Order By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrderBy()
+ * @generated
+ * @ordered
+ */
+ protected static final String ORDER_BY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOrderBy() <em>Order By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrderBy()
+ * @generated
+ * @ordered
+ */
+ protected String orderBy = ORDER_BY_EDEFAULT;
+
+ /**
+ * 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<XmlAttributeOverride> attributeOverrides;
+
+ /**
+ * 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<XmlAssociationOverride> associationOverrides;
+
+ /**
+ * The cached value of the '{@link #getMapKeyAttributeOverrides() <em>Map Key Attribute Overrides</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKeyAttributeOverrides()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlAttributeOverride> mapKeyAttributeOverrides;
+
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final TemporalType MAP_KEY_TEMPORAL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMapKeyTemporal() <em>Map Key Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKeyTemporal()
+ * @generated
+ * @ordered
+ */
+ protected TemporalType mapKeyTemporal = MAP_KEY_TEMPORAL_EDEFAULT;
+
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final EnumType MAP_KEY_ENUMERATED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMapKeyEnumerated() <em>Map Key Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKeyEnumerated()
+ * @generated
+ * @ordered
+ */
+ protected EnumType mapKeyEnumerated = MAP_KEY_ENUMERATED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTargetClass() <em>Target Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetClass()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_CLASS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetClass() <em>Target Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetClass()
+ * @generated
+ * @ordered
+ */
+ protected String targetClass = TARGET_CLASS_EDEFAULT;
+
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final FetchType FETCH_EDEFAULT = null;
+
+ /**
+ * 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 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 #getMapKeyClass() <em>Map Key Class</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKeyClass()
+ * @generated
+ * @ordered
+ */
+ protected XmlClassReference mapKeyClass;
+
+ /**
+ * The cached value of the '{@link #getMapKeyColumn() <em>Map Key Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKeyColumn()
+ * @generated
+ * @ordered
+ */
+ protected XmlColumn mapKeyColumn;
+
+ /**
+ * The cached value of the '{@link #getMapKeyJoinColumns() <em>Map Key Join Columns</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKeyJoinColumns()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlJoinColumn> mapKeyJoinColumns;
+
+ /**
+ * The cached value of the '{@link #getColumn() <em>Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumn()
+ * @generated
+ * @ordered
+ */
+ protected XmlColumn column;
+
+ /**
+ * The cached value of the '{@link #getCollectionTable() <em>Collection Table</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCollectionTable()
+ * @generated
+ * @ordered
+ */
+ protected XmlCollectionTable collectionTable;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlElementCollection()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_ELEMENT_COLLECTION;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Lob</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lob</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lob</em>' attribute.
+ * @see #setLob(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Lob()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isLob()
+ {
+ return lob;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#isLob <em>Lob</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lob</em>' attribute.
+ * @see #isLob()
+ * @generated
+ */
+ public void setLob(boolean newLob)
+ {
+ boolean oldLob = lob;
+ lob = newLob;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__LOB, oldLob, lob));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Temporal</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Temporal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #setTemporal(TemporalType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Temporal()
+ * @model
+ * @generated
+ */
+ public TemporalType getTemporal()
+ {
+ return temporal;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getTemporal <em>Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #getTemporal()
+ * @generated
+ */
+ public void setTemporal(TemporalType newTemporal)
+ {
+ TemporalType oldTemporal = temporal;
+ temporal = newTemporal == null ? TEMPORAL_EDEFAULT : newTemporal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__TEMPORAL, oldTemporal, temporal));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Enumerated</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.EnumType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enumerated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #setEnumerated(EnumType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Enumerated()
+ * @model
+ * @generated
+ */
+ public EnumType getEnumerated()
+ {
+ return enumerated;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getEnumerated <em>Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #getEnumerated()
+ * @generated
+ */
+ public void setEnumerated(EnumType newEnumerated)
+ {
+ EnumType oldEnumerated = enumerated;
+ enumerated = newEnumerated == null ? ENUMERATED_EDEFAULT : newEnumerated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__ENUMERATED, oldEnumerated, enumerated));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Target Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Class</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 Class</em>' attribute.
+ * @see #setTargetClass(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_TargetClass()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getTargetClass()
+ {
+ return targetClass;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getTargetClass <em>Target Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Class</em>' attribute.
+ * @see #getTargetClass()
+ * @generated
+ */
+ public void setTargetClass(String newTargetClass)
+ {
+ String oldTargetClass = targetClass;
+ targetClass = newTargetClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS, oldTargetClass, targetClass));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Fetch</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.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.jpt.jpa.core.resource.orm.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_Fetch()
+ * @model
+ * @generated
+ */
+ public FetchType getFetch()
+ {
+ return fetch;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#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.jpt.jpa.core.resource.orm.FetchType
+ * @see #getFetch()
+ * @generated
+ */
+ public void setFetch(FetchType newFetch)
+ {
+ FetchType oldFetch = fetch;
+ fetch = newFetch == null ? FETCH_EDEFAULT : newFetch;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__FETCH, oldFetch, fetch));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Order By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Order 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>Order By</em>' attribute.
+ * @see #setOrderBy(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable_OrderBy()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getOrderBy()
+ {
+ return orderBy;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getOrderBy <em>Order By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Order By</em>' attribute.
+ * @see #getOrderBy()
+ * @generated
+ */
+ public void setOrderBy(String newOrderBy)
+ {
+ String oldOrderBy = orderBy;
+ orderBy = newOrderBy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY, oldOrderBy, orderBy));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer_AttributeOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAttributeOverride> getAttributeOverrides()
+ {
+ if (attributeOverrides == null)
+ {
+ attributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES);
+ }
+ return attributeOverrides;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Association Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer_AssociationOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAssociationOverride> getAssociationOverrides()
+ {
+ if (associationOverrides == null)
+ {
+ associationOverrides = new EObjectContainmentEList<XmlAssociationOverride>(XmlAssociationOverride.class, this, OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES);
+ }
+ return associationOverrides;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key 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>Map Key Attribute Overrides</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAttributeOverride> getMapKeyAttributeOverrides()
+ {
+ if (mapKeyAttributeOverrides == null)
+ {
+ mapKeyAttributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES);
+ }
+ return mapKeyAttributeOverrides;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Order Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Order 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>Order Column</em>' containment reference.
+ * @see #setOrderColumn(XmlOrderColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable_2_0_OrderColumn()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlOrderColumn getOrderColumn()
+ {
+ return orderColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOrderColumn(XmlOrderColumn newOrderColumn, NotificationChain msgs)
+ {
+ XmlOrderColumn oldOrderColumn = orderColumn;
+ orderColumn = newOrderColumn;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN, oldOrderColumn, newOrderColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getOrderColumn <em>Order Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Order Column</em>' containment reference.
+ * @see #getOrderColumn()
+ * @generated
+ */
+ public void setOrderColumn(XmlOrderColumn newOrderColumn)
+ {
+ if (newOrderColumn != orderColumn)
+ {
+ NotificationChain msgs = null;
+ if (orderColumn != null)
+ msgs = ((InternalEObject)orderColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN, null, msgs);
+ if (newOrderColumn != null)
+ msgs = ((InternalEObject)newOrderColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN, null, msgs);
+ msgs = basicSetOrderColumn(newOrderColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN, newOrderColumn, newOrderColumn));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_MapKey()
+ * @model containment="true"
+ * @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, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY, oldMapKey, newMapKey);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#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
+ */
+ public void setMapKey(MapKey newMapKey)
+ {
+ if (newMapKey != mapKey)
+ {
+ NotificationChain msgs = null;
+ if (mapKey != null)
+ msgs = ((InternalEObject)mapKey).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY, null, msgs);
+ if (newMapKey != null)
+ msgs = ((InternalEObject)newMapKey).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY, null, msgs);
+ msgs = basicSetMapKey(newMapKey, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY, newMapKey, newMapKey));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Map Key Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key 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>Map Key Class</em>' containment reference.
+ * @see #setMapKeyClass(XmlClassReference)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_MapKeyClass()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlClassReference getMapKeyClass()
+ {
+ return mapKeyClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMapKeyClass(XmlClassReference newMapKeyClass, NotificationChain msgs)
+ {
+ XmlClassReference oldMapKeyClass = mapKeyClass;
+ mapKeyClass = newMapKeyClass;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS, oldMapKeyClass, newMapKeyClass);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getMapKeyClass <em>Map Key Class</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Class</em>' containment reference.
+ * @see #getMapKeyClass()
+ * @generated
+ */
+ public void setMapKeyClass(XmlClassReference newMapKeyClass)
+ {
+ if (newMapKeyClass != mapKeyClass)
+ {
+ NotificationChain msgs = null;
+ if (mapKeyClass != null)
+ msgs = ((InternalEObject)mapKeyClass).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS, null, msgs);
+ if (newMapKeyClass != null)
+ msgs = ((InternalEObject)newMapKeyClass).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS, null, msgs);
+ msgs = basicSetMapKeyClass(newMapKeyClass, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS, newMapKeyClass, newMapKeyClass));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Map Key Temporal</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key Temporal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Map Key Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #setMapKeyTemporal(TemporalType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal()
+ * @model
+ * @generated
+ */
+ public TemporalType getMapKeyTemporal()
+ {
+ return mapKeyTemporal;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getMapKeyTemporal <em>Map Key Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #getMapKeyTemporal()
+ * @generated
+ */
+ public void setMapKeyTemporal(TemporalType newMapKeyTemporal)
+ {
+ TemporalType oldMapKeyTemporal = mapKeyTemporal;
+ mapKeyTemporal = newMapKeyTemporal == null ? MAP_KEY_TEMPORAL_EDEFAULT : newMapKeyTemporal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL, oldMapKeyTemporal, mapKeyTemporal));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Map Key Enumerated</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.EnumType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key Enumerated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Map Key Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #setMapKeyEnumerated(EnumType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated()
+ * @model
+ * @generated
+ */
+ public EnumType getMapKeyEnumerated()
+ {
+ return mapKeyEnumerated;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getMapKeyEnumerated <em>Map Key Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #getMapKeyEnumerated()
+ * @generated
+ */
+ public void setMapKeyEnumerated(EnumType newMapKeyEnumerated)
+ {
+ EnumType oldMapKeyEnumerated = mapKeyEnumerated;
+ mapKeyEnumerated = newMapKeyEnumerated == null ? MAP_KEY_ENUMERATED_EDEFAULT : newMapKeyEnumerated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED, oldMapKeyEnumerated, mapKeyEnumerated));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Map Key Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key 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>Map Key Column</em>' containment reference.
+ * @see #setMapKeyColumn(XmlColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_MapKeyColumn()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlColumn getMapKeyColumn()
+ {
+ return mapKeyColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMapKeyColumn(XmlColumn newMapKeyColumn, NotificationChain msgs)
+ {
+ XmlColumn oldMapKeyColumn = mapKeyColumn;
+ mapKeyColumn = newMapKeyColumn;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN, oldMapKeyColumn, newMapKeyColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getMapKeyColumn <em>Map Key Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Column</em>' containment reference.
+ * @see #getMapKeyColumn()
+ * @generated
+ */
+ public void setMapKeyColumn(XmlColumn newMapKeyColumn)
+ {
+ if (newMapKeyColumn != mapKeyColumn)
+ {
+ NotificationChain msgs = null;
+ if (mapKeyColumn != null)
+ msgs = ((InternalEObject)mapKeyColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN, null, msgs);
+ if (newMapKeyColumn != null)
+ msgs = ((InternalEObject)newMapKeyColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN, null, msgs);
+ msgs = basicSetMapKeyColumn(newMapKeyColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN, newMapKeyColumn, newMapKeyColumn));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Map Key Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map 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>Map Key Join Columns</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_MapKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJoinColumn> getMapKeyJoinColumns()
+ {
+ if (mapKeyJoinColumns == null)
+ {
+ mapKeyJoinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS);
+ }
+ return mapKeyJoinColumns;
+ }
+
+ /**
+ * 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(XmlColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_Column()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlColumn getColumn()
+ {
+ return column;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetColumn(XmlColumn newColumn, NotificationChain msgs)
+ {
+ XmlColumn oldColumn = column;
+ column = newColumn;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__COLUMN, oldColumn, newColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#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
+ */
+ public void setColumn(XmlColumn newColumn)
+ {
+ if (newColumn != column)
+ {
+ NotificationChain msgs = null;
+ if (column != null)
+ msgs = ((InternalEObject)column).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__COLUMN, null, msgs);
+ if (newColumn != null)
+ msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__COLUMN, null, msgs);
+ msgs = basicSetColumn(newColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__COLUMN, newColumn, newColumn));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Collection Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Collection 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>Collection Table</em>' containment reference.
+ * @see #setCollectionTable(XmlCollectionTable)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_CollectionTable()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlCollectionTable getCollectionTable()
+ {
+ return collectionTable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCollectionTable(XmlCollectionTable newCollectionTable, NotificationChain msgs)
+ {
+ XmlCollectionTable oldCollectionTable = collectionTable;
+ collectionTable = newCollectionTable;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE, oldCollectionTable, newCollectionTable);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getCollectionTable <em>Collection Table</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Collection Table</em>' containment reference.
+ * @see #getCollectionTable()
+ * @generated
+ */
+ public void setCollectionTable(XmlCollectionTable newCollectionTable)
+ {
+ if (newCollectionTable != collectionTable)
+ {
+ NotificationChain msgs = null;
+ if (collectionTable != null)
+ msgs = ((InternalEObject)collectionTable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE, null, msgs);
+ if (newCollectionTable != null)
+ msgs = ((InternalEObject)newCollectionTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE, null, msgs);
+ msgs = basicSetCollectionTable(newCollectionTable, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE, newCollectionTable, newCollectionTable));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN:
+ return basicSetOrderColumn(null, msgs);
+ case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES:
+ return ((InternalEList<?>)getAttributeOverrides()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES:
+ return ((InternalEList<?>)getAssociationOverrides()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES:
+ return ((InternalEList<?>)getMapKeyAttributeOverrides()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY:
+ return basicSetMapKey(null, msgs);
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS:
+ return basicSetMapKeyClass(null, msgs);
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN:
+ return basicSetMapKeyColumn(null, msgs);
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS:
+ return ((InternalEList<?>)getMapKeyJoinColumns()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ELEMENT_COLLECTION__COLUMN:
+ return basicSetColumn(null, msgs);
+ case OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE:
+ return basicSetCollectionTable(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 OrmPackage.XML_ELEMENT_COLLECTION__LOB:
+ return isLob();
+ case OrmPackage.XML_ELEMENT_COLLECTION__TEMPORAL:
+ return getTemporal();
+ case OrmPackage.XML_ELEMENT_COLLECTION__ENUMERATED:
+ return getEnumerated();
+ case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN:
+ return getOrderColumn();
+ case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY:
+ return getOrderBy();
+ case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES:
+ return getAttributeOverrides();
+ case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES:
+ return getAssociationOverrides();
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES:
+ return getMapKeyAttributeOverrides();
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL:
+ return getMapKeyTemporal();
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED:
+ return getMapKeyEnumerated();
+ case OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS:
+ return getTargetClass();
+ case OrmPackage.XML_ELEMENT_COLLECTION__FETCH:
+ return getFetch();
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY:
+ return getMapKey();
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS:
+ return getMapKeyClass();
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN:
+ return getMapKeyColumn();
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS:
+ return getMapKeyJoinColumns();
+ case OrmPackage.XML_ELEMENT_COLLECTION__COLUMN:
+ return getColumn();
+ case OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE:
+ return getCollectionTable();
+ }
+ 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 OrmPackage.XML_ELEMENT_COLLECTION__LOB:
+ setLob((Boolean)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__TEMPORAL:
+ setTemporal((TemporalType)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ENUMERATED:
+ setEnumerated((EnumType)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN:
+ setOrderColumn((XmlOrderColumn)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY:
+ setOrderBy((String)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ getAttributeOverrides().addAll((Collection<? extends XmlAttributeOverride>)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES:
+ getAssociationOverrides().clear();
+ getAssociationOverrides().addAll((Collection<? extends XmlAssociationOverride>)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES:
+ getMapKeyAttributeOverrides().clear();
+ getMapKeyAttributeOverrides().addAll((Collection<? extends XmlAttributeOverride>)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL:
+ setMapKeyTemporal((TemporalType)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED:
+ setMapKeyEnumerated((EnumType)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS:
+ setTargetClass((String)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY:
+ setMapKey((MapKey)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS:
+ setMapKeyClass((XmlClassReference)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN:
+ setMapKeyColumn((XmlColumn)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS:
+ getMapKeyJoinColumns().clear();
+ getMapKeyJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__COLUMN:
+ setColumn((XmlColumn)newValue);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE:
+ setCollectionTable((XmlCollectionTable)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ELEMENT_COLLECTION__LOB:
+ setLob(LOB_EDEFAULT);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__TEMPORAL:
+ setTemporal(TEMPORAL_EDEFAULT);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ENUMERATED:
+ setEnumerated(ENUMERATED_EDEFAULT);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN:
+ setOrderColumn((XmlOrderColumn)null);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY:
+ setOrderBy(ORDER_BY_EDEFAULT);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES:
+ getAssociationOverrides().clear();
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES:
+ getMapKeyAttributeOverrides().clear();
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL:
+ setMapKeyTemporal(MAP_KEY_TEMPORAL_EDEFAULT);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED:
+ setMapKeyEnumerated(MAP_KEY_ENUMERATED_EDEFAULT);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS:
+ setTargetClass(TARGET_CLASS_EDEFAULT);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__FETCH:
+ setFetch(FETCH_EDEFAULT);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY:
+ setMapKey((MapKey)null);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS:
+ setMapKeyClass((XmlClassReference)null);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN:
+ setMapKeyColumn((XmlColumn)null);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS:
+ getMapKeyJoinColumns().clear();
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__COLUMN:
+ setColumn((XmlColumn)null);
+ return;
+ case OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE:
+ setCollectionTable((XmlCollectionTable)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ELEMENT_COLLECTION__LOB:
+ return lob != LOB_EDEFAULT;
+ case OrmPackage.XML_ELEMENT_COLLECTION__TEMPORAL:
+ return temporal != TEMPORAL_EDEFAULT;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ENUMERATED:
+ return enumerated != ENUMERATED_EDEFAULT;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN:
+ return orderColumn != null;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY:
+ return ORDER_BY_EDEFAULT == null ? orderBy != null : !ORDER_BY_EDEFAULT.equals(orderBy);
+ case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES:
+ return attributeOverrides != null && !attributeOverrides.isEmpty();
+ case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES:
+ return associationOverrides != null && !associationOverrides.isEmpty();
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES:
+ return mapKeyAttributeOverrides != null && !mapKeyAttributeOverrides.isEmpty();
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL:
+ return mapKeyTemporal != MAP_KEY_TEMPORAL_EDEFAULT;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED:
+ return mapKeyEnumerated != MAP_KEY_ENUMERATED_EDEFAULT;
+ case OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS:
+ return TARGET_CLASS_EDEFAULT == null ? targetClass != null : !TARGET_CLASS_EDEFAULT.equals(targetClass);
+ case OrmPackage.XML_ELEMENT_COLLECTION__FETCH:
+ return fetch != FETCH_EDEFAULT;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY:
+ return mapKey != null;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS:
+ return mapKeyClass != null;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN:
+ return mapKeyColumn != null;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS:
+ return mapKeyJoinColumns != null && !mapKeyJoinColumns.isEmpty();
+ case OrmPackage.XML_ELEMENT_COLLECTION__COLUMN:
+ return column != null;
+ case OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE:
+ return collectionTable != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ELEMENT_COLLECTION__LOB: return OrmPackage.XML_CONVERTIBLE_MAPPING__LOB;
+ case OrmPackage.XML_ELEMENT_COLLECTION__TEMPORAL: return OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL;
+ case OrmPackage.XML_ELEMENT_COLLECTION__ENUMERATED: return OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOrderable_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN: return OrmV2_0Package.XML_ORDERABLE_20__ORDER_COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOrderable.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY: return OrmPackage.XML_ORDERABLE__ORDER_BY;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAttributeOverrideContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAssociationOverrideContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES: return OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMapKeyAttributeOverrideContainer_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES: return OrmV2_0Package.XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMapKeyConvertibleMapping_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL: return OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED: return OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlElementCollection_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__TARGET_CLASS;
+ case OrmPackage.XML_ELEMENT_COLLECTION__FETCH: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__FETCH;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY_CLASS;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY_COLUMN;
+ case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY_JOIN_COLUMNS;
+ case OrmPackage.XML_ELEMENT_COLLECTION__COLUMN: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__COLUMN;
+ case OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__COLLECTION_TABLE;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_CONVERTIBLE_MAPPING__LOB: return OrmPackage.XML_ELEMENT_COLLECTION__LOB;
+ case OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL: return OrmPackage.XML_ELEMENT_COLLECTION__TEMPORAL;
+ case OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED: return OrmPackage.XML_ELEMENT_COLLECTION__ENUMERATED;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOrderable_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_ORDERABLE_20__ORDER_COLUMN: return OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOrderable.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ORDERABLE__ORDER_BY: return OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAttributeOverrideContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAssociationOverrideContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES: return OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMapKeyAttributeOverrideContainer_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMapKeyConvertibleMapping_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL;
+ case OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlElementCollection_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__TARGET_CLASS: return OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS;
+ case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__FETCH: return OrmPackage.XML_ELEMENT_COLLECTION__FETCH;
+ case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY;
+ case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY_CLASS: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS;
+ case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY_COLUMN: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN;
+ case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY_JOIN_COLUMNS: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS;
+ case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__COLUMN: return OrmPackage.XML_ELEMENT_COLLECTION__COLUMN;
+ case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__COLLECTION_TABLE: return OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (lob: ");
+ result.append(lob);
+ result.append(", temporal: ");
+ result.append(temporal);
+ result.append(", enumerated: ");
+ result.append(enumerated);
+ result.append(", orderBy: ");
+ result.append(orderBy);
+ result.append(", mapKeyTemporal: ");
+ result.append(mapKeyTemporal);
+ result.append(", mapKeyEnumerated: ");
+ result.append(mapKeyEnumerated);
+ result.append(", targetClass: ");
+ result.append(targetClass);
+ result.append(", fetch: ");
+ result.append(fetch);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // **************** XmlAttributeMapping impl ******************************
+
+ public String getMappingKey() {
+ return MappingKeys2_0.ELEMENT_COLLECTION_ATTRIBUTE_MAPPING_KEY;
+ }
+
+
+ // **************** validation support ************************************
+
+ public TextRange getEnumeratedTextRange() {
+ return getAttributeTextRange(JPA2_0.ENUMERATED);
+ }
+
+ public TextRange getLobTextRange() {
+ return getAttributeTextRange(JPA2_0.LOB);
+ }
+
+ public TextRange getTemporalTextRange() {
+ return getAttributeTextRange(JPA2_0.TEMPORAL);
+ }
+
+ public TextRange getTargetClassTextRange() {
+ return getAttributeTextRange(JPA2_0.TARGET_CLASS);
+ }
+
+ public TextRange getMapKeyEnumeratedTextRange() {
+ return getAttributeTextRange(JPA2_0.MAP_KEY_ENUMERATED);
+ }
+
+ public TextRange getMapKeyTemporalTextRange() {
+ return getAttributeTextRange(JPA2_0.MAP_KEY_TEMPORAL);
+ }
+
+ public TextRange getMapKeyClassTextRange() {
+ return getElementTextRange(JPA2_0.MAP_KEY_CLASS);
+ }
+
+ // **************** translators *******************************************
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildTargetClassTranslator(),
+ buildFetchTranslator(),
+ buildAccessTranslator(),
+ buildOrderByTranslator(),
+ buildOrderColumnTranslator(),
+ buildMapKeyTranslator(),
+ buildMapKeyClassTranslator(),
+ buildMapKeyTemporalTranslator(),
+ buildMapKeyEnumeratedTranslator(),
+ buildMapKeyAttributeOverrideTranslator(),
+ XmlColumn.buildTranslator(JPA2_0.MAP_KEY_COLUMN, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_MapKeyColumn()),
+ XmlJoinColumn.buildTranslator(JPA2_0.MAP_KEY_JOIN_COLUMN, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_MapKeyJoinColumns()),
+ XmlColumn.buildTranslator(JPA.COLUMN, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_Column()),
+ buildTemporalTranslator(),
+ buildEnumeratedTranslator(),
+ buildLobTranslator(),
+ buildAttributeOverrideTranslator(),
+ buildAssociationOverrideTranslator(),
+ XmlCollectionTable.buildTranslator(JPA2_0.COLLECTION_TABLE, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_CollectionTable())
+ };
+ }
+
+ protected static Translator buildTargetClassTranslator() {
+ return new Translator(JPA2_0.TARGET_CLASS, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_TargetClass(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildFetchTranslator() {
+ return new Translator(JPA.FETCH, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_Fetch(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildOrderByTranslator() {
+ return new Translator(JPA.ORDER_BY, OrmPackage.eINSTANCE.getXmlOrderable_OrderBy());
+ }
+
+ protected static Translator buildOrderColumnTranslator() {
+ return XmlOrderColumn.buildTranslator(JPA2_0.ORDER_COLUMN, OrmV2_0Package.eINSTANCE.getXmlOrderable_2_0_OrderColumn());
+ }
+
+ protected static Translator buildColumnTranslator() {
+ return XmlColumn.buildTranslator(JPA.COLUMN, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_Column());
+ }
+
+ protected static Translator buildLobTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.LOB, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Lob());
+ }
+
+ protected static Translator buildTemporalTranslator() {
+ return new Translator(JPA.TEMPORAL, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Temporal());
+ }
+
+ protected static Translator buildEnumeratedTranslator() {
+ return new Translator(JPA.ENUMERATED, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Enumerated());
+ }
+
+ protected static Translator buildMapKeyTranslator() {
+ return MapKey.buildTranslator(JPA.MAP_KEY, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_MapKey());
+ }
+
+ protected static Translator buildMapKeyClassTranslator() {
+ return XmlClassReference.buildTranslator(JPA2_0.MAP_KEY_CLASS, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_MapKeyClass());
+ }
+
+ protected static Translator buildMapKeyTemporalTranslator() {
+ return new Translator(JPA2_0.MAP_KEY_TEMPORAL, OrmV2_0Package.eINSTANCE.getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal());
+ }
+
+ protected static Translator buildMapKeyEnumeratedTranslator() {
+ return new Translator(JPA2_0.MAP_KEY_ENUMERATED, OrmV2_0Package.eINSTANCE.getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated());
+ }
+
+ protected static Translator buildAttributeOverrideTranslator() {
+ return XmlAttributeOverride.buildTranslator(JPA.ATTRIBUTE_OVERRIDE, OrmPackage.eINSTANCE.getXmlAttributeOverrideContainer_AttributeOverrides());
+ }
+
+ protected static Translator buildAssociationOverrideTranslator() {
+ return XmlAssociationOverride.buildTranslator(JPA.ASSOCIATION_OVERRIDE, OrmPackage.eINSTANCE.getXmlAssociationOverrideContainer_AssociationOverrides());
+ }
+
+ protected static Translator buildMapKeyAttributeOverrideTranslator() {
+ return XmlAttributeOverride.buildTranslator(JPA2_0.MAP_KEY_ATTRIBUTE_OVERRIDE, OrmV2_0Package.eINSTANCE.getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides());
+ }
+
+
+ // ********** refactoring **********
+
+ public ReplaceEdit createRenameTargetClassEdit(IType originalType, String newName) {
+ String originalName = originalType.getElementName();
+ int nameIndex = this.targetClass.lastIndexOf(originalName);
+ int offset = getAttributeNode(JPA2_0.TARGET_CLASS).getValueRegionStartOffset() + 1;
+ return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+ }
+
+ public ReplaceEdit createRenameMapKeyClassEdit(IType originalType, String newName) {
+ return getMapKeyClass().createRenameEdit(originalType, newName);
+ }
+
+ public ReplaceEdit createRenameTargetClassPackageEdit(String newPackageName) {
+ int packageLength = this.targetClass.lastIndexOf('.');
+ if (newPackageName == "") {//$NON-NLS-1$
+ //moving to the default package, remove the '.'
+ packageLength++;
+ }
+ if (packageLength == -1) {
+ //moving from the default package or unspecified package
+ packageLength = 0;
+ newPackageName = newPackageName + '.';
+ }
+ int offset = getAttributeNode(JPA2_0.TARGET_CLASS).getValueRegionStartOffset() + 1; // +1 = opening double quote
+ return new ReplaceEdit(offset, packageLength, newPackageName);
+ }
+
+ public ReplaceEdit createRenameMapKeyClassPackageEdit(String newName) {
+ return getMapKeyClass().createRenamePackageEdit(newName);
+ }
+
+ // ********** content assist ***************
+
+ public TextRange getTargetClassCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA2_0.TARGET_CLASS);
+ }
+
+ public boolean targetClassTouches(int pos) {
+ TextRange textRange = this.getTargetClassCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddable.java
new file mode 100644
index 0000000000..08c7369358
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddable.java
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Embeddable</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbeddable()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlEmbeddable extends AbstractXmlTypeMapping
+{
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlEmbeddable()
+ {
+ super();
+ }
+
+ public String getMappingKey() {
+ return MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY;
+ }
+
+ public XmlEntityMappings getEntityMappings() {
+ return (XmlEntityMappings) eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_EMBEDDABLE;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildClassTranslator(),
+ buildAccessTranslator(),
+ buildMetadataCompleteTranslator(),
+ buildDescriptionTranslator(),
+ buildAttributesTranslator()
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbedded.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbedded.java
new file mode 100644
index 0000000000..486eb8e4a7
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbedded.java
@@ -0,0 +1,256 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Embedded</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbedded()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlEmbedded extends AbstractXmlEmbedded implements XmlEmbedded_2_0
+{
+ /**
+ * 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<XmlAssociationOverride> associationOverrides;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlEmbedded()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_EMBEDDED;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Association Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer_AssociationOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAssociationOverride> getAssociationOverrides()
+ {
+ if (associationOverrides == null)
+ {
+ associationOverrides = new EObjectContainmentEList<XmlAssociationOverride>(XmlAssociationOverride.class, this, OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES);
+ }
+ return associationOverrides;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_EMBEDDED__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 OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES:
+ return getAssociationOverrides();
+ }
+ 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 OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES:
+ getAssociationOverrides().clear();
+ getAssociationOverrides().addAll((Collection<? extends XmlAssociationOverride>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES:
+ getAssociationOverrides().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES:
+ return associationOverrides != null && !associationOverrides.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlAssociationOverrideContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES: return OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlEmbedded_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlAssociationOverrideContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES: return OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlEmbedded_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ public String getMappingKey() {
+ return MappingKeys.EMBEDDED_ATTRIBUTE_MAPPING_KEY;
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildAccessTranslator(),
+ buildAttributeOverrideTranslator(),
+ buildAssociationOverrideTranslator()
+ };
+ }
+
+ protected static Translator buildAssociationOverrideTranslator() {
+ return XmlAssociationOverride.buildTranslator(JPA.ASSOCIATION_OVERRIDE, OrmPackage.eINSTANCE.getXmlAssociationOverrideContainer_AssociationOverrides());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddedId.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddedId.java
new file mode 100644
index 0000000000..865eea2dab
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddedId.java
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Embedded Id</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbeddedId()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlEmbeddedId extends AbstractXmlEmbedded
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlEmbeddedId()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_EMBEDDED_ID;
+ }
+
+ public String getMappingKey() {
+ return MappingKeys.EMBEDDED_ID_ATTRIBUTE_MAPPING_KEY;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildAccessTranslator(),
+ buildAttributeOverrideTranslator()
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntity.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntity.java
new file mode 100644
index 0000000000..72f58c1394
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntity.java
@@ -0,0 +1,2308 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.EmptyTagBooleanTranslator;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getTable <em>Table</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getSecondaryTables <em>Secondary Tables</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getInheritance <em>Inheritance</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorValue <em>Discriminator Value</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorColumn <em>Discriminator Column</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getSqlResultSetMappings <em>Sql Result Set Mappings</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getEntityListeners <em>Entity Listeners</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlEntity extends AbstractXmlTypeMapping implements XmlQueryContainer, XmlGeneratorContainer, XmlEventMethodContainer, XmlAttributeOverrideContainer, XmlAssociationOverrideContainer, XmlEntity_2_0, XmlIdClassContainer
+{
+
+ /**
+ * The cached value of the '{@link #getNamedQueries() <em>Named Queries</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamedQueries()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlNamedQuery> namedQueries;
+
+ /**
+ * The cached value of the '{@link #getNamedNativeQueries() <em>Named Native Queries</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamedNativeQueries()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlNamedNativeQuery> namedNativeQueries;
+
+ /**
+ * The cached value of the '{@link #getSequenceGenerator() <em>Sequence Generator</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequenceGenerator()
+ * @generated
+ * @ordered
+ */
+ protected XmlSequenceGenerator sequenceGenerator;
+
+ /**
+ * The cached value of the '{@link #getTableGenerator() <em>Table Generator</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTableGenerator()
+ * @generated
+ * @ordered
+ */
+ protected XmlTableGenerator tableGenerator;
+
+ /**
+ * The cached value of the '{@link #getPrePersist() <em>Pre Persist</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrePersist()
+ * @generated
+ * @ordered
+ */
+ protected PrePersist prePersist;
+
+ /**
+ * The cached value of the '{@link #getPostPersist() <em>Post Persist</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostPersist()
+ * @generated
+ * @ordered
+ */
+ protected PostPersist postPersist;
+
+ /**
+ * The cached value of the '{@link #getPreRemove() <em>Pre Remove</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPreRemove()
+ * @generated
+ * @ordered
+ */
+ protected PreRemove preRemove;
+
+ /**
+ * The cached value of the '{@link #getPostRemove() <em>Post Remove</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostRemove()
+ * @generated
+ * @ordered
+ */
+ protected PostRemove postRemove;
+
+ /**
+ * The cached value of the '{@link #getPreUpdate() <em>Pre Update</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPreUpdate()
+ * @generated
+ * @ordered
+ */
+ protected PreUpdate preUpdate;
+
+ /**
+ * The cached value of the '{@link #getPostUpdate() <em>Post Update</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostUpdate()
+ * @generated
+ * @ordered
+ */
+ protected PostUpdate postUpdate;
+
+ /**
+ * The cached value of the '{@link #getPostLoad() <em>Post Load</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostLoad()
+ * @generated
+ * @ordered
+ */
+ protected PostLoad postLoad;
+
+ /**
+ * 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<XmlAttributeOverride> attributeOverrides;
+
+ /**
+ * 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<XmlAssociationOverride> associationOverrides;
+
+ /**
+ * The default value of the '{@link #getCacheable() <em>Cacheable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCacheable()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean CACHEABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCacheable() <em>Cacheable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCacheable()
+ * @generated
+ * @ordered
+ */
+ protected Boolean cacheable = CACHEABLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getIdClass() <em>Id Class</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdClass()
+ * @generated
+ * @ordered
+ */
+ protected XmlClassReference idClass;
+
+ /**
+ * 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 #getTable() <em>Table</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTable()
+ * @generated
+ * @ordered
+ */
+ protected XmlTable table;
+
+ /**
+ * 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<XmlSecondaryTable> secondaryTables;
+
+ /**
+ * 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<XmlPrimaryKeyJoinColumn> primaryKeyJoinColumns;
+
+ /**
+ * 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 default value of the '{@link #getDiscriminatorValue() <em>Discriminator Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDiscriminatorValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String DISCRIMINATOR_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDiscriminatorValue() <em>Discriminator Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDiscriminatorValue()
+ * @generated
+ * @ordered
+ */
+ protected String discriminatorValue = DISCRIMINATOR_VALUE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDiscriminatorColumn() <em>Discriminator Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDiscriminatorColumn()
+ * @generated
+ * @ordered
+ */
+ protected XmlDiscriminatorColumn discriminatorColumn;
+
+ /**
+ * The cached value of the '{@link #getSqlResultSetMappings() <em>Sql Result Set Mappings</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSqlResultSetMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<SqlResultSetMapping> sqlResultSetMappings;
+
+ /**
+ * The default value of the '{@link #isExcludeDefaultListeners() <em>Exclude Default Listeners</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExcludeDefaultListeners()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXCLUDE_DEFAULT_LISTENERS_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isExcludeDefaultListeners() <em>Exclude Default Listeners</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExcludeDefaultListeners()
+ * @generated
+ * @ordered
+ */
+ protected boolean excludeDefaultListeners = EXCLUDE_DEFAULT_LISTENERS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isExcludeSuperclassListeners() <em>Exclude Superclass Listeners</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExcludeSuperclassListeners()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isExcludeSuperclassListeners() <em>Exclude Superclass Listeners</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExcludeSuperclassListeners()
+ * @generated
+ * @ordered
+ */
+ protected boolean excludeSuperclassListeners = EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getEntityListeners() <em>Entity Listeners</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEntityListeners()
+ * @generated
+ * @ordered
+ */
+ protected EntityListeners entityListeners;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlEntity()
+ {
+ super();
+ }
+
+ public String getMappingKey() {
+ return MappingKeys.ENTITY_TYPE_MAPPING_KEY;
+ }
+
+ public XmlEntityMappings entityMappings() {
+ return (XmlEntityMappings) eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_ENTITY;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__NAME, oldName, name));
+ }
+
+ /**
+ * 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(XmlTable)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_Table()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlTable getTable()
+ {
+ return table;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTable(XmlTable newTable, NotificationChain msgs)
+ {
+ XmlTable oldTable = table;
+ table = newTable;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__TABLE, oldTable, newTable);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#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
+ */
+ public void setTable(XmlTable newTable)
+ {
+ if (newTable != table)
+ {
+ NotificationChain msgs = null;
+ if (table != null)
+ msgs = ((InternalEObject)table).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__TABLE, null, msgs);
+ if (newTable != null)
+ msgs = ((InternalEObject)newTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__TABLE, null, msgs);
+ msgs = basicSetTable(newTable, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__TABLE, newTable, newTable));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Secondary Tables</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_SecondaryTables()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlSecondaryTable> getSecondaryTables()
+ {
+ if (secondaryTables == null)
+ {
+ secondaryTables = new EObjectContainmentEList<XmlSecondaryTable>(XmlSecondaryTable.class, this, OrmPackage.XML_ENTITY__SECONDARY_TABLES);
+ }
+ return secondaryTables;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_PrimaryKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlPrimaryKeyJoinColumn> getPrimaryKeyJoinColumns()
+ {
+ if (primaryKeyJoinColumns == null)
+ {
+ primaryKeyJoinColumns = new EObjectContainmentEList<XmlPrimaryKeyJoinColumn>(XmlPrimaryKeyJoinColumn.class, this, OrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS);
+ }
+ return primaryKeyJoinColumns;
+ }
+
+ /**
+ * 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(XmlClassReference)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlIdClassContainer_IdClass()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlClassReference getIdClass()
+ {
+ return idClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIdClass(XmlClassReference newIdClass, NotificationChain msgs)
+ {
+ XmlClassReference oldIdClass = idClass;
+ idClass = newIdClass;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__ID_CLASS, oldIdClass, newIdClass);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#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
+ */
+ public void setIdClass(XmlClassReference newIdClass)
+ {
+ if (newIdClass != idClass)
+ {
+ NotificationChain msgs = null;
+ if (idClass != null)
+ msgs = ((InternalEObject)idClass).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__ID_CLASS, null, msgs);
+ if (newIdClass != null)
+ msgs = ((InternalEObject)newIdClass).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__ID_CLASS, null, msgs);
+ msgs = basicSetIdClass(newIdClass, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__ID_CLASS, newIdClass, newIdClass));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_Inheritance()
+ * @model containment="true"
+ * @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, OrmPackage.XML_ENTITY__INHERITANCE, oldInheritance, newInheritance);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#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
+ */
+ public void setInheritance(Inheritance newInheritance)
+ {
+ if (newInheritance != inheritance)
+ {
+ NotificationChain msgs = null;
+ if (inheritance != null)
+ msgs = ((InternalEObject)inheritance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__INHERITANCE, null, msgs);
+ if (newInheritance != null)
+ msgs = ((InternalEObject)newInheritance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__INHERITANCE, null, msgs);
+ msgs = basicSetInheritance(newInheritance, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__INHERITANCE, newInheritance, newInheritance));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Discriminator Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Discriminator 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>Discriminator Value</em>' attribute.
+ * @see #setDiscriminatorValue(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_DiscriminatorValue()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDiscriminatorValue()
+ {
+ return discriminatorValue;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorValue <em>Discriminator Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Discriminator Value</em>' attribute.
+ * @see #getDiscriminatorValue()
+ * @generated
+ */
+ public void setDiscriminatorValue(String newDiscriminatorValue)
+ {
+ String oldDiscriminatorValue = discriminatorValue;
+ discriminatorValue = newDiscriminatorValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE, oldDiscriminatorValue, discriminatorValue));
+ }
+
+ /**
+ * 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(XmlDiscriminatorColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_DiscriminatorColumn()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlDiscriminatorColumn getDiscriminatorColumn()
+ {
+ return discriminatorColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDiscriminatorColumn(XmlDiscriminatorColumn newDiscriminatorColumn, NotificationChain msgs)
+ {
+ XmlDiscriminatorColumn oldDiscriminatorColumn = discriminatorColumn;
+ discriminatorColumn = newDiscriminatorColumn;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN, oldDiscriminatorColumn, newDiscriminatorColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#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
+ */
+ public void setDiscriminatorColumn(XmlDiscriminatorColumn newDiscriminatorColumn)
+ {
+ if (newDiscriminatorColumn != discriminatorColumn)
+ {
+ NotificationChain msgs = null;
+ if (discriminatorColumn != null)
+ msgs = ((InternalEObject)discriminatorColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN, null, msgs);
+ if (newDiscriminatorColumn != null)
+ msgs = ((InternalEObject)newDiscriminatorColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN, null, msgs);
+ msgs = basicSetDiscriminatorColumn(newDiscriminatorColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN, newDiscriminatorColumn, newDiscriminatorColumn));
+ }
+
+ /**
+ * 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(XmlSequenceGenerator)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer_SequenceGenerator()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlSequenceGenerator getSequenceGenerator()
+ {
+ return sequenceGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSequenceGenerator(XmlSequenceGenerator newSequenceGenerator, NotificationChain msgs)
+ {
+ XmlSequenceGenerator oldSequenceGenerator = sequenceGenerator;
+ sequenceGenerator = newSequenceGenerator;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR, oldSequenceGenerator, newSequenceGenerator);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#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
+ */
+ public void setSequenceGenerator(XmlSequenceGenerator newSequenceGenerator)
+ {
+ if (newSequenceGenerator != sequenceGenerator)
+ {
+ NotificationChain msgs = null;
+ if (sequenceGenerator != null)
+ msgs = ((InternalEObject)sequenceGenerator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR, null, msgs);
+ if (newSequenceGenerator != null)
+ msgs = ((InternalEObject)newSequenceGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR, null, msgs);
+ msgs = basicSetSequenceGenerator(newSequenceGenerator, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR, newSequenceGenerator, newSequenceGenerator));
+ }
+
+ /**
+ * 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(XmlTableGenerator)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer_TableGenerator()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlTableGenerator getTableGenerator()
+ {
+ return tableGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTableGenerator(XmlTableGenerator newTableGenerator, NotificationChain msgs)
+ {
+ XmlTableGenerator oldTableGenerator = tableGenerator;
+ tableGenerator = newTableGenerator;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__TABLE_GENERATOR, oldTableGenerator, newTableGenerator);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#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
+ */
+ public void setTableGenerator(XmlTableGenerator newTableGenerator)
+ {
+ if (newTableGenerator != tableGenerator)
+ {
+ NotificationChain msgs = null;
+ if (tableGenerator != null)
+ msgs = ((InternalEObject)tableGenerator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__TABLE_GENERATOR, null, msgs);
+ if (newTableGenerator != null)
+ msgs = ((InternalEObject)newTableGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__TABLE_GENERATOR, null, msgs);
+ msgs = basicSetTableGenerator(newTableGenerator, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__TABLE_GENERATOR, newTableGenerator, newTableGenerator));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Named Queries</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Named Queries</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>Named Queries</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer_NamedQueries()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlNamedQuery> getNamedQueries()
+ {
+ if (namedQueries == null)
+ {
+ namedQueries = new EObjectContainmentEList<XmlNamedQuery>(XmlNamedQuery.class, this, OrmPackage.XML_ENTITY__NAMED_QUERIES);
+ }
+ return namedQueries;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Named Native Queries</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Named Native Queries</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>Named Native Queries</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer_NamedNativeQueries()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlNamedNativeQuery> getNamedNativeQueries()
+ {
+ if (namedNativeQueries == null)
+ {
+ namedNativeQueries = new EObjectContainmentEList<XmlNamedNativeQuery>(XmlNamedNativeQuery.class, this, OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES);
+ }
+ return namedNativeQueries;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Sql Result Set Mappings</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sql Result Set Mappings</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>Sql Result Set Mappings</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_SqlResultSetMappings()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<SqlResultSetMapping> getSqlResultSetMappings()
+ {
+ if (sqlResultSetMappings == null)
+ {
+ sqlResultSetMappings = new EObjectContainmentEList<SqlResultSetMapping>(SqlResultSetMapping.class, this, OrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS);
+ }
+ return sqlResultSetMappings;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Exclude Default Listeners</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exclude Default Listeners</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exclude Default Listeners</em>' attribute.
+ * @see #setExcludeDefaultListeners(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_ExcludeDefaultListeners()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isExcludeDefaultListeners()
+ {
+ return excludeDefaultListeners;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exclude Default Listeners</em>' attribute.
+ * @see #isExcludeDefaultListeners()
+ * @generated
+ */
+ public void setExcludeDefaultListeners(boolean newExcludeDefaultListeners)
+ {
+ boolean oldExcludeDefaultListeners = excludeDefaultListeners;
+ excludeDefaultListeners = newExcludeDefaultListeners;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS, oldExcludeDefaultListeners, excludeDefaultListeners));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Exclude Superclass Listeners</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exclude Superclass Listeners</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exclude Superclass Listeners</em>' attribute.
+ * @see #setExcludeSuperclassListeners(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_ExcludeSuperclassListeners()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isExcludeSuperclassListeners()
+ {
+ return excludeSuperclassListeners;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exclude Superclass Listeners</em>' attribute.
+ * @see #isExcludeSuperclassListeners()
+ * @generated
+ */
+ public void setExcludeSuperclassListeners(boolean newExcludeSuperclassListeners)
+ {
+ boolean oldExcludeSuperclassListeners = excludeSuperclassListeners;
+ excludeSuperclassListeners = newExcludeSuperclassListeners;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS, oldExcludeSuperclassListeners, excludeSuperclassListeners));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Entity Listeners</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Entity Listeners</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 Listeners</em>' containment reference.
+ * @see #setEntityListeners(EntityListeners)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_EntityListeners()
+ * @model containment="true"
+ * @generated
+ */
+ public EntityListeners getEntityListeners()
+ {
+ return entityListeners;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEntityListeners(EntityListeners newEntityListeners, NotificationChain msgs)
+ {
+ EntityListeners oldEntityListeners = entityListeners;
+ entityListeners = newEntityListeners;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__ENTITY_LISTENERS, oldEntityListeners, newEntityListeners);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getEntityListeners <em>Entity Listeners</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Entity Listeners</em>' containment reference.
+ * @see #getEntityListeners()
+ * @generated
+ */
+ public void setEntityListeners(EntityListeners newEntityListeners)
+ {
+ if (newEntityListeners != entityListeners)
+ {
+ NotificationChain msgs = null;
+ if (entityListeners != null)
+ msgs = ((InternalEObject)entityListeners).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__ENTITY_LISTENERS, null, msgs);
+ if (newEntityListeners != null)
+ msgs = ((InternalEObject)newEntityListeners).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__ENTITY_LISTENERS, null, msgs);
+ msgs = basicSetEntityListeners(newEntityListeners, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__ENTITY_LISTENERS, newEntityListeners, newEntityListeners));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Pre Persist</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Persist</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>Pre Persist</em>' containment reference.
+ * @see #setPrePersist(PrePersist)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PrePersist()
+ * @model containment="true"
+ * @generated
+ */
+ public PrePersist getPrePersist()
+ {
+ return prePersist;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPrePersist(PrePersist newPrePersist, NotificationChain msgs)
+ {
+ PrePersist oldPrePersist = prePersist;
+ prePersist = newPrePersist;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__PRE_PERSIST, oldPrePersist, newPrePersist);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPrePersist <em>Pre Persist</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pre Persist</em>' containment reference.
+ * @see #getPrePersist()
+ * @generated
+ */
+ public void setPrePersist(PrePersist newPrePersist)
+ {
+ if (newPrePersist != prePersist)
+ {
+ NotificationChain msgs = null;
+ if (prePersist != null)
+ msgs = ((InternalEObject)prePersist).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__PRE_PERSIST, null, msgs);
+ if (newPrePersist != null)
+ msgs = ((InternalEObject)newPrePersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__PRE_PERSIST, null, msgs);
+ msgs = basicSetPrePersist(newPrePersist, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__PRE_PERSIST, newPrePersist, newPrePersist));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Post Persist</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Persist</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>Post Persist</em>' containment reference.
+ * @see #setPostPersist(PostPersist)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostPersist()
+ * @model containment="true"
+ * @generated
+ */
+ public PostPersist getPostPersist()
+ {
+ return postPersist;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPostPersist(PostPersist newPostPersist, NotificationChain msgs)
+ {
+ PostPersist oldPostPersist = postPersist;
+ postPersist = newPostPersist;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_PERSIST, oldPostPersist, newPostPersist);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPostPersist <em>Post Persist</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Post Persist</em>' containment reference.
+ * @see #getPostPersist()
+ * @generated
+ */
+ public void setPostPersist(PostPersist newPostPersist)
+ {
+ if (newPostPersist != postPersist)
+ {
+ NotificationChain msgs = null;
+ if (postPersist != null)
+ msgs = ((InternalEObject)postPersist).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_PERSIST, null, msgs);
+ if (newPostPersist != null)
+ msgs = ((InternalEObject)newPostPersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_PERSIST, null, msgs);
+ msgs = basicSetPostPersist(newPostPersist, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_PERSIST, newPostPersist, newPostPersist));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Pre Remove</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Remove</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>Pre Remove</em>' containment reference.
+ * @see #setPreRemove(PreRemove)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PreRemove()
+ * @model containment="true"
+ * @generated
+ */
+ public PreRemove getPreRemove()
+ {
+ return preRemove;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPreRemove(PreRemove newPreRemove, NotificationChain msgs)
+ {
+ PreRemove oldPreRemove = preRemove;
+ preRemove = newPreRemove;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__PRE_REMOVE, oldPreRemove, newPreRemove);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPreRemove <em>Pre Remove</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pre Remove</em>' containment reference.
+ * @see #getPreRemove()
+ * @generated
+ */
+ public void setPreRemove(PreRemove newPreRemove)
+ {
+ if (newPreRemove != preRemove)
+ {
+ NotificationChain msgs = null;
+ if (preRemove != null)
+ msgs = ((InternalEObject)preRemove).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__PRE_REMOVE, null, msgs);
+ if (newPreRemove != null)
+ msgs = ((InternalEObject)newPreRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__PRE_REMOVE, null, msgs);
+ msgs = basicSetPreRemove(newPreRemove, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__PRE_REMOVE, newPreRemove, newPreRemove));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Post Remove</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Remove</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>Post Remove</em>' containment reference.
+ * @see #setPostRemove(PostRemove)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostRemove()
+ * @model containment="true"
+ * @generated
+ */
+ public PostRemove getPostRemove()
+ {
+ return postRemove;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPostRemove(PostRemove newPostRemove, NotificationChain msgs)
+ {
+ PostRemove oldPostRemove = postRemove;
+ postRemove = newPostRemove;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_REMOVE, oldPostRemove, newPostRemove);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPostRemove <em>Post Remove</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Post Remove</em>' containment reference.
+ * @see #getPostRemove()
+ * @generated
+ */
+ public void setPostRemove(PostRemove newPostRemove)
+ {
+ if (newPostRemove != postRemove)
+ {
+ NotificationChain msgs = null;
+ if (postRemove != null)
+ msgs = ((InternalEObject)postRemove).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_REMOVE, null, msgs);
+ if (newPostRemove != null)
+ msgs = ((InternalEObject)newPostRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_REMOVE, null, msgs);
+ msgs = basicSetPostRemove(newPostRemove, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_REMOVE, newPostRemove, newPostRemove));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Pre Update</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Update</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>Pre Update</em>' containment reference.
+ * @see #setPreUpdate(PreUpdate)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PreUpdate()
+ * @model containment="true"
+ * @generated
+ */
+ public PreUpdate getPreUpdate()
+ {
+ return preUpdate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPreUpdate(PreUpdate newPreUpdate, NotificationChain msgs)
+ {
+ PreUpdate oldPreUpdate = preUpdate;
+ preUpdate = newPreUpdate;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__PRE_UPDATE, oldPreUpdate, newPreUpdate);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPreUpdate <em>Pre Update</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pre Update</em>' containment reference.
+ * @see #getPreUpdate()
+ * @generated
+ */
+ public void setPreUpdate(PreUpdate newPreUpdate)
+ {
+ if (newPreUpdate != preUpdate)
+ {
+ NotificationChain msgs = null;
+ if (preUpdate != null)
+ msgs = ((InternalEObject)preUpdate).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__PRE_UPDATE, null, msgs);
+ if (newPreUpdate != null)
+ msgs = ((InternalEObject)newPreUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__PRE_UPDATE, null, msgs);
+ msgs = basicSetPreUpdate(newPreUpdate, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__PRE_UPDATE, newPreUpdate, newPreUpdate));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Post Update</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Update</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>Post Update</em>' containment reference.
+ * @see #setPostUpdate(PostUpdate)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostUpdate()
+ * @model containment="true"
+ * @generated
+ */
+ public PostUpdate getPostUpdate()
+ {
+ return postUpdate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPostUpdate(PostUpdate newPostUpdate, NotificationChain msgs)
+ {
+ PostUpdate oldPostUpdate = postUpdate;
+ postUpdate = newPostUpdate;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_UPDATE, oldPostUpdate, newPostUpdate);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPostUpdate <em>Post Update</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Post Update</em>' containment reference.
+ * @see #getPostUpdate()
+ * @generated
+ */
+ public void setPostUpdate(PostUpdate newPostUpdate)
+ {
+ if (newPostUpdate != postUpdate)
+ {
+ NotificationChain msgs = null;
+ if (postUpdate != null)
+ msgs = ((InternalEObject)postUpdate).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_UPDATE, null, msgs);
+ if (newPostUpdate != null)
+ msgs = ((InternalEObject)newPostUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_UPDATE, null, msgs);
+ msgs = basicSetPostUpdate(newPostUpdate, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_UPDATE, newPostUpdate, newPostUpdate));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Post Load</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Load</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>Post Load</em>' containment reference.
+ * @see #setPostLoad(PostLoad)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostLoad()
+ * @model containment="true"
+ * @generated
+ */
+ public PostLoad getPostLoad()
+ {
+ return postLoad;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPostLoad(PostLoad newPostLoad, NotificationChain msgs)
+ {
+ PostLoad oldPostLoad = postLoad;
+ postLoad = newPostLoad;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_LOAD, oldPostLoad, newPostLoad);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPostLoad <em>Post Load</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Post Load</em>' containment reference.
+ * @see #getPostLoad()
+ * @generated
+ */
+ public void setPostLoad(PostLoad newPostLoad)
+ {
+ if (newPostLoad != postLoad)
+ {
+ NotificationChain msgs = null;
+ if (postLoad != null)
+ msgs = ((InternalEObject)postLoad).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_LOAD, null, msgs);
+ if (newPostLoad != null)
+ msgs = ((InternalEObject)newPostLoad).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_LOAD, null, msgs);
+ msgs = basicSetPostLoad(newPostLoad, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_LOAD, newPostLoad, newPostLoad));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer_AttributeOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAttributeOverride> getAttributeOverrides()
+ {
+ if (attributeOverrides == null)
+ {
+ attributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES);
+ }
+ return attributeOverrides;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Association Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer_AssociationOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAssociationOverride> getAssociationOverrides()
+ {
+ if (associationOverrides == null)
+ {
+ associationOverrides = new EObjectContainmentEList<XmlAssociationOverride>(XmlAssociationOverride.class, this, OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES);
+ }
+ return associationOverrides;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Cacheable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cacheable</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cacheable</em>' attribute.
+ * @see #setCacheable(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlCacheable_2_0_Cacheable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getCacheable()
+ {
+ return cacheable;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getCacheable <em>Cacheable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cacheable</em>' attribute.
+ * @see #getCacheable()
+ * @generated
+ */
+ public void setCacheable(Boolean newCacheable)
+ {
+ Boolean oldCacheable = cacheable;
+ cacheable = newCacheable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__CACHEABLE, oldCacheable, cacheable));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ENTITY__NAMED_QUERIES:
+ return ((InternalEList<?>)getNamedQueries()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES:
+ return ((InternalEList<?>)getNamedNativeQueries()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR:
+ return basicSetSequenceGenerator(null, msgs);
+ case OrmPackage.XML_ENTITY__TABLE_GENERATOR:
+ return basicSetTableGenerator(null, msgs);
+ case OrmPackage.XML_ENTITY__PRE_PERSIST:
+ return basicSetPrePersist(null, msgs);
+ case OrmPackage.XML_ENTITY__POST_PERSIST:
+ return basicSetPostPersist(null, msgs);
+ case OrmPackage.XML_ENTITY__PRE_REMOVE:
+ return basicSetPreRemove(null, msgs);
+ case OrmPackage.XML_ENTITY__POST_REMOVE:
+ return basicSetPostRemove(null, msgs);
+ case OrmPackage.XML_ENTITY__PRE_UPDATE:
+ return basicSetPreUpdate(null, msgs);
+ case OrmPackage.XML_ENTITY__POST_UPDATE:
+ return basicSetPostUpdate(null, msgs);
+ case OrmPackage.XML_ENTITY__POST_LOAD:
+ return basicSetPostLoad(null, msgs);
+ case OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES:
+ return ((InternalEList<?>)getAttributeOverrides()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES:
+ return ((InternalEList<?>)getAssociationOverrides()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY__ID_CLASS:
+ return basicSetIdClass(null, msgs);
+ case OrmPackage.XML_ENTITY__TABLE:
+ return basicSetTable(null, msgs);
+ case OrmPackage.XML_ENTITY__SECONDARY_TABLES:
+ return ((InternalEList<?>)getSecondaryTables()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS:
+ return ((InternalEList<?>)getPrimaryKeyJoinColumns()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY__INHERITANCE:
+ return basicSetInheritance(null, msgs);
+ case OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN:
+ return basicSetDiscriminatorColumn(null, msgs);
+ case OrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS:
+ return ((InternalEList<?>)getSqlResultSetMappings()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY__ENTITY_LISTENERS:
+ return basicSetEntityListeners(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 OrmPackage.XML_ENTITY__NAMED_QUERIES:
+ return getNamedQueries();
+ case OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES:
+ return getNamedNativeQueries();
+ case OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR:
+ return getSequenceGenerator();
+ case OrmPackage.XML_ENTITY__TABLE_GENERATOR:
+ return getTableGenerator();
+ case OrmPackage.XML_ENTITY__PRE_PERSIST:
+ return getPrePersist();
+ case OrmPackage.XML_ENTITY__POST_PERSIST:
+ return getPostPersist();
+ case OrmPackage.XML_ENTITY__PRE_REMOVE:
+ return getPreRemove();
+ case OrmPackage.XML_ENTITY__POST_REMOVE:
+ return getPostRemove();
+ case OrmPackage.XML_ENTITY__PRE_UPDATE:
+ return getPreUpdate();
+ case OrmPackage.XML_ENTITY__POST_UPDATE:
+ return getPostUpdate();
+ case OrmPackage.XML_ENTITY__POST_LOAD:
+ return getPostLoad();
+ case OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES:
+ return getAttributeOverrides();
+ case OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES:
+ return getAssociationOverrides();
+ case OrmPackage.XML_ENTITY__CACHEABLE:
+ return getCacheable();
+ case OrmPackage.XML_ENTITY__ID_CLASS:
+ return getIdClass();
+ case OrmPackage.XML_ENTITY__NAME:
+ return getName();
+ case OrmPackage.XML_ENTITY__TABLE:
+ return getTable();
+ case OrmPackage.XML_ENTITY__SECONDARY_TABLES:
+ return getSecondaryTables();
+ case OrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS:
+ return getPrimaryKeyJoinColumns();
+ case OrmPackage.XML_ENTITY__INHERITANCE:
+ return getInheritance();
+ case OrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE:
+ return getDiscriminatorValue();
+ case OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN:
+ return getDiscriminatorColumn();
+ case OrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS:
+ return getSqlResultSetMappings();
+ case OrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS:
+ return isExcludeDefaultListeners();
+ case OrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS:
+ return isExcludeSuperclassListeners();
+ case OrmPackage.XML_ENTITY__ENTITY_LISTENERS:
+ return getEntityListeners();
+ }
+ 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 OrmPackage.XML_ENTITY__NAMED_QUERIES:
+ getNamedQueries().clear();
+ getNamedQueries().addAll((Collection<? extends XmlNamedQuery>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES:
+ getNamedNativeQueries().clear();
+ getNamedNativeQueries().addAll((Collection<? extends XmlNamedNativeQuery>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR:
+ setSequenceGenerator((XmlSequenceGenerator)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__TABLE_GENERATOR:
+ setTableGenerator((XmlTableGenerator)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__PRE_PERSIST:
+ setPrePersist((PrePersist)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__POST_PERSIST:
+ setPostPersist((PostPersist)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__PRE_REMOVE:
+ setPreRemove((PreRemove)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__POST_REMOVE:
+ setPostRemove((PostRemove)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__PRE_UPDATE:
+ setPreUpdate((PreUpdate)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__POST_UPDATE:
+ setPostUpdate((PostUpdate)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__POST_LOAD:
+ setPostLoad((PostLoad)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ getAttributeOverrides().addAll((Collection<? extends XmlAttributeOverride>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES:
+ getAssociationOverrides().clear();
+ getAssociationOverrides().addAll((Collection<? extends XmlAssociationOverride>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__CACHEABLE:
+ setCacheable((Boolean)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__ID_CLASS:
+ setIdClass((XmlClassReference)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__NAME:
+ setName((String)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__TABLE:
+ setTable((XmlTable)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__SECONDARY_TABLES:
+ getSecondaryTables().clear();
+ getSecondaryTables().addAll((Collection<? extends XmlSecondaryTable>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS:
+ getPrimaryKeyJoinColumns().clear();
+ getPrimaryKeyJoinColumns().addAll((Collection<? extends XmlPrimaryKeyJoinColumn>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__INHERITANCE:
+ setInheritance((Inheritance)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE:
+ setDiscriminatorValue((String)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN:
+ setDiscriminatorColumn((XmlDiscriminatorColumn)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS:
+ getSqlResultSetMappings().clear();
+ getSqlResultSetMappings().addAll((Collection<? extends SqlResultSetMapping>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS:
+ setExcludeDefaultListeners((Boolean)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS:
+ setExcludeSuperclassListeners((Boolean)newValue);
+ return;
+ case OrmPackage.XML_ENTITY__ENTITY_LISTENERS:
+ setEntityListeners((EntityListeners)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ENTITY__NAMED_QUERIES:
+ getNamedQueries().clear();
+ return;
+ case OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES:
+ getNamedNativeQueries().clear();
+ return;
+ case OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR:
+ setSequenceGenerator((XmlSequenceGenerator)null);
+ return;
+ case OrmPackage.XML_ENTITY__TABLE_GENERATOR:
+ setTableGenerator((XmlTableGenerator)null);
+ return;
+ case OrmPackage.XML_ENTITY__PRE_PERSIST:
+ setPrePersist((PrePersist)null);
+ return;
+ case OrmPackage.XML_ENTITY__POST_PERSIST:
+ setPostPersist((PostPersist)null);
+ return;
+ case OrmPackage.XML_ENTITY__PRE_REMOVE:
+ setPreRemove((PreRemove)null);
+ return;
+ case OrmPackage.XML_ENTITY__POST_REMOVE:
+ setPostRemove((PostRemove)null);
+ return;
+ case OrmPackage.XML_ENTITY__PRE_UPDATE:
+ setPreUpdate((PreUpdate)null);
+ return;
+ case OrmPackage.XML_ENTITY__POST_UPDATE:
+ setPostUpdate((PostUpdate)null);
+ return;
+ case OrmPackage.XML_ENTITY__POST_LOAD:
+ setPostLoad((PostLoad)null);
+ return;
+ case OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ return;
+ case OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES:
+ getAssociationOverrides().clear();
+ return;
+ case OrmPackage.XML_ENTITY__CACHEABLE:
+ setCacheable(CACHEABLE_EDEFAULT);
+ return;
+ case OrmPackage.XML_ENTITY__ID_CLASS:
+ setIdClass((XmlClassReference)null);
+ return;
+ case OrmPackage.XML_ENTITY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OrmPackage.XML_ENTITY__TABLE:
+ setTable((XmlTable)null);
+ return;
+ case OrmPackage.XML_ENTITY__SECONDARY_TABLES:
+ getSecondaryTables().clear();
+ return;
+ case OrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS:
+ getPrimaryKeyJoinColumns().clear();
+ return;
+ case OrmPackage.XML_ENTITY__INHERITANCE:
+ setInheritance((Inheritance)null);
+ return;
+ case OrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE:
+ setDiscriminatorValue(DISCRIMINATOR_VALUE_EDEFAULT);
+ return;
+ case OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN:
+ setDiscriminatorColumn((XmlDiscriminatorColumn)null);
+ return;
+ case OrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS:
+ getSqlResultSetMappings().clear();
+ return;
+ case OrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS:
+ setExcludeDefaultListeners(EXCLUDE_DEFAULT_LISTENERS_EDEFAULT);
+ return;
+ case OrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS:
+ setExcludeSuperclassListeners(EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT);
+ return;
+ case OrmPackage.XML_ENTITY__ENTITY_LISTENERS:
+ setEntityListeners((EntityListeners)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ENTITY__NAMED_QUERIES:
+ return namedQueries != null && !namedQueries.isEmpty();
+ case OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES:
+ return namedNativeQueries != null && !namedNativeQueries.isEmpty();
+ case OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR:
+ return sequenceGenerator != null;
+ case OrmPackage.XML_ENTITY__TABLE_GENERATOR:
+ return tableGenerator != null;
+ case OrmPackage.XML_ENTITY__PRE_PERSIST:
+ return prePersist != null;
+ case OrmPackage.XML_ENTITY__POST_PERSIST:
+ return postPersist != null;
+ case OrmPackage.XML_ENTITY__PRE_REMOVE:
+ return preRemove != null;
+ case OrmPackage.XML_ENTITY__POST_REMOVE:
+ return postRemove != null;
+ case OrmPackage.XML_ENTITY__PRE_UPDATE:
+ return preUpdate != null;
+ case OrmPackage.XML_ENTITY__POST_UPDATE:
+ return postUpdate != null;
+ case OrmPackage.XML_ENTITY__POST_LOAD:
+ return postLoad != null;
+ case OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES:
+ return attributeOverrides != null && !attributeOverrides.isEmpty();
+ case OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES:
+ return associationOverrides != null && !associationOverrides.isEmpty();
+ case OrmPackage.XML_ENTITY__CACHEABLE:
+ return CACHEABLE_EDEFAULT == null ? cacheable != null : !CACHEABLE_EDEFAULT.equals(cacheable);
+ case OrmPackage.XML_ENTITY__ID_CLASS:
+ return idClass != null;
+ case OrmPackage.XML_ENTITY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OrmPackage.XML_ENTITY__TABLE:
+ return table != null;
+ case OrmPackage.XML_ENTITY__SECONDARY_TABLES:
+ return secondaryTables != null && !secondaryTables.isEmpty();
+ case OrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS:
+ return primaryKeyJoinColumns != null && !primaryKeyJoinColumns.isEmpty();
+ case OrmPackage.XML_ENTITY__INHERITANCE:
+ return inheritance != null;
+ case OrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE:
+ return DISCRIMINATOR_VALUE_EDEFAULT == null ? discriminatorValue != null : !DISCRIMINATOR_VALUE_EDEFAULT.equals(discriminatorValue);
+ case OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN:
+ return discriminatorColumn != null;
+ case OrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS:
+ return sqlResultSetMappings != null && !sqlResultSetMappings.isEmpty();
+ case OrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS:
+ return excludeDefaultListeners != EXCLUDE_DEFAULT_LISTENERS_EDEFAULT;
+ case OrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS:
+ return excludeSuperclassListeners != EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT;
+ case OrmPackage.XML_ENTITY__ENTITY_LISTENERS:
+ return entityListeners != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlQueryContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ENTITY__NAMED_QUERIES: return OrmPackage.XML_QUERY_CONTAINER__NAMED_QUERIES;
+ case OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES: return OrmPackage.XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlGeneratorContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR: return OrmPackage.XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR;
+ case OrmPackage.XML_ENTITY__TABLE_GENERATOR: return OrmPackage.XML_GENERATOR_CONTAINER__TABLE_GENERATOR;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlEventMethodContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ENTITY__PRE_PERSIST: return OrmPackage.XML_EVENT_METHOD_CONTAINER__PRE_PERSIST;
+ case OrmPackage.XML_ENTITY__POST_PERSIST: return OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_PERSIST;
+ case OrmPackage.XML_ENTITY__PRE_REMOVE: return OrmPackage.XML_EVENT_METHOD_CONTAINER__PRE_REMOVE;
+ case OrmPackage.XML_ENTITY__POST_REMOVE: return OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_REMOVE;
+ case OrmPackage.XML_ENTITY__PRE_UPDATE: return OrmPackage.XML_EVENT_METHOD_CONTAINER__PRE_UPDATE;
+ case OrmPackage.XML_ENTITY__POST_UPDATE: return OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_UPDATE;
+ case OrmPackage.XML_ENTITY__POST_LOAD: return OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_LOAD;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAttributeOverrideContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAssociationOverrideContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES: return OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlCacheable_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ENTITY__CACHEABLE: return OrmV2_0Package.XML_CACHEABLE_20__CACHEABLE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlEntity_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlIdClassContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ENTITY__ID_CLASS: return OrmPackage.XML_ID_CLASS_CONTAINER__ID_CLASS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlQueryContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_QUERY_CONTAINER__NAMED_QUERIES: return OrmPackage.XML_ENTITY__NAMED_QUERIES;
+ case OrmPackage.XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES: return OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlGeneratorContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR: return OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR;
+ case OrmPackage.XML_GENERATOR_CONTAINER__TABLE_GENERATOR: return OrmPackage.XML_ENTITY__TABLE_GENERATOR;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlEventMethodContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_EVENT_METHOD_CONTAINER__PRE_PERSIST: return OrmPackage.XML_ENTITY__PRE_PERSIST;
+ case OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_PERSIST: return OrmPackage.XML_ENTITY__POST_PERSIST;
+ case OrmPackage.XML_EVENT_METHOD_CONTAINER__PRE_REMOVE: return OrmPackage.XML_ENTITY__PRE_REMOVE;
+ case OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_REMOVE: return OrmPackage.XML_ENTITY__POST_REMOVE;
+ case OrmPackage.XML_EVENT_METHOD_CONTAINER__PRE_UPDATE: return OrmPackage.XML_ENTITY__PRE_UPDATE;
+ case OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_UPDATE: return OrmPackage.XML_ENTITY__POST_UPDATE;
+ case OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_LOAD: return OrmPackage.XML_ENTITY__POST_LOAD;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAttributeOverrideContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAssociationOverrideContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES: return OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlCacheable_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_CACHEABLE_20__CACHEABLE: return OrmPackage.XML_ENTITY__CACHEABLE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlEntity_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlIdClassContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ID_CLASS_CONTAINER__ID_CLASS: return OrmPackage.XML_ENTITY__ID_CLASS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (cacheable: ");
+ result.append(cacheable);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", discriminatorValue: ");
+ result.append(discriminatorValue);
+ result.append(", excludeDefaultListeners: ");
+ result.append(excludeDefaultListeners);
+ result.append(", excludeSuperclassListeners: ");
+ result.append(excludeSuperclassListeners);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getDiscriminatorValueTextRange() {
+ return getElementTextRange(JPA.DISCRIMINATOR_VALUE);
+ }
+
+ public TextRange getInheritanceStrategyTextRange() {
+ return getInheritance() != null ? getInheritance().getStrategyTextRange() : getValidationTextRange();
+ }
+
+ public TextRange getCacheableTextRange() {
+ return getAttributeTextRange(JPA2_0.CACHEABLE);
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildClassTranslator(),
+ buildAccessTranslator(),
+ buildCacheableTranslator(),
+ buildMetadataCompleteTranslator(),
+ buildDescriptionTranslator(),
+ buildTableTranslator(),
+ buildSecondaryTableTranslator(),
+ buildPrimaryKeyJoinColumnTranslator(),
+ buildIdClassTranslator(),
+ buildInheritanceTranslator(),
+ buildDiscriminatorValueTranslator(),
+ buildDiscriminatorColumnTranslator(),
+ buildSequenceGeneratorTranslator(),
+ buildTableGeneratorTranslator(),
+ buildNamedQueryTranslator(),
+ buildNamedNativeQueryTranslator(),
+ buildSqlResultSetMappingTranslator(),
+ buildExcludeDefaultListenersTranslator(),
+ buildExcludeSuperclassListenersTranslator(),
+ buildEntityListenersTranslator(),
+ PrePersist.buildTranslator(),
+ PostPersist.buildTranslator(),
+ PreRemove.buildTranslator(),
+ PostRemove.buildTranslator(),
+ PreUpdate.buildTranslator(),
+ PostUpdate.buildTranslator(),
+ PostLoad.buildTranslator(),
+ buildAttributeOverrideTranslator(),
+ buildAssociationOverrideTranslator(),
+ Attributes.buildTranslator()
+ };
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlEntity_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildCacheableTranslator() {
+ return new Translator(JPA2_0.CACHEABLE, OrmV2_0Package.eINSTANCE.getXmlCacheable_2_0_Cacheable(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildTableTranslator() {
+ return XmlTable.buildTranslator(JPA.TABLE, OrmPackage.eINSTANCE.getXmlEntity_Table());
+ }
+
+ protected static Translator buildSecondaryTableTranslator() {
+ return XmlSecondaryTable.buildTranslator(JPA.SECONDARY_TABLE, OrmPackage.eINSTANCE.getXmlEntity_SecondaryTables());
+ }
+
+ protected static Translator buildPrimaryKeyJoinColumnTranslator() {
+ return XmlPrimaryKeyJoinColumn.buildTranslator(JPA.PRIMARY_KEY_JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlEntity_PrimaryKeyJoinColumns());
+ }
+
+ protected static Translator buildIdClassTranslator() {
+ return XmlClassReference.buildTranslator(JPA.ID_CLASS, OrmPackage.eINSTANCE.getXmlIdClassContainer_IdClass());
+ }
+
+ protected static Translator buildInheritanceTranslator() {
+ return Inheritance.buildTranslator(JPA.INHERITANCE, OrmPackage.eINSTANCE.getXmlEntity_Inheritance());
+ }
+
+ protected static Translator buildDiscriminatorValueTranslator() {
+ return new Translator(JPA.DISCRIMINATOR_VALUE, OrmPackage.eINSTANCE.getXmlEntity_DiscriminatorValue());
+ }
+
+ protected static Translator buildDiscriminatorColumnTranslator() {
+ return XmlDiscriminatorColumn.buildTranslator(JPA.DISCRIMINATOR_COLUMN, OrmPackage.eINSTANCE.getXmlEntity_DiscriminatorColumn());
+ }
+
+ protected static Translator buildSequenceGeneratorTranslator() {
+ return XmlSequenceGenerator.buildTranslator(JPA.SEQUENCE_GENERATOR, OrmPackage.eINSTANCE.getXmlGeneratorContainer_SequenceGenerator());
+ }
+
+ protected static Translator buildTableGeneratorTranslator() {
+ return XmlTableGenerator.buildTranslator(JPA.TABLE_GENERATOR, OrmPackage.eINSTANCE.getXmlGeneratorContainer_TableGenerator());
+ }
+
+ protected static Translator buildNamedQueryTranslator() {
+ return XmlNamedQuery.buildTranslator(JPA.NAMED_QUERY, OrmPackage.eINSTANCE.getXmlQueryContainer_NamedQueries());
+ }
+
+ protected static Translator buildNamedNativeQueryTranslator() {
+ return XmlNamedNativeQuery.buildTranslator(JPA.NAMED_NATIVE_QUERY, OrmPackage.eINSTANCE.getXmlQueryContainer_NamedNativeQueries());
+ }
+
+ protected static Translator buildSqlResultSetMappingTranslator() {
+ return SqlResultSetMapping.buildTranslator(JPA.SQL_RESULT_SET_MAPPING, OrmPackage.eINSTANCE.getXmlEntity_SqlResultSetMappings());
+ }
+
+ protected static Translator buildExcludeDefaultListenersTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.EXCLUDE_DEFAULT_LISTENERS, OrmPackage.eINSTANCE.getXmlEntity_ExcludeDefaultListeners());
+ }
+
+ protected static Translator buildExcludeSuperclassListenersTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.EXCLUDE_SUPERCLASS_LISTENERS, OrmPackage.eINSTANCE.getXmlEntity_ExcludeSuperclassListeners());
+ }
+
+ protected static Translator buildEntityListenersTranslator() {
+ return EntityListeners.buildTranslator(JPA.ENTITY_LISTENERS, OrmPackage.eINSTANCE.getXmlEntity_EntityListeners());
+ }
+
+ protected static Translator buildPrePersistTranslator() {
+ return PrePersist.buildTranslator();
+ }
+
+ protected static Translator buildPostPersistTranslator() {
+ return PostPersist.buildTranslator();
+ }
+
+ protected static Translator buildPreRemoveTranslator() {
+ return PreRemove.buildTranslator();
+ }
+
+ protected static Translator buildPostRemoveTranslator() {
+ return PostRemove.buildTranslator();
+ }
+
+ protected static Translator buildPreUpdateTranslator() {
+ return PreUpdate.buildTranslator();
+ }
+
+ protected static Translator buildPostUpdateTranslator() {
+ return PostUpdate.buildTranslator();
+ }
+
+ protected static Translator buildPostLoadTranslator() {
+ return PostLoad.buildTranslator();
+ }
+
+ protected static Translator buildAttributeOverrideTranslator() {
+ return XmlAttributeOverride.buildTranslator(JPA.ATTRIBUTE_OVERRIDE, OrmPackage.eINSTANCE.getXmlAttributeOverrideContainer_AttributeOverrides());
+ }
+
+ protected static Translator buildAssociationOverrideTranslator() {
+ return XmlAssociationOverride.buildTranslator(JPA.ASSOCIATION_OVERRIDE, OrmPackage.eINSTANCE.getXmlAssociationOverrideContainer_AssociationOverrides());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntityMappings.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntityMappings.java
new file mode 100644
index 0000000000..01398a12ba
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntityMappings.java
@@ -0,0 +1,1154 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.content.IContentType;
+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.jpt.common.core.internal.utility.translators.SimpleRootTranslator;
+import org.eclipse.jpt.common.core.resource.xml.ERootObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.common.utility.internal.collection.CollectionTools;
+import org.eclipse.jpt.jpa.core.internal.plugin.JptJpaCorePlugin;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_1.JPA2_1;
+import org.eclipse.text.edits.ReplaceEdit;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mappings</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPersistenceUnitMetadata <em>Persistence Unit Metadata</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPackage <em>Package</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSequenceGenerators <em>Sequence Generators</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getTableGenerators <em>Table Generators</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSqlResultSetMappings <em>Sql Result Set Mappings</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getMappedSuperclasses <em>Mapped Superclasses</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getEntities <em>Entities</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getEmbeddables <em>Embeddables</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlEntityMappings extends ERootObjectImpl implements XmlQueryContainer, XmlAccessHolder
+{
+ /**
+ * The cached value of the '{@link #getNamedQueries() <em>Named Queries</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamedQueries()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlNamedQuery> namedQueries;
+
+ /**
+ * The cached value of the '{@link #getNamedNativeQueries() <em>Named Native Queries</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamedNativeQueries()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlNamedNativeQuery> namedNativeQueries;
+
+ /**
+ * The default value of the '{@link #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected static final String ACCESS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected String access = ACCESS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPersistenceUnitMetadata() <em>Persistence Unit Metadata</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPersistenceUnitMetadata()
+ * @generated
+ * @ordered
+ */
+ protected XmlPersistenceUnitMetadata persistenceUnitMetadata;
+
+ /**
+ * The default value of the '{@link #getPackage() <em>Package</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPackage()
+ * @generated
+ * @ordered
+ */
+ protected static final String PACKAGE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPackage() <em>Package</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPackage()
+ * @generated
+ * @ordered
+ */
+ protected String package_ = PACKAGE_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 #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 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<XmlSequenceGenerator> 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<XmlTableGenerator> tableGenerators;
+
+ /**
+ * The cached value of the '{@link #getSqlResultSetMappings() <em>Sql Result Set Mappings</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSqlResultSetMappings()
+ * @generated
+ * @ordered
+ */
+ protected EList<SqlResultSetMapping> sqlResultSetMappings;
+
+ /**
+ * The cached value of the '{@link #getMappedSuperclasses() <em>Mapped Superclasses</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMappedSuperclasses()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlMappedSuperclass> mappedSuperclasses;
+
+ /**
+ * The cached value of the '{@link #getEntities() <em>Entities</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEntities()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlEntity> entities;
+
+ /**
+ * The cached value of the '{@link #getEmbeddables() <em>Embeddables</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEmbeddables()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlEmbeddable> embeddables;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlEntityMappings()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_ENTITY_MAPPINGS;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Named Queries</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Named Queries</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>Named Queries</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer_NamedQueries()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlNamedQuery> getNamedQueries()
+ {
+ if (namedQueries == null)
+ {
+ namedQueries = new EObjectContainmentEList<XmlNamedQuery>(XmlNamedQuery.class, this, OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES);
+ }
+ return namedQueries;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Named Native Queries</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Named Native Queries</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>Named Native Queries</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer_NamedNativeQueries()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlNamedNativeQuery> getNamedNativeQueries()
+ {
+ if (namedNativeQueries == null)
+ {
+ namedNativeQueries = new EObjectContainmentEList<XmlNamedNativeQuery>(XmlNamedNativeQuery.class, this, OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES);
+ }
+ return namedNativeQueries;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY_MAPPINGS__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Persistence Unit Metadata</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>XmlPersistence Unit Metadata</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>Persistence Unit Metadata</em>' containment reference.
+ * @see #setPersistenceUnitMetadata(XmlPersistenceUnitMetadata)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_PersistenceUnitMetadata()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlPersistenceUnitMetadata getPersistenceUnitMetadata()
+ {
+ return persistenceUnitMetadata;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPersistenceUnitMetadata(XmlPersistenceUnitMetadata newPersistenceUnitMetadata, NotificationChain msgs)
+ {
+ XmlPersistenceUnitMetadata oldPersistenceUnitMetadata = persistenceUnitMetadata;
+ persistenceUnitMetadata = newPersistenceUnitMetadata;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA, oldPersistenceUnitMetadata, newPersistenceUnitMetadata);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPersistenceUnitMetadata <em>Persistence Unit Metadata</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Persistence Unit Metadata</em>' containment reference.
+ * @see #getPersistenceUnitMetadata()
+ * @generated
+ */
+ public void setPersistenceUnitMetadata(XmlPersistenceUnitMetadata newPersistenceUnitMetadata)
+ {
+ if (newPersistenceUnitMetadata != persistenceUnitMetadata)
+ {
+ NotificationChain msgs = null;
+ if (persistenceUnitMetadata != null)
+ msgs = ((InternalEObject)persistenceUnitMetadata).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA, null, msgs);
+ if (newPersistenceUnitMetadata != null)
+ msgs = ((InternalEObject)newPersistenceUnitMetadata).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA, null, msgs);
+ msgs = basicSetPersistenceUnitMetadata(newPersistenceUnitMetadata, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA, newPersistenceUnitMetadata, newPersistenceUnitMetadata));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Package</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Package</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Package</em>' attribute.
+ * @see #setPackage(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_Package()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getPackage()
+ {
+ return package_;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPackage <em>Package</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Package</em>' attribute.
+ * @see #getPackage()
+ * @generated
+ */
+ public void setPackage(String newPackage)
+ {
+ String oldPackage = package_;
+ package_ = newPackage;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY_MAPPINGS__PACKAGE, oldPackage, package_));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_Schema()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getSchema()
+ {
+ return schema;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#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
+ */
+ public void setSchema(String newSchema)
+ {
+ String oldSchema = schema;
+ schema = newSchema;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY_MAPPINGS__SCHEMA, oldSchema, schema));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_Catalog()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getCatalog()
+ {
+ return catalog;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#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
+ */
+ public void setCatalog(String newCatalog)
+ {
+ String oldCatalog = catalog;
+ catalog = newCatalog;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY_MAPPINGS__CATALOG, oldCatalog, catalog));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Access</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Access</em>' attribute.
+ * @see #setAccess(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder_Access()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getAccess()
+ {
+ return access;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getAccess <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access</em>' attribute.
+ * @see #getAccess()
+ * @generated
+ */
+ public void setAccess(String newAccess)
+ {
+ String oldAccess = access;
+ access = newAccess;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY_MAPPINGS__ACCESS, oldAccess, access));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Sequence Generators</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_SequenceGenerators()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlSequenceGenerator> getSequenceGenerators()
+ {
+ if (sequenceGenerators == null)
+ {
+ sequenceGenerators = new EObjectContainmentEList<XmlSequenceGenerator>(XmlSequenceGenerator.class, this, OrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS);
+ }
+ return sequenceGenerators;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Table Generators</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_TableGenerators()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlTableGenerator> getTableGenerators()
+ {
+ if (tableGenerators == null)
+ {
+ tableGenerators = new EObjectContainmentEList<XmlTableGenerator>(XmlTableGenerator.class, this, OrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS);
+ }
+ return tableGenerators;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Sql Result Set Mappings</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sql Result Set Mappings</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>Sql Result Set Mappings</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_SqlResultSetMappings()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<SqlResultSetMapping> getSqlResultSetMappings()
+ {
+ if (sqlResultSetMappings == null)
+ {
+ sqlResultSetMappings = new EObjectContainmentEList<SqlResultSetMapping>(SqlResultSetMapping.class, this, OrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS);
+ }
+ return sqlResultSetMappings;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Mapped Superclasses</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mapped Superclasses</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>Mapped Superclasses</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_MappedSuperclasses()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlMappedSuperclass> getMappedSuperclasses()
+ {
+ if (mappedSuperclasses == null)
+ {
+ mappedSuperclasses = new EObjectContainmentEList<XmlMappedSuperclass>(XmlMappedSuperclass.class, this, OrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES);
+ }
+ return mappedSuperclasses;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Entities</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Entities</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>Entities</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_Entities()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlEntity> getEntities()
+ {
+ if (entities == null)
+ {
+ entities = new EObjectContainmentEList<XmlEntity>(XmlEntity.class, this, OrmPackage.XML_ENTITY_MAPPINGS__ENTITIES);
+ }
+ return entities;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Embeddables</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Embeddables</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>Embeddables</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_Embeddables()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlEmbeddable> getEmbeddables()
+ {
+ if (embeddables == null)
+ {
+ embeddables = new EObjectContainmentEList<XmlEmbeddable>(XmlEmbeddable.class, this, OrmPackage.XML_ENTITY_MAPPINGS__EMBEDDABLES);
+ }
+ return embeddables;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES:
+ return ((InternalEList<?>)getNamedQueries()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES:
+ return ((InternalEList<?>)getNamedNativeQueries()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA:
+ return basicSetPersistenceUnitMetadata(null, msgs);
+ case OrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS:
+ return ((InternalEList<?>)getSequenceGenerators()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS:
+ return ((InternalEList<?>)getTableGenerators()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS:
+ return ((InternalEList<?>)getSqlResultSetMappings()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES:
+ return ((InternalEList<?>)getMappedSuperclasses()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY_MAPPINGS__ENTITIES:
+ return ((InternalEList<?>)getEntities()).basicRemove(otherEnd, msgs);
+ case OrmPackage.XML_ENTITY_MAPPINGS__EMBEDDABLES:
+ return ((InternalEList<?>)getEmbeddables()).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 OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES:
+ return getNamedQueries();
+ case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES:
+ return getNamedNativeQueries();
+ case OrmPackage.XML_ENTITY_MAPPINGS__ACCESS:
+ return getAccess();
+ case OrmPackage.XML_ENTITY_MAPPINGS__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA:
+ return getPersistenceUnitMetadata();
+ case OrmPackage.XML_ENTITY_MAPPINGS__PACKAGE:
+ return getPackage();
+ case OrmPackage.XML_ENTITY_MAPPINGS__SCHEMA:
+ return getSchema();
+ case OrmPackage.XML_ENTITY_MAPPINGS__CATALOG:
+ return getCatalog();
+ case OrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS:
+ return getSequenceGenerators();
+ case OrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS:
+ return getTableGenerators();
+ case OrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS:
+ return getSqlResultSetMappings();
+ case OrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES:
+ return getMappedSuperclasses();
+ case OrmPackage.XML_ENTITY_MAPPINGS__ENTITIES:
+ return getEntities();
+ case OrmPackage.XML_ENTITY_MAPPINGS__EMBEDDABLES:
+ return getEmbeddables();
+ }
+ 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 OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES:
+ getNamedQueries().clear();
+ getNamedQueries().addAll((Collection<? extends XmlNamedQuery>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES:
+ getNamedNativeQueries().clear();
+ getNamedNativeQueries().addAll((Collection<? extends XmlNamedNativeQuery>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__ACCESS:
+ setAccess((String)newValue);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA:
+ setPersistenceUnitMetadata((XmlPersistenceUnitMetadata)newValue);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__PACKAGE:
+ setPackage((String)newValue);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS:
+ getSequenceGenerators().clear();
+ getSequenceGenerators().addAll((Collection<? extends XmlSequenceGenerator>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS:
+ getTableGenerators().clear();
+ getTableGenerators().addAll((Collection<? extends XmlTableGenerator>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS:
+ getSqlResultSetMappings().clear();
+ getSqlResultSetMappings().addAll((Collection<? extends SqlResultSetMapping>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES:
+ getMappedSuperclasses().clear();
+ getMappedSuperclasses().addAll((Collection<? extends XmlMappedSuperclass>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__ENTITIES:
+ getEntities().clear();
+ getEntities().addAll((Collection<? extends XmlEntity>)newValue);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__EMBEDDABLES:
+ getEmbeddables().clear();
+ getEmbeddables().addAll((Collection<? extends XmlEmbeddable>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES:
+ getNamedQueries().clear();
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES:
+ getNamedNativeQueries().clear();
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__ACCESS:
+ setAccess(ACCESS_EDEFAULT);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA:
+ setPersistenceUnitMetadata((XmlPersistenceUnitMetadata)null);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__PACKAGE:
+ setPackage(PACKAGE_EDEFAULT);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS:
+ getSequenceGenerators().clear();
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS:
+ getTableGenerators().clear();
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS:
+ getSqlResultSetMappings().clear();
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES:
+ getMappedSuperclasses().clear();
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__ENTITIES:
+ getEntities().clear();
+ return;
+ case OrmPackage.XML_ENTITY_MAPPINGS__EMBEDDABLES:
+ getEmbeddables().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES:
+ return namedQueries != null && !namedQueries.isEmpty();
+ case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES:
+ return namedNativeQueries != null && !namedNativeQueries.isEmpty();
+ case OrmPackage.XML_ENTITY_MAPPINGS__ACCESS:
+ return ACCESS_EDEFAULT == null ? access != null : !ACCESS_EDEFAULT.equals(access);
+ case OrmPackage.XML_ENTITY_MAPPINGS__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA:
+ return persistenceUnitMetadata != null;
+ case OrmPackage.XML_ENTITY_MAPPINGS__PACKAGE:
+ return PACKAGE_EDEFAULT == null ? package_ != null : !PACKAGE_EDEFAULT.equals(package_);
+ case OrmPackage.XML_ENTITY_MAPPINGS__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case OrmPackage.XML_ENTITY_MAPPINGS__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case OrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS:
+ return sequenceGenerators != null && !sequenceGenerators.isEmpty();
+ case OrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS:
+ return tableGenerators != null && !tableGenerators.isEmpty();
+ case OrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS:
+ return sqlResultSetMappings != null && !sqlResultSetMappings.isEmpty();
+ case OrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES:
+ return mappedSuperclasses != null && !mappedSuperclasses.isEmpty();
+ case OrmPackage.XML_ENTITY_MAPPINGS__ENTITIES:
+ return entities != null && !entities.isEmpty();
+ case OrmPackage.XML_ENTITY_MAPPINGS__EMBEDDABLES:
+ return embeddables != null && !embeddables.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlQueryContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES: return OrmPackage.XML_QUERY_CONTAINER__NAMED_QUERIES;
+ case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES: return OrmPackage.XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAccessHolder.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ENTITY_MAPPINGS__ACCESS: return OrmPackage.XML_ACCESS_HOLDER__ACCESS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlQueryContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_QUERY_CONTAINER__NAMED_QUERIES: return OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES;
+ case OrmPackage.XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES: return OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAccessHolder.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ACCESS_HOLDER__ACCESS: return OrmPackage.XML_ENTITY_MAPPINGS__ACCESS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (access: ");
+ result.append(access);
+ result.append(", description: ");
+ result.append(description);
+ result.append(", package: ");
+ result.append(package_);
+ result.append(", schema: ");
+ result.append(schema);
+ result.append(", catalog: ");
+ result.append(catalog);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** type mappings **********
+
+ public List<XmlTypeMapping> getTypeMappings() {
+ // convert lists to arrays to *reduce* risk of ConcurrentModificationException
+ ArrayList<XmlTypeMapping> typeMappings = new ArrayList<XmlTypeMapping>();
+ CollectionTools.addAll(typeMappings, this.getMappedSuperclasses().toArray(EMPTY_XML_TYPE_MAPPING_ARRAY));
+ CollectionTools.addAll(typeMappings, this.getEntities().toArray(EMPTY_XML_TYPE_MAPPING_ARRAY));
+ CollectionTools.addAll(typeMappings, this.getEmbeddables().toArray(EMPTY_XML_TYPE_MAPPING_ARRAY));
+ return typeMappings;
+ }
+
+ private static final XmlTypeMapping[] EMPTY_XML_TYPE_MAPPING_ARRAY = new XmlTypeMapping[0];
+
+
+ // ********** version -> schema location mapping **********
+
+ private static final HashMap<String, String> SCHEMA_LOCATIONS = buildSchemaLocations();
+
+ private static HashMap<String, String> buildSchemaLocations() {
+ HashMap<String, String> map = new HashMap<String, String>();
+ map.put(JPA.SCHEMA_VERSION, JPA.SCHEMA_LOCATION);
+ map.put(JPA2_0.SCHEMA_VERSION, JPA2_0.SCHEMA_LOCATION);
+ map.put(JPA2_1.SCHEMA_VERSION, JPA2_1.SCHEMA_LOCATION);
+ return map;
+ }
+
+ @Override
+ protected String getNamespace() {
+ return JPA.SCHEMA_NAMESPACE;
+ }
+
+ @Override
+ protected HashMap<String, String> schemaLocations() {
+ return SCHEMA_LOCATIONS;
+ }
+
+
+ // ********** content type **********
+
+ /**
+ * The content type for <code>orm.xml</code> mapping files.
+ * @see org.eclipse.jpt.jpa.core.resource.ResourceMappingFile.Root#CONTENT_TYPE
+ */
+ public static final IContentType CONTENT_TYPE = JptJpaCorePlugin.instance().getContentType("orm"); //$NON-NLS-1$
+
+
+ // ********** default runtime path **********
+
+ public static final String DEFAULT_RUNTIME_PATH_NAME = "META-INF/orm.xml"; //$NON-NLS-1$
+
+ public static final IPath DEFAULT_RUNTIME_PATH = new Path(DEFAULT_RUNTIME_PATH_NAME);
+
+
+ // ********** translators **********
+
+ public static Translator getRootTranslator() {
+ return ROOT_TRANSLATOR;
+ }
+
+ private static final Translator ROOT_TRANSLATOR = buildRootTranslator();
+
+ private static Translator buildRootTranslator() {
+ return new SimpleRootTranslator(JPA.ENTITY_MAPPINGS, OrmPackage.eINSTANCE.getXmlEntityMappings(), buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildVersionTranslator(SCHEMA_LOCATIONS),
+ buildNamespaceTranslator(JPA.SCHEMA_NAMESPACE),
+ buildSchemaNamespaceTranslator(),
+ buildSchemaLocationTranslator(JPA.SCHEMA_NAMESPACE, SCHEMA_LOCATIONS),
+ buildDescriptionTranslator(),
+ XmlPersistenceUnitMetadata.buildTranslator(JPA.PERSISTENCE_UNIT_METADATA, OrmPackage.eINSTANCE.getXmlEntityMappings_PersistenceUnitMetadata()),
+ buildPackageTranslator(),
+ buildSchemaTranslator(),
+ buildCatalogTranslator(),
+ buildAccessTranslator(),
+ XmlSequenceGenerator.buildTranslator(JPA.SEQUENCE_GENERATOR, OrmPackage.eINSTANCE.getXmlEntityMappings_SequenceGenerators()),
+ XmlTableGenerator.buildTranslator(JPA.TABLE_GENERATOR, OrmPackage.eINSTANCE.getXmlEntityMappings_TableGenerators()),
+ XmlNamedQuery.buildTranslator(JPA.NAMED_QUERY, OrmPackage.eINSTANCE.getXmlQueryContainer_NamedQueries()),
+ XmlNamedNativeQuery.buildTranslator(JPA.NAMED_NATIVE_QUERY, OrmPackage.eINSTANCE.getXmlQueryContainer_NamedNativeQueries()),
+ SqlResultSetMapping.buildTranslator(JPA.SQL_RESULT_SET_MAPPING, OrmPackage.eINSTANCE.getXmlEntityMappings_SqlResultSetMappings()),
+ XmlMappedSuperclass.buildTranslator(JPA.MAPPED_SUPERCLASS, OrmPackage.eINSTANCE.getXmlEntityMappings_MappedSuperclasses()),
+ XmlEntity.buildTranslator(JPA.ENTITY, OrmPackage.eINSTANCE.getXmlEntityMappings_Entities()),
+ XmlEmbeddable.buildTranslator(JPA.EMBEDDABLE, OrmPackage.eINSTANCE.getXmlEntityMappings_Embeddables()),
+ };
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA.DESCRIPTION, OrmPackage.eINSTANCE.getXmlEntityMappings_Description());
+ }
+
+ protected static Translator buildPackageTranslator() {
+ return new Translator(JPA.PACKAGE, OrmPackage.eINSTANCE.getXmlEntityMappings_Package());
+ }
+
+ protected static Translator buildSchemaTranslator() {
+ return new Translator(JPA.SCHEMA, OrmPackage.eINSTANCE.getXmlEntityMappings_Schema());
+ }
+
+ protected static Translator buildCatalogTranslator() {
+ return new Translator(JPA.CATALOG, OrmPackage.eINSTANCE.getXmlEntityMappings_Catalog());
+ }
+
+ protected static Translator buildAccessTranslator() {
+ return new Translator(JPA.ACCESS, OrmPackage.eINSTANCE.getXmlAccessHolder_Access());
+ }
+
+
+ // ********** refactorings **********
+
+ public ReplaceEdit createRenamePackageEdit(String newName) {
+ int offset = getElementNode(JPA.PACKAGE).getStartStructuredDocumentRegion().getEndOffset();
+ return new ReplaceEdit(offset, this.package_.length(), newName);
+ }
+
+
+ // *********** content assist *********
+
+ public boolean schemaTouches(int pos) {
+ TextRange textRange = this.getElementCodeAssistTextRange(JPA.SCHEMA);
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+ public boolean catalogTouches(int pos) {
+ TextRange textRange = this.getElementCodeAssistTextRange(JPA.CATALOG);
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+ public boolean packageTouches(int pos) {
+ TextRange textRange = this.getElementCodeAssistTextRange(JPA.PACKAGE);
+ return (textRange != null) && (textRange.touches(pos));
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEventMethodContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEventMethodContainer.java
new file mode 100644
index 0000000000..2e513073c2
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEventMethodContainer.java
@@ -0,0 +1,227 @@
+/*******************************************************************************
+ * Copyright (c)2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Event Method Container</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPrePersist <em>Pre Persist</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostPersist <em>Post Persist</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreRemove <em>Pre Remove</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostRemove <em>Post Remove</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreUpdate <em>Pre Update</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostUpdate <em>Post Update</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostLoad <em>Post Load</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlEventMethodContainer extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Pre Persist</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Persist</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>Pre Persist</em>' containment reference.
+ * @see #setPrePersist(PrePersist)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PrePersist()
+ * @model containment="true"
+ * @generated
+ */
+ PrePersist getPrePersist();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPrePersist <em>Pre Persist</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pre Persist</em>' containment reference.
+ * @see #getPrePersist()
+ * @generated
+ */
+ void setPrePersist(PrePersist value);
+
+ /**
+ * Returns the value of the '<em><b>Post Persist</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Persist</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>Post Persist</em>' containment reference.
+ * @see #setPostPersist(PostPersist)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostPersist()
+ * @model containment="true"
+ * @generated
+ */
+ PostPersist getPostPersist();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostPersist <em>Post Persist</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Post Persist</em>' containment reference.
+ * @see #getPostPersist()
+ * @generated
+ */
+ void setPostPersist(PostPersist value);
+
+ /**
+ * Returns the value of the '<em><b>Pre Remove</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Remove</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>Pre Remove</em>' containment reference.
+ * @see #setPreRemove(PreRemove)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PreRemove()
+ * @model containment="true"
+ * @generated
+ */
+ PreRemove getPreRemove();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreRemove <em>Pre Remove</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pre Remove</em>' containment reference.
+ * @see #getPreRemove()
+ * @generated
+ */
+ void setPreRemove(PreRemove value);
+
+ /**
+ * Returns the value of the '<em><b>Post Remove</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Remove</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>Post Remove</em>' containment reference.
+ * @see #setPostRemove(PostRemove)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostRemove()
+ * @model containment="true"
+ * @generated
+ */
+ PostRemove getPostRemove();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostRemove <em>Post Remove</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Post Remove</em>' containment reference.
+ * @see #getPostRemove()
+ * @generated
+ */
+ void setPostRemove(PostRemove value);
+
+ /**
+ * Returns the value of the '<em><b>Pre Update</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pre Update</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>Pre Update</em>' containment reference.
+ * @see #setPreUpdate(PreUpdate)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PreUpdate()
+ * @model containment="true"
+ * @generated
+ */
+ PreUpdate getPreUpdate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreUpdate <em>Pre Update</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pre Update</em>' containment reference.
+ * @see #getPreUpdate()
+ * @generated
+ */
+ void setPreUpdate(PreUpdate value);
+
+ /**
+ * Returns the value of the '<em><b>Post Update</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Update</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>Post Update</em>' containment reference.
+ * @see #setPostUpdate(PostUpdate)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostUpdate()
+ * @model containment="true"
+ * @generated
+ */
+ PostUpdate getPostUpdate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostUpdate <em>Post Update</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Post Update</em>' containment reference.
+ * @see #getPostUpdate()
+ * @generated
+ */
+ void setPostUpdate(PostUpdate value);
+
+ /**
+ * Returns the value of the '<em><b>Post Load</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Post Load</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>Post Load</em>' containment reference.
+ * @see #setPostLoad(PostLoad)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostLoad()
+ * @model containment="true"
+ * @generated
+ */
+ PostLoad getPostLoad();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostLoad <em>Post Load</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Post Load</em>' containment reference.
+ * @see #getPostLoad()
+ * @generated
+ */
+ void setPostLoad(PostLoad value);
+
+} // XmlEventMethodContainer
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratedValue.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratedValue.java
new file mode 100644
index 0000000000..43f8028ae7
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratedValue.java
@@ -0,0 +1,313 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Generated Value</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#getGenerator <em>Generator</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#getStrategy <em>Strategy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratedValue()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class XmlGeneratedValue extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * 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;
+
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final GenerationType STRATEGY_EDEFAULT = null;
+
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlGeneratedValue()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_GENERATED_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.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratedValue_Generator()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getGenerator()
+ {
+ return generator;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#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
+ */
+ public void setGenerator(String newGenerator)
+ {
+ String oldGenerator = generator;
+ generator = newGenerator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_GENERATED_VALUE__GENERATOR, oldGenerator, generator));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Strategy</b></em>' attribute.
+ * The default value is <code>"TABLE"</code>.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.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.jpt.jpa.core.resource.orm.GenerationType
+ * @see #setStrategy(GenerationType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratedValue_Strategy()
+ * @model default="TABLE"
+ * @generated
+ */
+ public GenerationType getStrategy()
+ {
+ return strategy;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#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.jpt.jpa.core.resource.orm.GenerationType
+ * @see #getStrategy()
+ * @generated
+ */
+ public void setStrategy(GenerationType newStrategy)
+ {
+ GenerationType oldStrategy = strategy;
+ strategy = newStrategy == null ? STRATEGY_EDEFAULT : newStrategy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_GENERATED_VALUE__STRATEGY, oldStrategy, strategy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_GENERATED_VALUE__GENERATOR:
+ return getGenerator();
+ case OrmPackage.XML_GENERATED_VALUE__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 OrmPackage.XML_GENERATED_VALUE__GENERATOR:
+ setGenerator((String)newValue);
+ return;
+ case OrmPackage.XML_GENERATED_VALUE__STRATEGY:
+ setStrategy((GenerationType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_GENERATED_VALUE__GENERATOR:
+ setGenerator(GENERATOR_EDEFAULT);
+ return;
+ case OrmPackage.XML_GENERATED_VALUE__STRATEGY:
+ setStrategy(STRATEGY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_GENERATED_VALUE__GENERATOR:
+ return GENERATOR_EDEFAULT == null ? generator != null : !GENERATOR_EDEFAULT.equals(generator);
+ case OrmPackage.XML_GENERATED_VALUE__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(" (generator: ");
+ result.append(generator);
+ result.append(", strategy: ");
+ result.append(strategy);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getGeneratorTextRange() {
+ return getAttributeTextRange(JPA.GENERATOR);
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren()
+ );
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildStrategyTranslator(),
+ buildGeneratorTranslator()
+ };
+ }
+
+ protected static Translator buildStrategyTranslator() {
+ return new Translator(JPA.STRATEGY, OrmPackage.eINSTANCE.getXmlGeneratedValue_Strategy(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildGeneratorTranslator() {
+ return new Translator(JPA.GENERATOR, OrmPackage.eINSTANCE.getXmlGeneratedValue_Generator(), Translator.DOM_ATTRIBUTE);
+ }
+
+ // *********** content assist ************
+
+ protected TextRange getGeneratorCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.GENERATOR);
+ }
+ public boolean generatorTouches(int pos) {
+ TextRange textRange = this.getGeneratorCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+} // GeneratedValue
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGenerator.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGenerator.java
new file mode 100644
index 0000000000..c3a1fab13f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGenerator.java
@@ -0,0 +1,128 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Generator</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getInitialValue <em>Initial Value</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getAllocationSize <em>Allocation Size</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlGenerator extends XmlGenerator_2_0
+{
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#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.
+ * <!-- 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(Integer)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_InitialValue()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ Integer getInitialValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#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(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Allocation Size</b></em>' attribute.
+ * <!-- 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(Integer)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_AllocationSize()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ Integer getAllocationSize();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#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(Integer value);
+
+ TextRange getNameTextRange();
+
+ TextRange getSchemaCodeAssistTextRange();
+
+ TextRange getCatalogCodeAssistTextRange();
+
+ boolean schemaTouches(int pos);
+
+ boolean catalogTouches(int pos);
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratorContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratorContainer.java
new file mode 100644
index 0000000000..e7c1795ed1
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratorContainer.java
@@ -0,0 +1,86 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Generator Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#getSequenceGenerator <em>Sequence Generator</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#getTableGenerator <em>Table Generator</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlGeneratorContainer extends EBaseObject
+{
+ /**
+ * 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(XmlSequenceGenerator)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer_SequenceGenerator()
+ * @model containment="true"
+ * @generated
+ */
+ XmlSequenceGenerator getSequenceGenerator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#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(XmlSequenceGenerator 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(XmlTableGenerator)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer_TableGenerator()
+ * @model containment="true"
+ * @generated
+ */
+ XmlTableGenerator getTableGenerator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#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(XmlTableGenerator value);
+
+} // XmlGeneratorContainer
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlId.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlId.java
new file mode 100644
index 0000000000..7877c89fed
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlId.java
@@ -0,0 +1,801 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2011 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Id</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId#getGeneratedValue <em>Generated Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlId()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlId extends AbstractXmlAttributeMapping implements ColumnMapping, XmlConvertibleMapping, XmlGeneratorContainer
+{
+ /**
+ * The cached value of the '{@link #getColumn() <em>Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumn()
+ * @generated
+ * @ordered
+ */
+ protected XmlColumn column;
+ /**
+ * The default value of the '{@link #isLob() <em>Lob</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLob()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean LOB_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isLob() <em>Lob</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLob()
+ * @generated
+ * @ordered
+ */
+ protected boolean lob = LOB_EDEFAULT;
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final TemporalType TEMPORAL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTemporal() <em>Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTemporal()
+ * @generated
+ * @ordered
+ */
+ protected TemporalType temporal = TEMPORAL_EDEFAULT;
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final EnumType ENUMERATED_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getEnumerated() <em>Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnumerated()
+ * @generated
+ * @ordered
+ */
+ protected EnumType enumerated = ENUMERATED_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getSequenceGenerator() <em>Sequence Generator</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequenceGenerator()
+ * @generated
+ * @ordered
+ */
+ protected XmlSequenceGenerator sequenceGenerator;
+ /**
+ * The cached value of the '{@link #getTableGenerator() <em>Table Generator</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTableGenerator()
+ * @generated
+ * @ordered
+ */
+ protected XmlTableGenerator tableGenerator;
+ /**
+ * The cached value of the '{@link #getGeneratedValue() <em>Generated Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGeneratedValue()
+ * @generated
+ * @ordered
+ */
+ protected XmlGeneratedValue generatedValue;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlId()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_ID;
+ }
+
+ /**
+ * 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(XmlColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnMapping_Column()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlColumn getColumn()
+ {
+ return column;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetColumn(XmlColumn newColumn, NotificationChain msgs)
+ {
+ XmlColumn oldColumn = column;
+ column = newColumn;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__COLUMN, oldColumn, newColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId#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
+ */
+ public void setColumn(XmlColumn newColumn)
+ {
+ if (newColumn != column)
+ {
+ NotificationChain msgs = null;
+ if (column != null)
+ msgs = ((InternalEObject)column).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__COLUMN, null, msgs);
+ if (newColumn != null)
+ msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__COLUMN, null, msgs);
+ msgs = basicSetColumn(newColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__COLUMN, newColumn, newColumn));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Lob</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lob</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lob</em>' attribute.
+ * @see #setLob(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Lob()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isLob()
+ {
+ return lob;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId#isLob <em>Lob</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lob</em>' attribute.
+ * @see #isLob()
+ * @generated
+ */
+ public void setLob(boolean newLob)
+ {
+ boolean oldLob = lob;
+ lob = newLob;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__LOB, oldLob, lob));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Temporal</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Temporal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #setTemporal(TemporalType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Temporal()
+ * @model
+ * @generated
+ */
+ public TemporalType getTemporal()
+ {
+ return temporal;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId#getTemporal <em>Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #getTemporal()
+ * @generated
+ */
+ public void setTemporal(TemporalType newTemporal)
+ {
+ TemporalType oldTemporal = temporal;
+ temporal = newTemporal == null ? TEMPORAL_EDEFAULT : newTemporal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__TEMPORAL, oldTemporal, temporal));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Enumerated</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.EnumType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enumerated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #setEnumerated(EnumType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Enumerated()
+ * @model
+ * @generated
+ */
+ public EnumType getEnumerated()
+ {
+ return enumerated;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId#getEnumerated <em>Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #getEnumerated()
+ * @generated
+ */
+ public void setEnumerated(EnumType newEnumerated)
+ {
+ EnumType oldEnumerated = enumerated;
+ enumerated = newEnumerated == null ? ENUMERATED_EDEFAULT : newEnumerated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__ENUMERATED, oldEnumerated, enumerated));
+ }
+
+ /**
+ * 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(XmlGeneratedValue)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlId_GeneratedValue()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlGeneratedValue getGeneratedValue()
+ {
+ return generatedValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetGeneratedValue(XmlGeneratedValue newGeneratedValue, NotificationChain msgs)
+ {
+ XmlGeneratedValue oldGeneratedValue = generatedValue;
+ generatedValue = newGeneratedValue;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__GENERATED_VALUE, oldGeneratedValue, newGeneratedValue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId#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
+ */
+ public void setGeneratedValue(XmlGeneratedValue newGeneratedValue)
+ {
+ if (newGeneratedValue != generatedValue)
+ {
+ NotificationChain msgs = null;
+ if (generatedValue != null)
+ msgs = ((InternalEObject)generatedValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__GENERATED_VALUE, null, msgs);
+ if (newGeneratedValue != null)
+ msgs = ((InternalEObject)newGeneratedValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__GENERATED_VALUE, null, msgs);
+ msgs = basicSetGeneratedValue(newGeneratedValue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__GENERATED_VALUE, newGeneratedValue, newGeneratedValue));
+ }
+
+ /**
+ * 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(XmlTableGenerator)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer_TableGenerator()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlTableGenerator getTableGenerator()
+ {
+ return tableGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTableGenerator(XmlTableGenerator newTableGenerator, NotificationChain msgs)
+ {
+ XmlTableGenerator oldTableGenerator = tableGenerator;
+ tableGenerator = newTableGenerator;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__TABLE_GENERATOR, oldTableGenerator, newTableGenerator);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId#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
+ */
+ public void setTableGenerator(XmlTableGenerator newTableGenerator)
+ {
+ if (newTableGenerator != tableGenerator)
+ {
+ NotificationChain msgs = null;
+ if (tableGenerator != null)
+ msgs = ((InternalEObject)tableGenerator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__TABLE_GENERATOR, null, msgs);
+ if (newTableGenerator != null)
+ msgs = ((InternalEObject)newTableGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__TABLE_GENERATOR, null, msgs);
+ msgs = basicSetTableGenerator(newTableGenerator, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__TABLE_GENERATOR, newTableGenerator, newTableGenerator));
+ }
+
+ /**
+ * 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(XmlSequenceGenerator)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer_SequenceGenerator()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlSequenceGenerator getSequenceGenerator()
+ {
+ return sequenceGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSequenceGenerator(XmlSequenceGenerator newSequenceGenerator, NotificationChain msgs)
+ {
+ XmlSequenceGenerator oldSequenceGenerator = sequenceGenerator;
+ sequenceGenerator = newSequenceGenerator;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__SEQUENCE_GENERATOR, oldSequenceGenerator, newSequenceGenerator);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId#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
+ */
+ public void setSequenceGenerator(XmlSequenceGenerator newSequenceGenerator)
+ {
+ if (newSequenceGenerator != sequenceGenerator)
+ {
+ NotificationChain msgs = null;
+ if (sequenceGenerator != null)
+ msgs = ((InternalEObject)sequenceGenerator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__SEQUENCE_GENERATOR, null, msgs);
+ if (newSequenceGenerator != null)
+ msgs = ((InternalEObject)newSequenceGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__SEQUENCE_GENERATOR, null, msgs);
+ msgs = basicSetSequenceGenerator(newSequenceGenerator, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__SEQUENCE_GENERATOR, newSequenceGenerator, newSequenceGenerator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ID__COLUMN:
+ return basicSetColumn(null, msgs);
+ case OrmPackage.XML_ID__SEQUENCE_GENERATOR:
+ return basicSetSequenceGenerator(null, msgs);
+ case OrmPackage.XML_ID__TABLE_GENERATOR:
+ return basicSetTableGenerator(null, msgs);
+ case OrmPackage.XML_ID__GENERATED_VALUE:
+ return basicSetGeneratedValue(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 OrmPackage.XML_ID__COLUMN:
+ return getColumn();
+ case OrmPackage.XML_ID__LOB:
+ return isLob();
+ case OrmPackage.XML_ID__TEMPORAL:
+ return getTemporal();
+ case OrmPackage.XML_ID__ENUMERATED:
+ return getEnumerated();
+ case OrmPackage.XML_ID__SEQUENCE_GENERATOR:
+ return getSequenceGenerator();
+ case OrmPackage.XML_ID__TABLE_GENERATOR:
+ return getTableGenerator();
+ case OrmPackage.XML_ID__GENERATED_VALUE:
+ return getGeneratedValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ID__COLUMN:
+ setColumn((XmlColumn)newValue);
+ return;
+ case OrmPackage.XML_ID__LOB:
+ setLob((Boolean)newValue);
+ return;
+ case OrmPackage.XML_ID__TEMPORAL:
+ setTemporal((TemporalType)newValue);
+ return;
+ case OrmPackage.XML_ID__ENUMERATED:
+ setEnumerated((EnumType)newValue);
+ return;
+ case OrmPackage.XML_ID__SEQUENCE_GENERATOR:
+ setSequenceGenerator((XmlSequenceGenerator)newValue);
+ return;
+ case OrmPackage.XML_ID__TABLE_GENERATOR:
+ setTableGenerator((XmlTableGenerator)newValue);
+ return;
+ case OrmPackage.XML_ID__GENERATED_VALUE:
+ setGeneratedValue((XmlGeneratedValue)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ID__COLUMN:
+ setColumn((XmlColumn)null);
+ return;
+ case OrmPackage.XML_ID__LOB:
+ setLob(LOB_EDEFAULT);
+ return;
+ case OrmPackage.XML_ID__TEMPORAL:
+ setTemporal(TEMPORAL_EDEFAULT);
+ return;
+ case OrmPackage.XML_ID__ENUMERATED:
+ setEnumerated(ENUMERATED_EDEFAULT);
+ return;
+ case OrmPackage.XML_ID__SEQUENCE_GENERATOR:
+ setSequenceGenerator((XmlSequenceGenerator)null);
+ return;
+ case OrmPackage.XML_ID__TABLE_GENERATOR:
+ setTableGenerator((XmlTableGenerator)null);
+ return;
+ case OrmPackage.XML_ID__GENERATED_VALUE:
+ setGeneratedValue((XmlGeneratedValue)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ID__COLUMN:
+ return column != null;
+ case OrmPackage.XML_ID__LOB:
+ return lob != LOB_EDEFAULT;
+ case OrmPackage.XML_ID__TEMPORAL:
+ return temporal != TEMPORAL_EDEFAULT;
+ case OrmPackage.XML_ID__ENUMERATED:
+ return enumerated != ENUMERATED_EDEFAULT;
+ case OrmPackage.XML_ID__SEQUENCE_GENERATOR:
+ return sequenceGenerator != null;
+ case OrmPackage.XML_ID__TABLE_GENERATOR:
+ return tableGenerator != null;
+ case OrmPackage.XML_ID__GENERATED_VALUE:
+ return generatedValue != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == ColumnMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ID__COLUMN: return OrmPackage.COLUMN_MAPPING__COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ID__LOB: return OrmPackage.XML_CONVERTIBLE_MAPPING__LOB;
+ case OrmPackage.XML_ID__TEMPORAL: return OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL;
+ case OrmPackage.XML_ID__ENUMERATED: return OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlGeneratorContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ID__SEQUENCE_GENERATOR: return OrmPackage.XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR;
+ case OrmPackage.XML_ID__TABLE_GENERATOR: return OrmPackage.XML_GENERATOR_CONTAINER__TABLE_GENERATOR;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == ColumnMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.COLUMN_MAPPING__COLUMN: return OrmPackage.XML_ID__COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_CONVERTIBLE_MAPPING__LOB: return OrmPackage.XML_ID__LOB;
+ case OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL: return OrmPackage.XML_ID__TEMPORAL;
+ case OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED: return OrmPackage.XML_ID__ENUMERATED;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlGeneratorContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR: return OrmPackage.XML_ID__SEQUENCE_GENERATOR;
+ case OrmPackage.XML_GENERATOR_CONTAINER__TABLE_GENERATOR: return OrmPackage.XML_ID__TABLE_GENERATOR;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (lob: ");
+ result.append(lob);
+ result.append(", temporal: ");
+ result.append(temporal);
+ result.append(", enumerated: ");
+ result.append(enumerated);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getEnumeratedTextRange() {
+ throw new UnsupportedOperationException("enumerated not supported by id mappings");
+ }
+
+ public TextRange getLobTextRange() {
+ throw new UnsupportedOperationException("lob not supported by id mappings");
+ }
+
+ public TextRange getTemporalTextRange() {
+ return getAttributeTextRange(JPA.TEMPORAL);
+ }
+
+ public String getMappingKey() {
+ return MappingKeys.ID_ATTRIBUTE_MAPPING_KEY;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildAccessTranslator(),
+ buildColumnTranslator(),
+ buildGeneratedValueTranslator(),
+ buildTemporalTranslator(),
+ buildTableGeneratorTranslator(),
+ buildSequenceGeneratorTranslator()
+ };
+ }
+
+ protected static Translator buildColumnTranslator() {
+ return XmlColumn.buildTranslator(JPA.COLUMN, OrmPackage.eINSTANCE.getColumnMapping_Column());
+ }
+
+ protected static Translator buildGeneratedValueTranslator() {
+ return XmlGeneratedValue.buildTranslator(JPA.GENERATED_VALUE, OrmPackage.eINSTANCE.getXmlId_GeneratedValue());
+ }
+
+ protected static Translator buildTemporalTranslator() {
+ return new Translator(JPA.TEMPORAL, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Temporal());
+ }
+
+ protected static Translator buildTableGeneratorTranslator() {
+ return XmlTableGenerator.buildTranslator(JPA.TABLE_GENERATOR, OrmPackage.eINSTANCE.getXmlGeneratorContainer_TableGenerator());
+ }
+
+ protected static Translator buildSequenceGeneratorTranslator() {
+ return XmlSequenceGenerator.buildTranslator(JPA.SEQUENCE_GENERATOR, OrmPackage.eINSTANCE.getXmlGeneratorContainer_SequenceGenerator());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlIdClassContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlIdClassContainer.java
new file mode 100644
index 0000000000..41c7d741e0
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlIdClassContainer.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Id Class Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer#getIdClass <em>Id Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlIdClassContainer()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlIdClassContainer extends EBaseObject
+{
+ /**
+ * 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(XmlClassReference)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlIdClassContainer_IdClass()
+ * @model containment="true"
+ * @generated
+ */
+ XmlClassReference getIdClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer#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(XmlClassReference value);
+
+} // XmlIdClassContainer
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumn.java
new file mode 100644
index 0000000000..3cf2d975f0
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumn.java
@@ -0,0 +1,277 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Join Column</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumn()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlJoinColumn extends AbstractXmlBaseColumn implements XmlBaseJoinColumn
+{
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlJoinColumn()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_JOIN_COLUMN;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseJoinColumn_ReferencedColumnName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getReferencedColumnName()
+ {
+ return referencedColumnName;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn#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
+ */
+ public void setReferencedColumnName(String newReferencedColumnName)
+ {
+ String oldReferencedColumnName = referencedColumnName;
+ referencedColumnName = newReferencedColumnName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME, oldReferencedColumnName, referencedColumnName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ return getReferencedColumnName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ setReferencedColumnName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ setReferencedColumnName(REFERENCED_COLUMN_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ return REFERENCED_COLUMN_NAME_EDEFAULT == null ? referencedColumnName != null : !REFERENCED_COLUMN_NAME_EDEFAULT.equals(referencedColumnName);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlBaseJoinColumn.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME: return OrmPackage.XML_BASE_JOIN_COLUMN__REFERENCED_COLUMN_NAME;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlBaseJoinColumn.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_BASE_JOIN_COLUMN__REFERENCED_COLUMN_NAME: return OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (referencedColumnName: ");
+ result.append(referencedColumnName);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getReferencedColumnNameTextRange() {
+ return getAttributeTextRange(JPA.REFERENCED_COLUMN_NAME);
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren()
+ );
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildReferencedColumnNameTranslator(),
+ buildUniqueTranslator(),
+ buildNullableTranslator(),
+ buildInsertableTranslator(),
+ buildUpdatableTranslator(),
+ buildColumnDefinitionTranslator(),
+ buildTableTranslator(),
+ };
+ }
+
+ protected static Translator buildReferencedColumnNameTranslator() {
+ return new Translator(JPA.REFERENCED_COLUMN_NAME, OrmPackage.eINSTANCE.getXmlBaseJoinColumn_ReferencedColumnName(), Translator.DOM_ATTRIBUTE);
+ }
+
+ // ************ content assist **************
+
+ public TextRange getReferencedColumnNameCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.REFERENCED_COLUMN_NAME);
+ }
+
+ public boolean referencedColumnNameTouches(int pos) {
+ TextRange textRange = this.getReferencedColumnNameCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+} // JoinColumn
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumnContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumnContainer.java
new file mode 100644
index 0000000000..4d0b6f2b34
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumnContainer.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Join Column Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer#getJoinColumns <em>Join Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlJoinColumnContainer extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlJoinColumn> getJoinColumns();
+
+} // XmlJoinColumnContainer
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTable.java
new file mode 100644
index 0000000000..894c525703
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTable.java
@@ -0,0 +1,210 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Join Table</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable#getInverseJoinColumns <em>Inverse Join Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTable()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlJoinTable extends AbstractXmlReferenceTable
+{
+ /**
+ * 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<XmlJoinColumn> inverseJoinColumns;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlJoinTable()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_JOIN_TABLE;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Inverse Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTable_InverseJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJoinColumn> getInverseJoinColumns()
+ {
+ if (inverseJoinColumns == null)
+ {
+ inverseJoinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS);
+ }
+ return inverseJoinColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS:
+ return ((InternalEList<?>)getInverseJoinColumns()).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 OrmPackage.XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS:
+ return getInverseJoinColumns();
+ }
+ 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 OrmPackage.XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS:
+ getInverseJoinColumns().clear();
+ getInverseJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS:
+ getInverseJoinColumns().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS:
+ return inverseJoinColumns != null && !inverseJoinColumns.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ public boolean isSpecified() {
+ return true;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildCatalogTranslator(),
+ buildSchemaTranslator(),
+ buildJoinColumnTranslator(),
+ buildInverseJoinColumnTranslator(),
+ buildUniqueConstraintTranslator()
+ };
+ }
+
+ protected static Translator buildInverseJoinColumnTranslator() {
+ return XmlJoinColumn.buildTranslator(JPA.INVERSE_JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlJoinTable_InverseJoinColumns());
+ }
+
+} // JoinTable
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTableContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTableContainer.java
new file mode 100644
index 0000000000..5b32ef80f8
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTableContainer.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Join Table Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer#getJoinTable <em>Join Table</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlJoinTableContainer extends EBaseObject
+{
+ /**
+ * 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(XmlJoinTable)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer_JoinTable()
+ * @model containment="true"
+ * @generated
+ */
+ XmlJoinTable getJoinTable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer#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(XmlJoinTable value);
+
+} // XmlJoinTableContainer
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToMany.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToMany.java
new file mode 100644
index 0000000000..b3012927bc
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToMany.java
@@ -0,0 +1,88 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Many To Many</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlManyToMany()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlManyToMany extends AbstractXmlMultiRelationshipMapping implements XmlManyToMany_2_0
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlManyToMany()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_MANY_TO_MANY;
+ }
+
+ public String getMappingKey() {
+ return MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildTargetEntityTranslator(),
+ buildFetchTranslator(),
+ buildAccessTranslator(),
+ buildMappedByTranslator(),
+ buildOrderByTranslator(),
+ buildOrderColumnTranslator(),
+ buildMapKeyTranslator(),
+ buildMapKeyClassTranslator(),
+ buildMapKeyTemporalTranslator(),
+ buildMapKeyEnumeratedTranslator(),
+ buildMapKeyAttributeOverrideTranslator(),
+ buildMapKeyColumnTranslator(),
+ buildMapKeyJoinColumnTranslator(),
+ buildJoinTableTranslator(),
+ buildCascadeTranslator()
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToOne.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToOne.java
new file mode 100644
index 0000000000..002ed41f75
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToOne.java
@@ -0,0 +1,85 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Many To One</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlManyToOne()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlManyToOne extends AbstractXmlSingleRelationshipMapping
+{
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlManyToOne()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_MANY_TO_ONE;
+ }
+
+ // **************** XmlAttributeMapping impl ******************************
+
+ public String getMappingKey() {
+ return MappingKeys.MANY_TO_ONE_ATTRIBUTE_MAPPING_KEY;
+ }
+
+
+ // **************** translators *******************************************
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildTargetEntityTranslator(),
+ buildFetchTranslator(),
+ buildOptionalTranslator(),
+ buildAccessTranslator(),
+ buildMapsIdTranslator(),
+ buildIdTranslator(),
+ buildJoinColumnTranslator(),
+ buildJoinTableTranslator(),
+ buildCascadeTranslator()
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedByMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedByMapping.java
new file mode 100644
index 0000000000..fdd7aa3025
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedByMapping.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.utility.TextRange;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Ownable Relationship Mapping</b></em>'.
+ * <p>
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping#getMappedBy <em>Mapped By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedByMapping()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlMappedByMapping extends EBaseObject
+{
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedByMapping_MappedBy()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getMappedBy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping#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);
+
+ TextRange getMappedByTextRange();
+
+ boolean mappedByTouches(int pos);
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedSuperclass.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedSuperclass.java
new file mode 100644
index 0000000000..466e872cab
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedSuperclass.java
@@ -0,0 +1,570 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.jpt.common.core.internal.utility.translators.EmptyTagBooleanTranslator;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Mapped Superclass</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#getEntityListeners <em>Entity Listeners</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedSuperclass()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlMappedSuperclass extends AbstractXmlTypeMapping implements XmlIdClassContainer
+{
+
+ /**
+ * The cached value of the '{@link #getIdClass() <em>Id Class</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdClass()
+ * @generated
+ * @ordered
+ */
+ protected XmlClassReference idClass;
+
+ /**
+ * The default value of the '{@link #isExcludeDefaultListeners() <em>Exclude Default Listeners</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExcludeDefaultListeners()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXCLUDE_DEFAULT_LISTENERS_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isExcludeDefaultListeners() <em>Exclude Default Listeners</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExcludeDefaultListeners()
+ * @generated
+ * @ordered
+ */
+ protected boolean excludeDefaultListeners = EXCLUDE_DEFAULT_LISTENERS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isExcludeSuperclassListeners() <em>Exclude Superclass Listeners</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExcludeSuperclassListeners()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isExcludeSuperclassListeners() <em>Exclude Superclass Listeners</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExcludeSuperclassListeners()
+ * @generated
+ * @ordered
+ */
+ protected boolean excludeSuperclassListeners = EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getEntityListeners() <em>Entity Listeners</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEntityListeners()
+ * @generated
+ * @ordered
+ */
+ protected EntityListeners entityListeners;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlMappedSuperclass()
+ {
+ super();
+ }
+
+ public String getMappingKey() {
+ return MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY;
+ }
+
+ public XmlEntityMappings entityMappings() {
+ return (XmlEntityMappings) eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_MAPPED_SUPERCLASS;
+ }
+
+ /**
+ * 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(XmlClassReference)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlIdClassContainer_IdClass()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlClassReference getIdClass()
+ {
+ return idClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIdClass(XmlClassReference newIdClass, NotificationChain msgs)
+ {
+ XmlClassReference oldIdClass = idClass;
+ idClass = newIdClass;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS, oldIdClass, newIdClass);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#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
+ */
+ public void setIdClass(XmlClassReference newIdClass)
+ {
+ if (newIdClass != idClass)
+ {
+ NotificationChain msgs = null;
+ if (idClass != null)
+ msgs = ((InternalEObject)idClass).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS, null, msgs);
+ if (newIdClass != null)
+ msgs = ((InternalEObject)newIdClass).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS, null, msgs);
+ msgs = basicSetIdClass(newIdClass, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS, newIdClass, newIdClass));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Exclude Default Listeners</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exclude Default Listeners</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exclude Default Listeners</em>' attribute.
+ * @see #setExcludeDefaultListeners(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedSuperclass_ExcludeDefaultListeners()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isExcludeDefaultListeners()
+ {
+ return excludeDefaultListeners;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exclude Default Listeners</em>' attribute.
+ * @see #isExcludeDefaultListeners()
+ * @generated
+ */
+ public void setExcludeDefaultListeners(boolean newExcludeDefaultListeners)
+ {
+ boolean oldExcludeDefaultListeners = excludeDefaultListeners;
+ excludeDefaultListeners = newExcludeDefaultListeners;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS, oldExcludeDefaultListeners, excludeDefaultListeners));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Exclude Superclass Listeners</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exclude Superclass Listeners</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exclude Superclass Listeners</em>' attribute.
+ * @see #setExcludeSuperclassListeners(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedSuperclass_ExcludeSuperclassListeners()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isExcludeSuperclassListeners()
+ {
+ return excludeSuperclassListeners;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exclude Superclass Listeners</em>' attribute.
+ * @see #isExcludeSuperclassListeners()
+ * @generated
+ */
+ public void setExcludeSuperclassListeners(boolean newExcludeSuperclassListeners)
+ {
+ boolean oldExcludeSuperclassListeners = excludeSuperclassListeners;
+ excludeSuperclassListeners = newExcludeSuperclassListeners;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS, oldExcludeSuperclassListeners, excludeSuperclassListeners));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Entity Listeners</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Entity Listeners</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 Listeners</em>' containment reference.
+ * @see #setEntityListeners(EntityListeners)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedSuperclass_EntityListeners()
+ * @model containment="true"
+ * @generated
+ */
+ public EntityListeners getEntityListeners()
+ {
+ return entityListeners;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEntityListeners(EntityListeners newEntityListeners, NotificationChain msgs)
+ {
+ EntityListeners oldEntityListeners = entityListeners;
+ entityListeners = newEntityListeners;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS, oldEntityListeners, newEntityListeners);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#getEntityListeners <em>Entity Listeners</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Entity Listeners</em>' containment reference.
+ * @see #getEntityListeners()
+ * @generated
+ */
+ public void setEntityListeners(EntityListeners newEntityListeners)
+ {
+ if (newEntityListeners != entityListeners)
+ {
+ NotificationChain msgs = null;
+ if (entityListeners != null)
+ msgs = ((InternalEObject)entityListeners).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS, null, msgs);
+ if (newEntityListeners != null)
+ msgs = ((InternalEObject)newEntityListeners).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS, null, msgs);
+ msgs = basicSetEntityListeners(newEntityListeners, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS, newEntityListeners, newEntityListeners));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS:
+ return basicSetIdClass(null, msgs);
+ case OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS:
+ return basicSetEntityListeners(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 OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS:
+ return getIdClass();
+ case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS:
+ return isExcludeDefaultListeners();
+ case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS:
+ return isExcludeSuperclassListeners();
+ case OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS:
+ return getEntityListeners();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS:
+ setIdClass((XmlClassReference)newValue);
+ return;
+ case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS:
+ setExcludeDefaultListeners((Boolean)newValue);
+ return;
+ case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS:
+ setExcludeSuperclassListeners((Boolean)newValue);
+ return;
+ case OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS:
+ setEntityListeners((EntityListeners)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS:
+ setIdClass((XmlClassReference)null);
+ return;
+ case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS:
+ setExcludeDefaultListeners(EXCLUDE_DEFAULT_LISTENERS_EDEFAULT);
+ return;
+ case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS:
+ setExcludeSuperclassListeners(EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT);
+ return;
+ case OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS:
+ setEntityListeners((EntityListeners)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS:
+ return idClass != null;
+ case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS:
+ return excludeDefaultListeners != EXCLUDE_DEFAULT_LISTENERS_EDEFAULT;
+ case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS:
+ return excludeSuperclassListeners != EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT;
+ case OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS:
+ return entityListeners != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlIdClassContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS: return OrmPackage.XML_ID_CLASS_CONTAINER__ID_CLASS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlIdClassContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ID_CLASS_CONTAINER__ID_CLASS: return OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (excludeDefaultListeners: ");
+ result.append(excludeDefaultListeners);
+ result.append(", excludeSuperclassListeners: ");
+ result.append(excludeSuperclassListeners);
+ result.append(')');
+ return result.toString();
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildClassTranslator(),
+ buildAccessTranslator(),
+ buildMetadataCompleteTranslator(),
+ buildDescriptionTranslator(),
+ buildIdClassTranslator(),
+ buildExcludeDefaultListenersTranslator(),
+ buildExcludeSuperclassListenersTranslator(),
+ buildEntityListenersTranslator(),
+ PrePersist.buildTranslator(),
+ PostPersist.buildTranslator(),
+ PreRemove.buildTranslator(),
+ PostRemove.buildTranslator(),
+ PreUpdate.buildTranslator(),
+ PostUpdate.buildTranslator(),
+ PostLoad.buildTranslator(),
+ Attributes.buildTranslator()
+ };
+ }
+
+ protected static Translator buildIdClassTranslator() {
+ return XmlClassReference.buildTranslator(JPA.ID_CLASS, OrmPackage.eINSTANCE.getXmlIdClassContainer_IdClass());
+ }
+
+ protected static Translator buildExcludeDefaultListenersTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.EXCLUDE_DEFAULT_LISTENERS, OrmPackage.eINSTANCE.getXmlMappedSuperclass_ExcludeDefaultListeners());
+ }
+
+ protected static Translator buildExcludeSuperclassListenersTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.EXCLUDE_SUPERCLASS_LISTENERS, OrmPackage.eINSTANCE.getXmlMappedSuperclass_ExcludeSuperclassListeners());
+ }
+
+ protected static Translator buildEntityListenersTranslator() {
+ return EntityListeners.buildTranslator(JPA.ENTITY_LISTENERS, OrmPackage.eINSTANCE.getXmlMappedSuperclass_EntityListeners());
+ }
+
+ protected static Translator buildPrePersistTranslator() {
+ return PrePersist.buildTranslator();
+ }
+
+ protected static Translator buildPostPersistTranslator() {
+ return PostPersist.buildTranslator();
+ }
+
+ protected static Translator buildPreRemoveTranslator() {
+ return PreRemove.buildTranslator();
+ }
+
+ protected static Translator buildPostRemoveTranslator() {
+ return PostRemove.buildTranslator();
+ }
+
+ protected static Translator buildPreUpdateTranslator() {
+ return PreUpdate.buildTranslator();
+ }
+
+ protected static Translator buildPostUpdateTranslator() {
+ return PostUpdate.buildTranslator();
+ }
+
+ protected static Translator buildPostLoadTranslator() {
+ return PostLoad.buildTranslator();
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedColumn.java
new file mode 100644
index 0000000000..1860e526cd
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedColumn.java
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.utility.TextRange;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Named Column</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#getColumnDefinition <em>Column Definition</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedColumn()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlNamedColumn extends EBaseObject
+{
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedColumn_ColumnDefinition()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getColumnDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#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>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.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedColumn_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#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);
+
+ TextRange getNameTextRange();
+
+ boolean columnNameTouches(int pos);
+
+} // XmlNamedColumn
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedNativeQuery.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedNativeQuery.java
new file mode 100644
index 0000000000..56ca6faa4a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedNativeQuery.java
@@ -0,0 +1,646 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Named Native Query</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultClass <em>Result Class</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultSetMapping <em>Result Set Mapping</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedNativeQuery()
+ * @model kind="class"
+ * @generated
+ */
+@SuppressWarnings("nls")
+public class XmlNamedNativeQuery extends EBaseObjectImpl implements XmlQuery
+{
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getQuery() <em>Query</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected static final String QUERY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected String query = QUERY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getHints() <em>Hints</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHints()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlQueryHint> hints;
+
+ /**
+ * The default value of the '{@link #getResultClass() <em>Result Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResultClass()
+ * @generated
+ * @ordered
+ */
+ protected static final String RESULT_CLASS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getResultClass() <em>Result Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResultClass()
+ * @generated
+ * @ordered
+ */
+ protected String resultClass = RESULT_CLASS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getResultSetMapping() <em>Result Set Mapping</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResultSetMapping()
+ * @generated
+ * @ordered
+ */
+ protected static final String RESULT_SET_MAPPING_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getResultSetMapping() <em>Result Set Mapping</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResultSetMapping()
+ * @generated
+ * @ordered
+ */
+ protected String resultSetMapping = RESULT_SET_MAPPING_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlNamedNativeQuery()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_NAMED_NATIVE_QUERY;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_NATIVE_QUERY__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_NATIVE_QUERY__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Result Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Result Class</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Result Class</em>' attribute.
+ * @see #setResultClass(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedNativeQuery_ResultClass()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getResultClass()
+ {
+ return resultClass;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultClass <em>Result Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Result Class</em>' attribute.
+ * @see #getResultClass()
+ * @generated
+ */
+ public void setResultClass(String newResultClass)
+ {
+ String oldResultClass = resultClass;
+ resultClass = newResultClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS, oldResultClass, resultClass));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Result Set Mapping</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Result Set Mapping</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Result Set Mapping</em>' attribute.
+ * @see #setResultSetMapping(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedNativeQuery_ResultSetMapping()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getResultSetMapping()
+ {
+ return resultSetMapping;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultSetMapping <em>Result Set Mapping</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Result Set Mapping</em>' attribute.
+ * @see #getResultSetMapping()
+ * @generated
+ */
+ public void setResultSetMapping(String newResultSetMapping)
+ {
+ String oldResultSetMapping = resultSetMapping;
+ resultSetMapping = newResultSetMapping;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING, oldResultSetMapping, resultSetMapping));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Query</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Query</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Query</em>' attribute.
+ * @see #setQuery(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Query()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getQuery()
+ {
+ return query;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getQuery <em>Query</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Query</em>' attribute.
+ * @see #getQuery()
+ * @generated
+ */
+ public void setQuery(String newQuery)
+ {
+ String oldQuery = query;
+ query = newQuery;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_NATIVE_QUERY__QUERY, oldQuery, query));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Hints</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hints</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>Hints</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Hints()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlQueryHint> getHints()
+ {
+ if (hints == null)
+ {
+ hints = new EObjectContainmentEList<XmlQueryHint>(XmlQueryHint.class, this, OrmPackage.XML_NAMED_NATIVE_QUERY__HINTS);
+ }
+ return hints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__HINTS:
+ return ((InternalEList<?>)getHints()).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 OrmPackage.XML_NAMED_NATIVE_QUERY__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__NAME:
+ return getName();
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__QUERY:
+ return getQuery();
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__HINTS:
+ return getHints();
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS:
+ return getResultClass();
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING:
+ return getResultSetMapping();
+ }
+ 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 OrmPackage.XML_NAMED_NATIVE_QUERY__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__NAME:
+ setName((String)newValue);
+ return;
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__QUERY:
+ setQuery((String)newValue);
+ return;
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__HINTS:
+ getHints().clear();
+ getHints().addAll((Collection<? extends XmlQueryHint>)newValue);
+ return;
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS:
+ setResultClass((String)newValue);
+ return;
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING:
+ setResultSetMapping((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__QUERY:
+ setQuery(QUERY_EDEFAULT);
+ return;
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__HINTS:
+ getHints().clear();
+ return;
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS:
+ setResultClass(RESULT_CLASS_EDEFAULT);
+ return;
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING:
+ setResultSetMapping(RESULT_SET_MAPPING_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__QUERY:
+ return QUERY_EDEFAULT == null ? query != null : !QUERY_EDEFAULT.equals(query);
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__HINTS:
+ return hints != null && !hints.isEmpty();
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS:
+ return RESULT_CLASS_EDEFAULT == null ? resultClass != null : !RESULT_CLASS_EDEFAULT.equals(resultClass);
+ case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING:
+ return RESULT_SET_MAPPING_EDEFAULT == null ? resultSetMapping != null : !RESULT_SET_MAPPING_EDEFAULT.equals(resultSetMapping);
+ }
+ 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(" (description: ");
+ result.append(description);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", query: ");
+ result.append(query);
+ result.append(", resultClass: ");
+ result.append(resultClass);
+ result.append(", resultSetMapping: ");
+ result.append(resultSetMapping);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getNameTextRange() {
+ return getAttributeTextRange(JPA.NAME);
+ }
+
+ public TextRange getQueryTextRange() {
+ return getAttributeTextRange(JPA.QUERY);
+ }
+
+ public int getQueryOffset() {
+
+ IDOMNode node = getElementNode(JPA.QUERY);
+
+ if ((node != null) && node.hasChildNodes()) {
+
+ IDOMNode child = (IDOMNode) node.getFirstChild();
+ String jpqlQuery = child.getTextContent();
+ int offset = 0;
+
+ // Retrieve the length of whitespace before the query, which is the offset to return.
+ // This will help to adjust the cursor position within the query because the actual
+ // string handled by the model does not have those leading whitespace
+ for (int index = 0, count = jpqlQuery.length(); index < count; index++) {
+ if (Character.isWhitespace(jpqlQuery.charAt(index))) {
+ offset++;
+ }
+ else {
+ break;
+ }
+ }
+ return offset;
+ }
+
+ return 0;
+ }
+
+ public String getActualQuery() {
+
+ IDOMNode node = getElementNode(JPA.QUERY);
+
+ if ((node != null) && node.hasChildNodes()) {
+ IDOMNode child = (IDOMNode) node.getFirstChild();
+ if (child.getNodeType() == IDOMNode.CDATA_SECTION_NODE) {
+ return child.getTextContent();
+ }
+ return child.getSource();
+ }
+
+ return null;
+ }
+
+ public boolean isQueryInsideCDATASection() {
+
+ IDOMNode node = getElementNode(JPA.QUERY);
+
+ if ((node != null) && node.hasChildNodes()) {
+ IDOMNode child = (IDOMNode) node.getFirstChild();
+ return (child.getNodeType() == IDOMNode.CDATA_SECTION_NODE);
+ }
+
+ return false;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildResultClassTranslator(),
+ buildResultSetMappingTranslator(),
+ buildDescriptionTranslator(),
+ buildQueryTranslator(),
+ buildHintTranslator()
+ };
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlQuery_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildResultClassTranslator() {
+ return new Translator(JPA.RESULT_CLASS, OrmPackage.eINSTANCE.getXmlNamedNativeQuery_ResultClass(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildResultSetMappingTranslator() {
+ return new Translator(JPA.RESULT_SET_MAPPING, OrmPackage.eINSTANCE.getXmlNamedNativeQuery_ResultSetMapping(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA2_0.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlQuery_2_0_Description());
+ }
+
+ protected static Translator buildQueryTranslator() {
+ return new Translator(JPA.QUERY, OrmPackage.eINSTANCE.getXmlQuery_Query());
+ }
+
+ protected static Translator buildHintTranslator() {
+ return XmlQueryHint.buildTranslator(JPA.HINT, OrmPackage.eINSTANCE.getXmlQuery_Hints());
+ }
+} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedQuery.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedQuery.java
new file mode 100644
index 0000000000..dc73d1bf00
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedQuery.java
@@ -0,0 +1,644 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.SimpleTextRange;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Named Query</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedQuery()
+ * @model kind="class"
+ * @generated
+ */
+@SuppressWarnings("nls")
+public class XmlNamedQuery extends EBaseObjectImpl implements XmlQuery, XmlNamedQuery_2_0
+{
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getQuery() <em>Query</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected static final String QUERY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected String query = QUERY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getHints() <em>Hints</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHints()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlQueryHint> hints;
+
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final LockModeType_2_0 LOCK_MODE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLockMode() <em>Lock Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLockMode()
+ * @generated
+ * @ordered
+ */
+ protected LockModeType_2_0 lockMode = LOCK_MODE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlNamedQuery()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_NAMED_QUERY;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_QUERY__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_QUERY__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Query</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Query</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Query</em>' attribute.
+ * @see #setQuery(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Query()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getQuery()
+ {
+ return query;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery#getQuery <em>Query</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Query</em>' attribute.
+ * @see #getQuery()
+ * @generated
+ */
+ public void setQuery(String newQuery)
+ {
+ String oldQuery = query;
+ query = newQuery;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_QUERY__QUERY, oldQuery, query));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Hints</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hints</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>Hints</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Hints()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlQueryHint> getHints()
+ {
+ if (hints == null)
+ {
+ hints = new EObjectContainmentEList<XmlQueryHint>(XmlQueryHint.class, this, OrmPackage.XML_NAMED_QUERY__HINTS);
+ }
+ return hints;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Lock Mode</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lock Mode</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lock Mode</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0
+ * @see #setLockMode(LockModeType_2_0)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedQuery_2_0_LockMode()
+ * @model
+ * @generated
+ */
+ public LockModeType_2_0 getLockMode()
+ {
+ return lockMode;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery#getLockMode <em>Lock Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lock Mode</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0
+ * @see #getLockMode()
+ * @generated
+ */
+ public void setLockMode(LockModeType_2_0 newLockMode)
+ {
+ LockModeType_2_0 oldLockMode = lockMode;
+ lockMode = newLockMode == null ? LOCK_MODE_EDEFAULT : newLockMode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_QUERY__LOCK_MODE, oldLockMode, lockMode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_NAMED_QUERY__HINTS:
+ return ((InternalEList<?>)getHints()).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 OrmPackage.XML_NAMED_QUERY__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.XML_NAMED_QUERY__NAME:
+ return getName();
+ case OrmPackage.XML_NAMED_QUERY__QUERY:
+ return getQuery();
+ case OrmPackage.XML_NAMED_QUERY__HINTS:
+ return getHints();
+ case OrmPackage.XML_NAMED_QUERY__LOCK_MODE:
+ return getLockMode();
+ }
+ 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 OrmPackage.XML_NAMED_QUERY__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.XML_NAMED_QUERY__NAME:
+ setName((String)newValue);
+ return;
+ case OrmPackage.XML_NAMED_QUERY__QUERY:
+ setQuery((String)newValue);
+ return;
+ case OrmPackage.XML_NAMED_QUERY__HINTS:
+ getHints().clear();
+ getHints().addAll((Collection<? extends XmlQueryHint>)newValue);
+ return;
+ case OrmPackage.XML_NAMED_QUERY__LOCK_MODE:
+ setLockMode((LockModeType_2_0)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_NAMED_QUERY__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.XML_NAMED_QUERY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OrmPackage.XML_NAMED_QUERY__QUERY:
+ setQuery(QUERY_EDEFAULT);
+ return;
+ case OrmPackage.XML_NAMED_QUERY__HINTS:
+ getHints().clear();
+ return;
+ case OrmPackage.XML_NAMED_QUERY__LOCK_MODE:
+ setLockMode(LOCK_MODE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_NAMED_QUERY__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.XML_NAMED_QUERY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OrmPackage.XML_NAMED_QUERY__QUERY:
+ return QUERY_EDEFAULT == null ? query != null : !QUERY_EDEFAULT.equals(query);
+ case OrmPackage.XML_NAMED_QUERY__HINTS:
+ return hints != null && !hints.isEmpty();
+ case OrmPackage.XML_NAMED_QUERY__LOCK_MODE:
+ return lockMode != LOCK_MODE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlNamedQuery_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_NAMED_QUERY__LOCK_MODE: return OrmV2_0Package.XML_NAMED_QUERY_20__LOCK_MODE;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlNamedQuery_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_NAMED_QUERY_20__LOCK_MODE: return OrmPackage.XML_NAMED_QUERY__LOCK_MODE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (description: ");
+ result.append(description);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", query: ");
+ result.append(query);
+ result.append(", lockMode: ");
+ result.append(lockMode);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getNameTextRange() {
+ return getAttributeTextRange(JPA.NAME);
+ }
+
+ public TextRange getQueryTextRange() {
+
+ // <named-query>
+ IDOMNode node = getElementNode(JPA.QUERY);
+
+ if (node != null) {
+
+ // The query element has text
+ if (node.hasChildNodes()) {
+ IDOMNode child = (IDOMNode) node.getFirstChild();
+
+ // CDATA section
+ if (child.getNodeType() == IDOMNode.CDATA_SECTION_NODE) {
+ // A CDATA has either 2 sections (the open and close CDATA sections) or 3 sections
+ // (the open CDATA section, the actual content and the close CDATA section)
+ ITextRegionList regions = child.getFirstStructuredDocumentRegion().getRegions();
+ return new SimpleTextRange(
+ child.getStartOffset() + regions.get(1).getStart(),
+ (regions.size() == 3) ? regions.get(1).getLength() : 0,
+ buildTextRange(node).getLineNumber()
+ );
+ }
+ // Generic text node, the following handles the range with escape character,
+ // buildTextRange() uses the length of the converted text
+ else {
+ int startOffset = node.getStartStructuredDocumentRegion().getEndOffset();
+ int endOffset = node.getEndStructuredDocumentRegion().getStartOffset();
+ int lineNumber = child.getStructuredDocument().getLineOfOffset(startOffset) + 1;
+ return new SimpleTextRange(startOffset, endOffset - startOffset, lineNumber);
+ }
+ }
+ // The query element does not have text
+ else {
+ return new SimpleTextRange(
+ node.getEndStructuredDocumentRegion().getStartOffset(),
+ 0,
+ buildTextRange(node).getLineNumber()
+ );
+ }
+ }
+
+ return this.getValidationTextRange();
+ }
+
+ public int getQueryOffset() {
+
+ IDOMNode node = getElementNode(JPA.QUERY);
+
+ if ((node != null) && node.hasChildNodes()) {
+
+ IDOMNode child = (IDOMNode) node.getFirstChild();
+ String jpqlQuery = child.getTextContent();
+ int offset = 0;
+
+ // Retrieve the length of whitespace before the JPQL query, which is the offset to return.
+ // This will help to adjust the cursor position within the JPQL query because the actual
+ // string handled by the model does not have those leading whitespace
+ for (int index = 0, count = jpqlQuery.length(); index < count; index++) {
+ if (Character.isWhitespace(jpqlQuery.charAt(index))) {
+ offset++;
+ }
+ else {
+ break;
+ }
+ }
+ return offset;
+ }
+
+ return 0;
+ }
+
+ public String getActualQuery() {
+
+ IDOMNode node = getElementNode(JPA.QUERY);
+
+ if ((node != null) && node.hasChildNodes()) {
+ IDOMNode child = (IDOMNode) node.getFirstChild();
+ if (child.getNodeType() == IDOMNode.CDATA_SECTION_NODE) {
+ return child.getTextContent();
+ }
+ return child.getSource();
+ }
+
+ return null;
+ }
+
+ public boolean isQueryInsideCDATASection() {
+
+ IDOMNode node = getElementNode(JPA.QUERY);
+
+ if ((node != null) && node.hasChildNodes()) {
+ IDOMNode child = (IDOMNode) node.getFirstChild();
+ return (child.getNodeType() == IDOMNode.CDATA_SECTION_NODE);
+ }
+
+ return false;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildDescriptionTranslator(),
+ buildQueryTranslator(),
+ buildLockModeTranslator(),
+ XmlQueryHint.buildTranslator(JPA2_0.HINT, OrmPackage.eINSTANCE.getXmlQuery_Hints()),
+ };
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlQuery_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA2_0.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlQuery_2_0_Description());
+ }
+
+ protected static Translator buildQueryTranslator() {
+ return new Translator(JPA.QUERY, OrmPackage.eINSTANCE.getXmlQuery_Query());
+ }
+
+ protected static Translator buildLockModeTranslator() {
+ return new Translator(JPA2_0.NAMED_QUERY__LOCK_MODE, OrmV2_0Package.eINSTANCE.getXmlNamedQuery_2_0_LockMode());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNullAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNullAttributeMapping.java
new file mode 100644
index 0000000000..d6e607828a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNullAttributeMapping.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Null Attribute Mapping</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNullAttributeMapping()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class XmlNullAttributeMapping extends AbstractXmlAttributeMapping
+{
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlNullAttributeMapping()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_NULL_ATTRIBUTE_MAPPING;
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToMany.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToMany.java
new file mode 100644
index 0000000000..456385128b
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToMany.java
@@ -0,0 +1,376 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>One To Many</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOneToMany()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlOneToMany extends AbstractXmlMultiRelationshipMapping implements XmlJoinColumnContainer, XmlOneToMany_2_0
+{
+
+ /**
+ * 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<XmlJoinColumn> joinColumns;
+
+ /**
+ * The default value of the '{@link #getOrphanRemoval() <em>Orphan Removal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrphanRemoval()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ORPHAN_REMOVAL_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getOrphanRemoval() <em>Orphan Removal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrphanRemoval()
+ * @generated
+ * @ordered
+ */
+ protected Boolean orphanRemoval = ORPHAN_REMOVAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlOneToMany()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_ONE_TO_MANY;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJoinColumn> getJoinColumns()
+ {
+ if (joinColumns == null)
+ {
+ joinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS);
+ }
+ return joinColumns;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Orphan Removal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Orphan Removal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Orphan Removal</em>' attribute.
+ * @see #setOrphanRemoval(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrphanRemovable_2_0_OrphanRemoval()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getOrphanRemoval()
+ {
+ return orphanRemoval;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany#getOrphanRemoval <em>Orphan Removal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Orphan Removal</em>' attribute.
+ * @see #getOrphanRemoval()
+ * @generated
+ */
+ public void setOrphanRemoval(Boolean newOrphanRemoval)
+ {
+ Boolean oldOrphanRemoval = orphanRemoval;
+ orphanRemoval = newOrphanRemoval;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL, oldOrphanRemoval, orphanRemoval));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ONE_TO_MANY__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 OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS:
+ return getJoinColumns();
+ case OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL:
+ return getOrphanRemoval();
+ }
+ 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 OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ getJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue);
+ return;
+ case OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL:
+ setOrphanRemoval((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ return;
+ case OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL:
+ setOrphanRemoval(ORPHAN_REMOVAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS:
+ return joinColumns != null && !joinColumns.isEmpty();
+ case OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL:
+ return ORPHAN_REMOVAL_EDEFAULT == null ? orphanRemoval != null : !ORPHAN_REMOVAL_EDEFAULT.equals(orphanRemoval);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlJoinColumnContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS: return OrmPackage.XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOrphanRemovable_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL: return OrmV2_0Package.XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOneToMany_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlJoinColumnContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS: return OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOrphanRemovable_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL: return OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOneToMany_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (orphanRemoval: ");
+ result.append(orphanRemoval);
+ result.append(')');
+ return result.toString();
+ }
+
+ public String getMappingKey() {
+ return MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildTargetEntityTranslator(),
+ buildFetchTranslator(),
+ buildAccessTranslator(),
+ buildMappedByTranslator(),
+ buildOrphanRemovalTranslator(),
+ buildOrderByTranslator(),
+ buildOrderColumnTranslator(),
+ buildMapKeyTranslator(),
+ buildMapKeyClassTranslator(),
+ buildMapKeyTemporalTranslator(),
+ buildMapKeyEnumeratedTranslator(),
+ buildMapKeyAttributeOverrideTranslator(),
+ buildMapKeyColumnTranslator(),
+ buildMapKeyJoinColumnTranslator(),
+ buildJoinTableTranslator(),
+ buildJoinColumnTranslator(),
+ buildCascadeTranslator()
+ };
+ }
+
+ protected static Translator buildOrphanRemovalTranslator() {
+ return new Translator(JPA2_0.ORPHAN_REMOVAL, OrmV2_0Package.eINSTANCE.getXmlOrphanRemovable_2_0_OrphanRemoval(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildJoinColumnTranslator() {
+ return XmlJoinColumn.buildTranslator(JPA.JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlJoinColumnContainer_JoinColumns());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToOne.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToOne.java
new file mode 100644
index 0000000000..e11fe0f5cd
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToOne.java
@@ -0,0 +1,478 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>One To One</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOneToOne()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlOneToOne extends AbstractXmlSingleRelationshipMapping implements XmlMappedByMapping, XmlPrimaryKeyJoinColumnContainer, XmlOneToOne_2_0
+{
+
+ /**
+ * 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 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<XmlPrimaryKeyJoinColumn> primaryKeyJoinColumns;
+ /**
+ * The default value of the '{@link #getOrphanRemoval() <em>Orphan Removal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrphanRemoval()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean ORPHAN_REMOVAL_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getOrphanRemoval() <em>Orphan Removal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrphanRemoval()
+ * @generated
+ * @ordered
+ */
+ protected Boolean orphanRemoval = ORPHAN_REMOVAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlOneToOne()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_ONE_TO_ONE;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedByMapping_MappedBy()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getMappedBy()
+ {
+ return mappedBy;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne#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
+ */
+ public void setMappedBy(String newMappedBy)
+ {
+ String oldMappedBy = mappedBy;
+ mappedBy = newMappedBy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ONE_TO_ONE__MAPPED_BY, oldMappedBy, mappedBy));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Orphan Removal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Orphan Removal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Orphan Removal</em>' attribute.
+ * @see #setOrphanRemoval(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrphanRemovable_2_0_OrphanRemoval()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getOrphanRemoval()
+ {
+ return orphanRemoval;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne#getOrphanRemoval <em>Orphan Removal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Orphan Removal</em>' attribute.
+ * @see #getOrphanRemoval()
+ * @generated
+ */
+ public void setOrphanRemoval(Boolean newOrphanRemoval)
+ {
+ Boolean oldOrphanRemoval = orphanRemoval;
+ orphanRemoval = newOrphanRemoval;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL, oldOrphanRemoval, orphanRemoval));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumnContainer_PrimaryKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlPrimaryKeyJoinColumn> getPrimaryKeyJoinColumns()
+ {
+ if (primaryKeyJoinColumns == null)
+ {
+ primaryKeyJoinColumns = new EObjectContainmentEList<XmlPrimaryKeyJoinColumn>(XmlPrimaryKeyJoinColumn.class, this, OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS);
+ }
+ return primaryKeyJoinColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS:
+ return ((InternalEList<?>)getPrimaryKeyJoinColumns()).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 OrmPackage.XML_ONE_TO_ONE__MAPPED_BY:
+ return getMappedBy();
+ case OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS:
+ return getPrimaryKeyJoinColumns();
+ case OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL:
+ return getOrphanRemoval();
+ }
+ 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 OrmPackage.XML_ONE_TO_ONE__MAPPED_BY:
+ setMappedBy((String)newValue);
+ return;
+ case OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS:
+ getPrimaryKeyJoinColumns().clear();
+ getPrimaryKeyJoinColumns().addAll((Collection<? extends XmlPrimaryKeyJoinColumn>)newValue);
+ return;
+ case OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL:
+ setOrphanRemoval((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ONE_TO_ONE__MAPPED_BY:
+ setMappedBy(MAPPED_BY_EDEFAULT);
+ return;
+ case OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS:
+ getPrimaryKeyJoinColumns().clear();
+ return;
+ case OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL:
+ setOrphanRemoval(ORPHAN_REMOVAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ONE_TO_ONE__MAPPED_BY:
+ return MAPPED_BY_EDEFAULT == null ? mappedBy != null : !MAPPED_BY_EDEFAULT.equals(mappedBy);
+ case OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS:
+ return primaryKeyJoinColumns != null && !primaryKeyJoinColumns.isEmpty();
+ case OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL:
+ return ORPHAN_REMOVAL_EDEFAULT == null ? orphanRemoval != null : !ORPHAN_REMOVAL_EDEFAULT.equals(orphanRemoval);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlMappedByMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ONE_TO_ONE__MAPPED_BY: return OrmPackage.XML_MAPPED_BY_MAPPING__MAPPED_BY;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlPrimaryKeyJoinColumnContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS: return OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER__PRIMARY_KEY_JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOrphanRemovable_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL: return OrmV2_0Package.XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOneToOne_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlMappedByMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_MAPPED_BY_MAPPING__MAPPED_BY: return OrmPackage.XML_ONE_TO_ONE__MAPPED_BY;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlPrimaryKeyJoinColumnContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER__PRIMARY_KEY_JOIN_COLUMNS: return OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOrphanRemovable_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL: return OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOneToOne_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (mappedBy: ");
+ result.append(mappedBy);
+ result.append(", orphanRemoval: ");
+ result.append(orphanRemoval);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // **************** XmlAttributeMapping impl ******************************
+
+ public String getMappingKey() {
+ return MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY;
+ }
+
+
+ // **************** validation support ************************************
+
+ public TextRange getMappedByTextRange() {
+ return getAttributeTextRange(JPA.MAPPED_BY);
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildTargetEntityTranslator(),
+ buildFetchTranslator(),
+ buildOptionalTranslator(),
+ buildAccessTranslator(),
+ buildMappedByTranslator(),
+ buildOrphanRemovalTranslator(),
+ buildMapsIdTranslator(),
+ buildIdTranslator(),
+ buildPrimaryKeyJoinColumnTranslator(),
+ buildJoinColumnTranslator(),
+ buildJoinTableTranslator(),
+ buildCascadeTranslator()
+ };
+ }
+
+ protected static Translator buildMappedByTranslator() {
+ return new Translator(JPA.MAPPED_BY, OrmPackage.eINSTANCE.getXmlMappedByMapping_MappedBy(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildOrphanRemovalTranslator() {
+ return new Translator(JPA2_0.ORPHAN_REMOVAL, OrmV2_0Package.eINSTANCE.getXmlOrphanRemovable_2_0_OrphanRemoval(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildPrimaryKeyJoinColumnTranslator() {
+ return XmlPrimaryKeyJoinColumn.buildTranslator(JPA.PRIMARY_KEY_JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlPrimaryKeyJoinColumnContainer_PrimaryKeyJoinColumns());
+ }
+
+ // ********** content assist ***************
+
+ public TextRange getMappedByCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.MAPPED_BY);
+ }
+
+ public boolean mappedByTouches(int pos) {
+ TextRange textRange = this.getMappedByCodeAssistTextRange();
+ return (textRange!= null) && textRange.touches(pos);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderColumn.java
new file mode 100644
index 0000000000..73ad09cf47
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderColumn.java
@@ -0,0 +1,404 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.BooleanTranslator;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Order Column</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderColumn()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlOrderColumn extends AbstractXmlNamedColumn implements XmlOrderColumn_2_0
+{
+ /**
+ * The default value of the '{@link #getNullable() <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNullable()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean NULLABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNullable() <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNullable()
+ * @generated
+ * @ordered
+ */
+ protected Boolean nullable = NULLABLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getInsertable() <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInsertable()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean INSERTABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInsertable() <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInsertable()
+ * @generated
+ * @ordered
+ */
+ protected Boolean insertable = INSERTABLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUpdatable() <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpdatable()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean UPDATABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUpdatable() <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpdatable()
+ * @generated
+ * @ordered
+ */
+ protected Boolean updatable = UPDATABLE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlOrderColumn()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_ORDER_COLUMN;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Nullable</b></em>' attribute.
+ * <!-- 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 #setNullable(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderColumn_2_0_Nullable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getNullable()
+ {
+ return nullable;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn#getNullable <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nullable</em>' attribute.
+ * @see #getNullable()
+ * @generated
+ */
+ public void setNullable(Boolean newNullable)
+ {
+ Boolean oldNullable = nullable;
+ nullable = newNullable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ORDER_COLUMN__NULLABLE, oldNullable, nullable));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Insertable</b></em>' attribute.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderColumn_2_0_Insertable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getInsertable()
+ {
+ return insertable;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn#getInsertable <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Insertable</em>' attribute.
+ * @see #getInsertable()
+ * @generated
+ */
+ public void setInsertable(Boolean newInsertable)
+ {
+ Boolean oldInsertable = insertable;
+ insertable = newInsertable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ORDER_COLUMN__INSERTABLE, oldInsertable, insertable));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Updatable</b></em>' attribute.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderColumn_2_0_Updatable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getUpdatable()
+ {
+ return updatable;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn#getUpdatable <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Updatable</em>' attribute.
+ * @see #getUpdatable()
+ * @generated
+ */
+ public void setUpdatable(Boolean newUpdatable)
+ {
+ Boolean oldUpdatable = updatable;
+ updatable = newUpdatable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ORDER_COLUMN__UPDATABLE, oldUpdatable, updatable));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ORDER_COLUMN__NULLABLE:
+ return getNullable();
+ case OrmPackage.XML_ORDER_COLUMN__INSERTABLE:
+ return getInsertable();
+ case OrmPackage.XML_ORDER_COLUMN__UPDATABLE:
+ return getUpdatable();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ORDER_COLUMN__NULLABLE:
+ setNullable((Boolean)newValue);
+ return;
+ case OrmPackage.XML_ORDER_COLUMN__INSERTABLE:
+ setInsertable((Boolean)newValue);
+ return;
+ case OrmPackage.XML_ORDER_COLUMN__UPDATABLE:
+ setUpdatable((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ORDER_COLUMN__NULLABLE:
+ setNullable(NULLABLE_EDEFAULT);
+ return;
+ case OrmPackage.XML_ORDER_COLUMN__INSERTABLE:
+ setInsertable(INSERTABLE_EDEFAULT);
+ return;
+ case OrmPackage.XML_ORDER_COLUMN__UPDATABLE:
+ setUpdatable(UPDATABLE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ORDER_COLUMN__NULLABLE:
+ return NULLABLE_EDEFAULT == null ? nullable != null : !NULLABLE_EDEFAULT.equals(nullable);
+ case OrmPackage.XML_ORDER_COLUMN__INSERTABLE:
+ return INSERTABLE_EDEFAULT == null ? insertable != null : !INSERTABLE_EDEFAULT.equals(insertable);
+ case OrmPackage.XML_ORDER_COLUMN__UPDATABLE:
+ return UPDATABLE_EDEFAULT == null ? updatable != null : !UPDATABLE_EDEFAULT.equals(updatable);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlOrderColumn_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_ORDER_COLUMN__NULLABLE: return OrmV2_0Package.XML_ORDER_COLUMN_20__NULLABLE;
+ case OrmPackage.XML_ORDER_COLUMN__INSERTABLE: return OrmV2_0Package.XML_ORDER_COLUMN_20__INSERTABLE;
+ case OrmPackage.XML_ORDER_COLUMN__UPDATABLE: return OrmV2_0Package.XML_ORDER_COLUMN_20__UPDATABLE;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlOrderColumn_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_ORDER_COLUMN_20__NULLABLE: return OrmPackage.XML_ORDER_COLUMN__NULLABLE;
+ case OrmV2_0Package.XML_ORDER_COLUMN_20__INSERTABLE: return OrmPackage.XML_ORDER_COLUMN__INSERTABLE;
+ case OrmV2_0Package.XML_ORDER_COLUMN_20__UPDATABLE: return OrmPackage.XML_ORDER_COLUMN__UPDATABLE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (nullable: ");
+ result.append(nullable);
+ result.append(", insertable: ");
+ result.append(insertable);
+ result.append(", updatable: ");
+ result.append(updatable);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren()
+ );
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildNullableTranslator(),
+ buildInsertableTranslator(),
+ buildUpdatableTranslator(),
+ buildColumnDefinitionTranslator(),
+ };
+ }
+
+ protected static Translator buildNullableTranslator() {
+ return new BooleanTranslator(JPA.NULLABLE, OrmV2_0Package.eINSTANCE.getXmlOrderColumn_2_0_Nullable(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildInsertableTranslator() {
+ return new BooleanTranslator(JPA.INSERTABLE, OrmV2_0Package.eINSTANCE.getXmlOrderColumn_2_0_Insertable(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildUpdatableTranslator() {
+ return new BooleanTranslator(JPA.UPDATABLE, OrmV2_0Package.eINSTANCE.getXmlOrderColumn_2_0_Updatable(), Translator.DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderable.java
new file mode 100644
index 0000000000..d7d50139d2
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderable.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Orderable</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable#getOrderBy <em>Order By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlOrderable extends XmlOrderable_2_0
+{
+ /**
+ * Returns the value of the '<em><b>Order By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Order 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>Order By</em>' attribute.
+ * @see #setOrderBy(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable_OrderBy()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getOrderBy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable#getOrderBy <em>Order By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Order By</em>' attribute.
+ * @see #getOrderBy()
+ * @generated
+ */
+ void setOrderBy(String value);
+
+} // XmlOrderable
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOverride.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOverride.java
new file mode 100644
index 0000000000..8622238899
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOverride.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.utility.TextRange;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Override</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOverride#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOverride()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlOverride extends EBaseObject
+{
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlOverride_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOverride#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);
+
+ TextRange getNameTextRange();
+
+ boolean nameTouches(int pos);
+} // XmlOverride
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitDefaults.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitDefaults.java
new file mode 100644
index 0000000000..e98bc03e42
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitDefaults.java
@@ -0,0 +1,742 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.jpt.common.core.internal.utility.translators.EmptyTagBooleanTranslator;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>XmlPersistence Unit Defaults</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#isCascadePersist <em>Cascade Persist</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getEntityListeners <em>Entity Listeners</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlPersistenceUnitDefaults extends EBaseObjectImpl implements XmlAccessHolder, XmlPersistenceUnitDefaults_2_0
+{
+
+ /**
+ * The default value of the '{@link #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected static final String ACCESS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected String access = ACCESS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isDelimitedIdentifiers() <em>Delimited Identifiers</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDelimitedIdentifiers()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DELIMITED_IDENTIFIERS_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isDelimitedIdentifiers() <em>Delimited Identifiers</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDelimitedIdentifiers()
+ * @generated
+ * @ordered
+ */
+ protected boolean delimitedIdentifiers = DELIMITED_IDENTIFIERS_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 #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 #isCascadePersist() <em>Cascade Persist</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadePersist()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CASCADE_PERSIST_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCascadePersist() <em>Cascade Persist</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCascadePersist()
+ * @generated
+ * @ordered
+ */
+ protected boolean cascadePersist = CASCADE_PERSIST_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getEntityListeners() <em>Entity Listeners</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEntityListeners()
+ * @generated
+ * @ordered
+ */
+ protected EntityListeners entityListeners;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlPersistenceUnitDefaults()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_PERSISTENCE_UNIT_DEFAULTS;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults_Schema()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getSchema()
+ {
+ return schema;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#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
+ */
+ public void setSchema(String newSchema)
+ {
+ String oldSchema = schema;
+ schema = newSchema;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA, oldSchema, schema));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults_Catalog()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getCatalog()
+ {
+ return catalog;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#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
+ */
+ public void setCatalog(String newCatalog)
+ {
+ String oldCatalog = catalog;
+ catalog = newCatalog;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG, oldCatalog, catalog));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Access</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Access</em>' attribute.
+ * @see #setAccess(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder_Access()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getAccess()
+ {
+ return access;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getAccess <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access</em>' attribute.
+ * @see #getAccess()
+ * @generated
+ */
+ public void setAccess(String newAccess)
+ {
+ String oldAccess = access;
+ access = newAccess;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS, oldAccess, access));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Delimited Identifiers</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Delimited Identifiers</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Delimited Identifiers</em>' attribute.
+ * @see #setDelimitedIdentifiers(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults_2_0_DelimitedIdentifiers()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isDelimitedIdentifiers()
+ {
+ return delimitedIdentifiers;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#isDelimitedIdentifiers <em>Delimited Identifiers</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Delimited Identifiers</em>' attribute.
+ * @see #isDelimitedIdentifiers()
+ * @generated
+ */
+ public void setDelimitedIdentifiers(boolean newDelimitedIdentifiers)
+ {
+ boolean oldDelimitedIdentifiers = delimitedIdentifiers;
+ delimitedIdentifiers = newDelimitedIdentifiers;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS, oldDelimitedIdentifiers, delimitedIdentifiers));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Cascade Persist</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade Persist</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cascade Persist</em>' attribute.
+ * @see #setCascadePersist(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults_CascadePersist()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isCascadePersist()
+ {
+ return cascadePersist;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#isCascadePersist <em>Cascade Persist</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade Persist</em>' attribute.
+ * @see #isCascadePersist()
+ * @generated
+ */
+ public void setCascadePersist(boolean newCascadePersist)
+ {
+ boolean oldCascadePersist = cascadePersist;
+ cascadePersist = newCascadePersist;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST, oldCascadePersist, cascadePersist));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Entity Listeners</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Entity Listeners</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 Listeners</em>' containment reference.
+ * @see #setEntityListeners(EntityListeners)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults_EntityListeners()
+ * @model containment="true"
+ * @generated
+ */
+ public EntityListeners getEntityListeners()
+ {
+ return entityListeners;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEntityListeners(EntityListeners newEntityListeners, NotificationChain msgs)
+ {
+ EntityListeners oldEntityListeners = entityListeners;
+ entityListeners = newEntityListeners;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS, oldEntityListeners, newEntityListeners);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getEntityListeners <em>Entity Listeners</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Entity Listeners</em>' containment reference.
+ * @see #getEntityListeners()
+ * @generated
+ */
+ public void setEntityListeners(EntityListeners newEntityListeners)
+ {
+ if (newEntityListeners != entityListeners)
+ {
+ NotificationChain msgs = null;
+ if (entityListeners != null)
+ msgs = ((InternalEObject)entityListeners).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS, null, msgs);
+ if (newEntityListeners != null)
+ msgs = ((InternalEObject)newEntityListeners).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS, null, msgs);
+ msgs = basicSetEntityListeners(newEntityListeners, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS, newEntityListeners, newEntityListeners));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS:
+ return basicSetEntityListeners(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 OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS:
+ return getAccess();
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS:
+ return isDelimitedIdentifiers();
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA:
+ return getSchema();
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG:
+ return getCatalog();
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST:
+ return isCascadePersist();
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS:
+ return getEntityListeners();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS:
+ setAccess((String)newValue);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS:
+ setDelimitedIdentifiers((Boolean)newValue);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST:
+ setCascadePersist((Boolean)newValue);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS:
+ setEntityListeners((EntityListeners)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS:
+ setAccess(ACCESS_EDEFAULT);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS:
+ setDelimitedIdentifiers(DELIMITED_IDENTIFIERS_EDEFAULT);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST:
+ setCascadePersist(CASCADE_PERSIST_EDEFAULT);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS:
+ setEntityListeners((EntityListeners)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS:
+ return ACCESS_EDEFAULT == null ? access != null : !ACCESS_EDEFAULT.equals(access);
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS:
+ return delimitedIdentifiers != DELIMITED_IDENTIFIERS_EDEFAULT;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST:
+ return cascadePersist != CASCADE_PERSIST_EDEFAULT;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS:
+ return entityListeners != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlPersistenceUnitDefaults_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION: return OrmV2_0Package.XML_PERSISTENCE_UNIT_DEFAULTS_20__DESCRIPTION;
+ case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS: return OrmV2_0Package.XML_PERSISTENCE_UNIT_DEFAULTS_20__DELIMITED_IDENTIFIERS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlPersistenceUnitDefaults_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_PERSISTENCE_UNIT_DEFAULTS_20__DESCRIPTION: return OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION;
+ case OrmV2_0Package.XML_PERSISTENCE_UNIT_DEFAULTS_20__DELIMITED_IDENTIFIERS: return OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (access: ");
+ result.append(access);
+ result.append(", description: ");
+ result.append(description);
+ result.append(", delimitedIdentifiers: ");
+ result.append(delimitedIdentifiers);
+ result.append(", schema: ");
+ result.append(schema);
+ result.append(", catalog: ");
+ result.append(catalog);
+ result.append(", cascadePersist: ");
+ result.append(cascadePersist);
+ result.append(')');
+ return result.toString();
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildDescriptionTranslator(),
+ buildSchemaTranslator(),
+ buildCatalogTranslator(),
+ buildDelimitedIdentifiersTranslator(),
+ buildAccessTranslator(),
+ buildCascadePersistTranslator(),
+ buildEntityListenersTranslator()
+ };
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlPersistenceUnitDefaults_2_0_Description());
+ }
+
+ protected static Translator buildSchemaTranslator() {
+ return new Translator(JPA.SCHEMA, OrmPackage.eINSTANCE.getXmlPersistenceUnitDefaults_Schema());
+ }
+
+ protected static Translator buildCatalogTranslator() {
+ return new Translator(JPA.CATALOG, OrmPackage.eINSTANCE.getXmlPersistenceUnitDefaults_Catalog());
+ }
+
+ protected static Translator buildDelimitedIdentifiersTranslator() {
+ return new EmptyTagBooleanTranslator(JPA2_0.DELIMITIED_IDENTIFIERS, OrmV2_0Package.eINSTANCE.getXmlPersistenceUnitDefaults_2_0_DelimitedIdentifiers());
+ }
+
+ protected static Translator buildAccessTranslator() {
+ return new Translator(JPA.ACCESS, OrmPackage.eINSTANCE.getXmlAccessHolder_Access());
+ }
+
+ protected static Translator buildCascadePersistTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.CASCADE_PERSIST, OrmPackage.eINSTANCE.getXmlPersistenceUnitDefaults_CascadePersist());
+ }
+
+ protected static Translator buildEntityListenersTranslator() {
+ return EntityListeners.buildTranslator(JPA.ENTITY_LISTENERS, OrmPackage.eINSTANCE.getXmlPersistenceUnitDefaults_EntityListeners());
+ }
+
+ // *********** content assist *********
+
+ public boolean schemaTouches(int pos) {
+ TextRange textRange = this.getElementCodeAssistTextRange(JPA.SCHEMA);
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+ public boolean catalogTouches(int pos) {
+ TextRange textRange = this.getElementCodeAssistTextRange(JPA.CATALOG);
+ return (textRange != null) && (textRange.touches(pos));
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitMetadata.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitMetadata.java
new file mode 100644
index 0000000000..6f92ab2d09
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitMetadata.java
@@ -0,0 +1,393 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.jpt.common.core.internal.utility.translators.EmptyTagBooleanTranslator;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>XmlPersistence Unit Metadata</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#isXmlMappingMetadataComplete <em>Xml Mapping Metadata Complete</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#getPersistenceUnitDefaults <em>Persistence Unit Defaults</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitMetadata()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlPersistenceUnitMetadata extends EBaseObjectImpl implements XmlPersistenceUnitMetadata_2_0
+{
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isXmlMappingMetadataComplete() <em>Xml Mapping Metadata Complete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlMappingMetadataComplete()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_MAPPING_METADATA_COMPLETE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isXmlMappingMetadataComplete() <em>Xml Mapping Metadata Complete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlMappingMetadataComplete()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlMappingMetadataComplete = XML_MAPPING_METADATA_COMPLETE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPersistenceUnitDefaults() <em>Persistence Unit Defaults</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPersistenceUnitDefaults()
+ * @generated
+ * @ordered
+ */
+ protected XmlPersistenceUnitDefaults persistenceUnitDefaults;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlPersistenceUnitMetadata()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_PERSISTENCE_UNIT_METADATA;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitMetadata_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_METADATA__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Mapping Metadata Complete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Mapping Metadata Complete</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Mapping Metadata Complete</em>' attribute.
+ * @see #setXmlMappingMetadataComplete(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitMetadata_XmlMappingMetadataComplete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isXmlMappingMetadataComplete()
+ {
+ return xmlMappingMetadataComplete;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#isXmlMappingMetadataComplete <em>Xml Mapping Metadata Complete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Mapping Metadata Complete</em>' attribute.
+ * @see #isXmlMappingMetadataComplete()
+ * @generated
+ */
+ public void setXmlMappingMetadataComplete(boolean newXmlMappingMetadataComplete)
+ {
+ boolean oldXmlMappingMetadataComplete = xmlMappingMetadataComplete;
+ xmlMappingMetadataComplete = newXmlMappingMetadataComplete;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE, oldXmlMappingMetadataComplete, xmlMappingMetadataComplete));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Persistence Unit Defaults</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>XmlPersistence Unit Defaults</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>Persistence Unit Defaults</em>' containment reference.
+ * @see #setPersistenceUnitDefaults(XmlPersistenceUnitDefaults)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitMetadata_PersistenceUnitDefaults()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlPersistenceUnitDefaults getPersistenceUnitDefaults()
+ {
+ return persistenceUnitDefaults;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPersistenceUnitDefaults(XmlPersistenceUnitDefaults newPersistenceUnitDefaults, NotificationChain msgs)
+ {
+ XmlPersistenceUnitDefaults oldPersistenceUnitDefaults = persistenceUnitDefaults;
+ persistenceUnitDefaults = newPersistenceUnitDefaults;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS, oldPersistenceUnitDefaults, newPersistenceUnitDefaults);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#getPersistenceUnitDefaults <em>Persistence Unit Defaults</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Persistence Unit Defaults</em>' containment reference.
+ * @see #getPersistenceUnitDefaults()
+ * @generated
+ */
+ public void setPersistenceUnitDefaults(XmlPersistenceUnitDefaults newPersistenceUnitDefaults)
+ {
+ if (newPersistenceUnitDefaults != persistenceUnitDefaults)
+ {
+ NotificationChain msgs = null;
+ if (persistenceUnitDefaults != null)
+ msgs = ((InternalEObject)persistenceUnitDefaults).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS, null, msgs);
+ if (newPersistenceUnitDefaults != null)
+ msgs = ((InternalEObject)newPersistenceUnitDefaults).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS, null, msgs);
+ msgs = basicSetPersistenceUnitDefaults(newPersistenceUnitDefaults, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS, newPersistenceUnitDefaults, newPersistenceUnitDefaults));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS:
+ return basicSetPersistenceUnitDefaults(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 OrmPackage.XML_PERSISTENCE_UNIT_METADATA__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE:
+ return isXmlMappingMetadataComplete();
+ case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS:
+ return getPersistenceUnitDefaults();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE:
+ setXmlMappingMetadataComplete((Boolean)newValue);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS:
+ setPersistenceUnitDefaults((XmlPersistenceUnitDefaults)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE:
+ setXmlMappingMetadataComplete(XML_MAPPING_METADATA_COMPLETE_EDEFAULT);
+ return;
+ case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS:
+ setPersistenceUnitDefaults((XmlPersistenceUnitDefaults)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE:
+ return xmlMappingMetadataComplete != XML_MAPPING_METADATA_COMPLETE_EDEFAULT;
+ case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS:
+ return persistenceUnitDefaults != 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(" (description: ");
+ result.append(description);
+ result.append(", xmlMappingMetadataComplete: ");
+ result.append(xmlMappingMetadataComplete);
+ result.append(')');
+ return result.toString();
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildDescriptionTranslator(),
+ buildXmlMappingMetadataCompleteTranslator(),
+ XmlPersistenceUnitDefaults.buildTranslator(JPA.PERSISTENCE_UNIT_DEFAULTS, OrmPackage.eINSTANCE.getXmlPersistenceUnitMetadata_PersistenceUnitDefaults())
+ };
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlPersistenceUnitMetadata_2_0_Description());
+ }
+
+ protected static Translator buildXmlMappingMetadataCompleteTranslator() {
+ return new EmptyTagBooleanTranslator(JPA.XML_MAPPING_METADATA_COMPLETE, OrmPackage.eINSTANCE.getXmlPersistenceUnitMetadata_XmlMappingMetadataComplete());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumn.java
new file mode 100644
index 0000000000..dcaa86b651
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumn.java
@@ -0,0 +1,273 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Primary Key Join Column Impl</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumn()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlPrimaryKeyJoinColumn extends AbstractXmlNamedColumn implements XmlBaseJoinColumn
+{
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlPrimaryKeyJoinColumn()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_PRIMARY_KEY_JOIN_COLUMN;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseJoinColumn_ReferencedColumnName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getReferencedColumnName()
+ {
+ return referencedColumnName;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn#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
+ */
+ public void setReferencedColumnName(String newReferencedColumnName)
+ {
+ String oldReferencedColumnName = referencedColumnName;
+ referencedColumnName = newReferencedColumnName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME, oldReferencedColumnName, referencedColumnName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ return getReferencedColumnName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ setReferencedColumnName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ setReferencedColumnName(REFERENCED_COLUMN_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ return REFERENCED_COLUMN_NAME_EDEFAULT == null ? referencedColumnName != null : !REFERENCED_COLUMN_NAME_EDEFAULT.equals(referencedColumnName);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlBaseJoinColumn.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME: return OrmPackage.XML_BASE_JOIN_COLUMN__REFERENCED_COLUMN_NAME;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlBaseJoinColumn.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_BASE_JOIN_COLUMN__REFERENCED_COLUMN_NAME: return OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (referencedColumnName: ");
+ result.append(referencedColumnName);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getReferencedColumnNameTextRange() {
+ return getAttributeTextRange(JPA.REFERENCED_COLUMN_NAME);
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren()
+ );
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildReferencedColumnNameTranslator(),
+ buildColumnDefinitionTranslator(),
+ };
+ }
+
+ protected static Translator buildReferencedColumnNameTranslator() {
+ return new Translator(JPA.REFERENCED_COLUMN_NAME, OrmPackage.eINSTANCE.getXmlBaseJoinColumn_ReferencedColumnName(), Translator.DOM_ATTRIBUTE);
+ }
+
+ // *********** content assist ***********
+
+ public TextRange getReferencedColumnNameCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.REFERENCED_COLUMN_NAME);
+ }
+
+ public boolean referencedColumnNameTouches(int pos) {
+ TextRange textRange = this.getReferencedColumnNameCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+} // XmlPrimaryKeyJoinColumnImpl
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumnContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumnContainer.java
new file mode 100644
index 0000000000..c656b92222
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumnContainer.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Primary Key Join Column Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumnContainer()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlPrimaryKeyJoinColumnContainer extends EBaseObject
+{
+ /**
+ * 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.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumnContainer_PrimaryKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlPrimaryKeyJoinColumn> getPrimaryKeyJoinColumns();
+
+} // XmlPrimaryKeyJoinColumnContainer
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQuery.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQuery.java
new file mode 100644
index 0000000000..c992ed88cf
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQuery.java
@@ -0,0 +1,126 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getHints <em>Hints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlQuery extends XmlQuery_2_0
+{
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#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>Query</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Query</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Query</em>' attribute.
+ * @see #setQuery(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Query()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getQuery();
+
+ String getActualQuery();
+
+ /**
+ * Returns the value of the '<em><b>Query</b></em>' element, including the whitespace before the
+ * JPQL query.
+ */
+ int getQueryOffset();
+
+ /**
+ * Determines whether the JPQL query is inside a CDATA section.
+ */
+ boolean isQueryInsideCDATASection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getQuery <em>Query</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Query</em>' attribute.
+ * @see #getQuery()
+ * @generated
+ */
+ void setQuery(String value);
+
+ /**
+ * Returns the value of the '<em><b>Hints</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hints</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>Hints</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Hints()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlQueryHint> getHints();
+
+ TextRange getNameTextRange();
+
+ TextRange getQueryTextRange();
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryContainer.java
new file mode 100644
index 0000000000..583e89ade4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryContainer.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Queries Holder</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer#getNamedQueries <em>Named Queries</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer#getNamedNativeQueries <em>Named Native Queries</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlQueryContainer extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Named Queries</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Named Queries</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>Named Queries</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer_NamedQueries()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlNamedQuery> getNamedQueries();
+
+ /**
+ * Returns the value of the '<em><b>Named Native Queries</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Named Native Queries</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>Named Native Queries</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer_NamedNativeQueries()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlNamedNativeQuery> getNamedNativeQueries();
+
+} // XmlQueriesHolder
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryHint.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryHint.java
new file mode 100644
index 0000000000..e8d04c4931
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryHint.java
@@ -0,0 +1,366 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query Hint</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryHint()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlQueryHint extends EBaseObjectImpl implements XmlQueryHint_2_0
+{
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The 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 XmlQueryHint()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_QUERY_HINT;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryHint_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_QUERY_HINT__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryHint_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_QUERY_HINT__NAME, oldName, name));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryHint_Value()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#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
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_QUERY_HINT__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_QUERY_HINT__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.XML_QUERY_HINT__NAME:
+ return getName();
+ case OrmPackage.XML_QUERY_HINT__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 OrmPackage.XML_QUERY_HINT__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.XML_QUERY_HINT__NAME:
+ setName((String)newValue);
+ return;
+ case OrmPackage.XML_QUERY_HINT__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 OrmPackage.XML_QUERY_HINT__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.XML_QUERY_HINT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OrmPackage.XML_QUERY_HINT__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_QUERY_HINT__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.XML_QUERY_HINT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OrmPackage.XML_QUERY_HINT__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(" (description: ");
+ result.append(description);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildValueTranslator(),
+ buildDescriptionTranslator()
+ };
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlQueryHint_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildValueTranslator() {
+ return new Translator(JPA.VALUE, OrmPackage.eINSTANCE.getXmlQueryHint_Value(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA2_0.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlQueryHint_2_0_Description());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlReferenceTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlReferenceTable.java
new file mode 100644
index 0000000000..0272a18583
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlReferenceTable.java
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Reference Table</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable#getJoinColumns <em>Join Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlReferenceTable()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlReferenceTable extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlReferenceTable_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlJoinColumn> getJoinColumns();
+
+} // XmlReferenceTable
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSecondaryTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSecondaryTable.java
new file mode 100644
index 0000000000..6571012254
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSecondaryTable.java
@@ -0,0 +1,205 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Secondary Table Impl</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSecondaryTable()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlSecondaryTable extends AbstractXmlTable
+{
+ /**
+ * 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<XmlPrimaryKeyJoinColumn> primaryKeyJoinColumns;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlSecondaryTable()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_SECONDARY_TABLE;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlSecondaryTable_PrimaryKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlPrimaryKeyJoinColumn> getPrimaryKeyJoinColumns()
+ {
+ if (primaryKeyJoinColumns == null)
+ {
+ primaryKeyJoinColumns = new EObjectContainmentEList<XmlPrimaryKeyJoinColumn>(XmlPrimaryKeyJoinColumn.class, this, OrmPackage.XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS);
+ }
+ return primaryKeyJoinColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS:
+ return ((InternalEList<?>)getPrimaryKeyJoinColumns()).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 OrmPackage.XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS:
+ return getPrimaryKeyJoinColumns();
+ }
+ 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 OrmPackage.XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS:
+ getPrimaryKeyJoinColumns().clear();
+ getPrimaryKeyJoinColumns().addAll((Collection<? extends XmlPrimaryKeyJoinColumn>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS:
+ getPrimaryKeyJoinColumns().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS:
+ return primaryKeyJoinColumns != null && !primaryKeyJoinColumns.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildCatalogTranslator(),
+ buildSchemaTranslator(),
+ buildPrimaryKeyJoinColumnsTranslator(),
+ buildUniqueConstraintTranslator()
+ };
+ }
+
+ protected static Translator buildPrimaryKeyJoinColumnsTranslator() {
+ return XmlPrimaryKeyJoinColumn.buildTranslator(JPA.PRIMARY_KEY_JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlSecondaryTable_PrimaryKeyJoinColumns());
+ }
+
+} // XmlSecondaryTableImpl
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSequenceGenerator.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSequenceGenerator.java
new file mode 100644
index 0000000000..e9891ce975
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSequenceGenerator.java
@@ -0,0 +1,731 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Generator</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#getSequenceName <em>Sequence Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSequenceGenerator()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlSequenceGenerator extends EBaseObjectImpl implements XmlGenerator, XmlSequenceGenerator_2_0
+{
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getInitialValue() <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitialValue()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer INITIAL_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInitialValue() <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitialValue()
+ * @generated
+ * @ordered
+ */
+ protected Integer initialValue = INITIAL_VALUE_EDEFAULT;
+
+ /**
+ * 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 Integer ALLOCATION_SIZE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAllocationSize() <em>Allocation Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllocationSize()
+ * @generated
+ * @ordered
+ */
+ protected Integer allocationSize = ALLOCATION_SIZE_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 #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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlSequenceGenerator()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_SEQUENCE_GENERATOR;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_SEQUENCE_GENERATOR__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_SEQUENCE_GENERATOR__NAME, oldName, name));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlSequenceGenerator_SequenceName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getSequenceName()
+ {
+ return sequenceName;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#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
+ */
+ public void setSequenceName(String newSequenceName)
+ {
+ String oldSequenceName = sequenceName;
+ sequenceName = newSequenceName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_SEQUENCE_GENERATOR__SEQUENCE_NAME, oldSequenceName, sequenceName));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Initial Value</b></em>' attribute.
+ * <!-- 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(Integer)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_InitialValue()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ public Integer getInitialValue()
+ {
+ return initialValue;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#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
+ */
+ public void setInitialValue(Integer newInitialValue)
+ {
+ Integer oldInitialValue = initialValue;
+ initialValue = newInitialValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_SEQUENCE_GENERATOR__INITIAL_VALUE, oldInitialValue, initialValue));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Allocation Size</b></em>' attribute.
+ * <!-- 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(Integer)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_AllocationSize()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ public Integer getAllocationSize()
+ {
+ return allocationSize;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#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
+ */
+ public void setAllocationSize(Integer newAllocationSize)
+ {
+ Integer oldAllocationSize = allocationSize;
+ allocationSize = newAllocationSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_SEQUENCE_GENERATOR__ALLOCATION_SIZE, oldAllocationSize, allocationSize));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlSequenceGenerator_2_0_Catalog()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getCatalog()
+ {
+ return catalog;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#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
+ */
+ public void setCatalog(String newCatalog)
+ {
+ String oldCatalog = catalog;
+ catalog = newCatalog;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG, oldCatalog, catalog));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlSequenceGenerator_2_0_Schema()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getSchema()
+ {
+ return schema;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#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
+ */
+ public void setSchema(String newSchema)
+ {
+ String oldSchema = schema;
+ schema = newSchema;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA, oldSchema, schema));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_SEQUENCE_GENERATOR__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.XML_SEQUENCE_GENERATOR__NAME:
+ return getName();
+ case OrmPackage.XML_SEQUENCE_GENERATOR__INITIAL_VALUE:
+ return getInitialValue();
+ case OrmPackage.XML_SEQUENCE_GENERATOR__ALLOCATION_SIZE:
+ return getAllocationSize();
+ case OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG:
+ return getCatalog();
+ case OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA:
+ return getSchema();
+ case OrmPackage.XML_SEQUENCE_GENERATOR__SEQUENCE_NAME:
+ return getSequenceName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_SEQUENCE_GENERATOR__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.XML_SEQUENCE_GENERATOR__NAME:
+ setName((String)newValue);
+ return;
+ case OrmPackage.XML_SEQUENCE_GENERATOR__INITIAL_VALUE:
+ setInitialValue((Integer)newValue);
+ return;
+ case OrmPackage.XML_SEQUENCE_GENERATOR__ALLOCATION_SIZE:
+ setAllocationSize((Integer)newValue);
+ return;
+ case OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case OrmPackage.XML_SEQUENCE_GENERATOR__SEQUENCE_NAME:
+ setSequenceName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_SEQUENCE_GENERATOR__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.XML_SEQUENCE_GENERATOR__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OrmPackage.XML_SEQUENCE_GENERATOR__INITIAL_VALUE:
+ setInitialValue(INITIAL_VALUE_EDEFAULT);
+ return;
+ case OrmPackage.XML_SEQUENCE_GENERATOR__ALLOCATION_SIZE:
+ setAllocationSize(ALLOCATION_SIZE_EDEFAULT);
+ return;
+ case OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case OrmPackage.XML_SEQUENCE_GENERATOR__SEQUENCE_NAME:
+ setSequenceName(SEQUENCE_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_SEQUENCE_GENERATOR__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.XML_SEQUENCE_GENERATOR__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OrmPackage.XML_SEQUENCE_GENERATOR__INITIAL_VALUE:
+ return INITIAL_VALUE_EDEFAULT == null ? initialValue != null : !INITIAL_VALUE_EDEFAULT.equals(initialValue);
+ case OrmPackage.XML_SEQUENCE_GENERATOR__ALLOCATION_SIZE:
+ return ALLOCATION_SIZE_EDEFAULT == null ? allocationSize != null : !ALLOCATION_SIZE_EDEFAULT.equals(allocationSize);
+ case OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case OrmPackage.XML_SEQUENCE_GENERATOR__SEQUENCE_NAME:
+ return SEQUENCE_NAME_EDEFAULT == null ? sequenceName != null : !SEQUENCE_NAME_EDEFAULT.equals(sequenceName);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlSequenceGenerator_2_0.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG: return OrmV2_0Package.XML_SEQUENCE_GENERATOR_20__CATALOG;
+ case OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA: return OrmV2_0Package.XML_SEQUENCE_GENERATOR_20__SCHEMA;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlSequenceGenerator_2_0.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmV2_0Package.XML_SEQUENCE_GENERATOR_20__CATALOG: return OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG;
+ case OrmV2_0Package.XML_SEQUENCE_GENERATOR_20__SCHEMA: return OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (description: ");
+ result.append(description);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", initialValue: ");
+ result.append(initialValue);
+ result.append(", allocationSize: ");
+ result.append(allocationSize);
+ result.append(", catalog: ");
+ result.append(catalog);
+ result.append(", schema: ");
+ result.append(schema);
+ result.append(", sequenceName: ");
+ result.append(sequenceName);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getNameTextRange() {
+ return getAttributeTextRange(JPA.NAME);
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildSequenceNameTranslator(),
+ buildInitialValueTranslator(),
+ buildAllocationSizeTranslator(),
+ buildCatalogTranslator(),
+ buildSchemaTranslator(),
+ buildDescriptionTranslator(),
+ };
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlGenerator_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildSequenceNameTranslator() {
+ return new Translator(JPA.SEQUENCE_NAME, OrmPackage.eINSTANCE.getXmlSequenceGenerator_SequenceName(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildInitialValueTranslator() {
+ return new Translator(JPA.INITIAL_VALUE, OrmPackage.eINSTANCE.getXmlGenerator_InitialValue(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildAllocationSizeTranslator() {
+ return new Translator(JPA.ALLOCATION_SIZE, OrmPackage.eINSTANCE.getXmlGenerator_AllocationSize(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlGenerator_2_0_Description());
+ }
+
+ protected static Translator buildCatalogTranslator() {
+ return new Translator(JPA.CATALOG, OrmV2_0Package.eINSTANCE.getXmlSequenceGenerator_2_0_Catalog(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildSchemaTranslator() {
+ return new Translator(JPA.SCHEMA, OrmV2_0Package.eINSTANCE.getXmlSequenceGenerator_2_0_Schema(), Translator.DOM_ATTRIBUTE);
+ }
+
+ // *********** content assist ****************
+
+ public TextRange getSequenceNameCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.SEQUENCE_NAME);
+ }
+
+ public TextRange getSchemaCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.SCHEMA);
+ }
+
+ public TextRange getCatalogCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.CATALOG);
+ }
+
+ public boolean sequenceNameTouches(int pos) {
+ TextRange textRange = this.getSequenceNameCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+ public boolean schemaTouches(int pos) {
+ TextRange textRange = this.getSchemaCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+ public boolean catalogTouches(int pos) {
+ TextRange textRange = this.getCatalogCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTable.java
new file mode 100644
index 0000000000..76c9db8b4f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTable.java
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Table</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTable()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlTable extends AbstractXmlTable
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlTable()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_TABLE;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildCatalogTranslator(),
+ buildSchemaTranslator(),
+ buildUniqueConstraintTranslator()
+ };
+ }
+
+} // Table
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTableGenerator.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTableGenerator.java
new file mode 100644
index 0000000000..6140e6bb7d
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTableGenerator.java
@@ -0,0 +1,994 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Table Generator</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getTable <em>Table</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getPkColumnName <em>Pk Column Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getValueColumnName <em>Value Column Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getPkColumnValue <em>Pk Column Value</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getUniqueConstraints <em>Unique Constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlTableGenerator extends EBaseObjectImpl implements XmlGenerator
+{
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getInitialValue() <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitialValue()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer INITIAL_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInitialValue() <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitialValue()
+ * @generated
+ * @ordered
+ */
+ protected Integer initialValue = INITIAL_VALUE_EDEFAULT;
+
+ /**
+ * 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 Integer ALLOCATION_SIZE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAllocationSize() <em>Allocation Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllocationSize()
+ * @generated
+ * @ordered
+ */
+ protected Integer allocationSize = ALLOCATION_SIZE_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 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<XmlUniqueConstraint> uniqueConstraints;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlTableGenerator()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_TABLE_GENERATOR;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__NAME, oldName, name));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_Table()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getTable()
+ {
+ return table;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#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
+ */
+ public void setTable(String newTable)
+ {
+ String oldTable = table;
+ table = newTable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__TABLE, oldTable, table));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_Catalog()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getCatalog()
+ {
+ return catalog;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#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
+ */
+ public void setCatalog(String newCatalog)
+ {
+ String oldCatalog = catalog;
+ catalog = newCatalog;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__CATALOG, oldCatalog, catalog));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_Schema()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getSchema()
+ {
+ return schema;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#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
+ */
+ public void setSchema(String newSchema)
+ {
+ String oldSchema = schema;
+ schema = newSchema;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__SCHEMA, oldSchema, schema));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_PkColumnName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getPkColumnName()
+ {
+ return pkColumnName;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#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
+ */
+ public void setPkColumnName(String newPkColumnName)
+ {
+ String oldPkColumnName = pkColumnName;
+ pkColumnName = newPkColumnName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_NAME, oldPkColumnName, pkColumnName));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_ValueColumnName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getValueColumnName()
+ {
+ return valueColumnName;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#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
+ */
+ public void setValueColumnName(String newValueColumnName)
+ {
+ String oldValueColumnName = valueColumnName;
+ valueColumnName = newValueColumnName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__VALUE_COLUMN_NAME, oldValueColumnName, valueColumnName));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_PkColumnValue()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getPkColumnValue()
+ {
+ return pkColumnValue;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#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
+ */
+ public void setPkColumnValue(String newPkColumnValue)
+ {
+ String oldPkColumnValue = pkColumnValue;
+ pkColumnValue = newPkColumnValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_VALUE, oldPkColumnValue, pkColumnValue));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Initial Value</b></em>' attribute.
+ * <!-- 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(Integer)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_InitialValue()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ public Integer getInitialValue()
+ {
+ return initialValue;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#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
+ */
+ public void setInitialValue(Integer newInitialValue)
+ {
+ Integer oldInitialValue = initialValue;
+ initialValue = newInitialValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__INITIAL_VALUE, oldInitialValue, initialValue));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Allocation Size</b></em>' attribute.
+ * <!-- 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(Integer)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_AllocationSize()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ public Integer getAllocationSize()
+ {
+ return allocationSize;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#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
+ */
+ public void setAllocationSize(Integer newAllocationSize)
+ {
+ Integer oldAllocationSize = allocationSize;
+ allocationSize = newAllocationSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__ALLOCATION_SIZE, oldAllocationSize, allocationSize));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint}.
+ * <!-- 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_UniqueConstraints()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlUniqueConstraint> getUniqueConstraints()
+ {
+ if (uniqueConstraints == null)
+ {
+ uniqueConstraints = new EObjectContainmentEList<XmlUniqueConstraint>(XmlUniqueConstraint.class, this, OrmPackage.XML_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 OrmPackage.XML_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 OrmPackage.XML_TABLE_GENERATOR__DESCRIPTION:
+ return getDescription();
+ case OrmPackage.XML_TABLE_GENERATOR__NAME:
+ return getName();
+ case OrmPackage.XML_TABLE_GENERATOR__INITIAL_VALUE:
+ return getInitialValue();
+ case OrmPackage.XML_TABLE_GENERATOR__ALLOCATION_SIZE:
+ return getAllocationSize();
+ case OrmPackage.XML_TABLE_GENERATOR__TABLE:
+ return getTable();
+ case OrmPackage.XML_TABLE_GENERATOR__CATALOG:
+ return getCatalog();
+ case OrmPackage.XML_TABLE_GENERATOR__SCHEMA:
+ return getSchema();
+ case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_NAME:
+ return getPkColumnName();
+ case OrmPackage.XML_TABLE_GENERATOR__VALUE_COLUMN_NAME:
+ return getValueColumnName();
+ case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_VALUE:
+ return getPkColumnValue();
+ case OrmPackage.XML_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 OrmPackage.XML_TABLE_GENERATOR__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__NAME:
+ setName((String)newValue);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__INITIAL_VALUE:
+ setInitialValue((Integer)newValue);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__ALLOCATION_SIZE:
+ setAllocationSize((Integer)newValue);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__TABLE:
+ setTable((String)newValue);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_NAME:
+ setPkColumnName((String)newValue);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__VALUE_COLUMN_NAME:
+ setValueColumnName((String)newValue);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_VALUE:
+ setPkColumnValue((String)newValue);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS:
+ getUniqueConstraints().clear();
+ getUniqueConstraints().addAll((Collection<? extends XmlUniqueConstraint>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_TABLE_GENERATOR__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__INITIAL_VALUE:
+ setInitialValue(INITIAL_VALUE_EDEFAULT);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__ALLOCATION_SIZE:
+ setAllocationSize(ALLOCATION_SIZE_EDEFAULT);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__TABLE:
+ setTable(TABLE_EDEFAULT);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_NAME:
+ setPkColumnName(PK_COLUMN_NAME_EDEFAULT);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__VALUE_COLUMN_NAME:
+ setValueColumnName(VALUE_COLUMN_NAME_EDEFAULT);
+ return;
+ case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_VALUE:
+ setPkColumnValue(PK_COLUMN_VALUE_EDEFAULT);
+ return;
+ case OrmPackage.XML_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 OrmPackage.XML_TABLE_GENERATOR__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case OrmPackage.XML_TABLE_GENERATOR__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OrmPackage.XML_TABLE_GENERATOR__INITIAL_VALUE:
+ return INITIAL_VALUE_EDEFAULT == null ? initialValue != null : !INITIAL_VALUE_EDEFAULT.equals(initialValue);
+ case OrmPackage.XML_TABLE_GENERATOR__ALLOCATION_SIZE:
+ return ALLOCATION_SIZE_EDEFAULT == null ? allocationSize != null : !ALLOCATION_SIZE_EDEFAULT.equals(allocationSize);
+ case OrmPackage.XML_TABLE_GENERATOR__TABLE:
+ return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table);
+ case OrmPackage.XML_TABLE_GENERATOR__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case OrmPackage.XML_TABLE_GENERATOR__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_NAME:
+ return PK_COLUMN_NAME_EDEFAULT == null ? pkColumnName != null : !PK_COLUMN_NAME_EDEFAULT.equals(pkColumnName);
+ case OrmPackage.XML_TABLE_GENERATOR__VALUE_COLUMN_NAME:
+ return VALUE_COLUMN_NAME_EDEFAULT == null ? valueColumnName != null : !VALUE_COLUMN_NAME_EDEFAULT.equals(valueColumnName);
+ case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_VALUE:
+ return PK_COLUMN_VALUE_EDEFAULT == null ? pkColumnValue != null : !PK_COLUMN_VALUE_EDEFAULT.equals(pkColumnValue);
+ case OrmPackage.XML_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(" (description: ");
+ result.append(description);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", initialValue: ");
+ result.append(initialValue);
+ result.append(", allocationSize: ");
+ result.append(allocationSize);
+ 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(')');
+ return result.toString();
+ }
+
+ public TextRange getNameTextRange() {
+ return getAttributeTextRange(JPA.NAME);
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildTableTranslator(),
+ buildCatalogTranslator(),
+ buildSchemaTranslator(),
+ buildPkColumnNameTranslator(),
+ buildValueColumnNameTranslator(),
+ buildPkColumnValueTranslator(),
+ buildInitialValueTranslator(),
+ buildAllocationSizeTranslator(),
+ buildDescriptionTranslator(),
+ XmlUniqueConstraint.buildTranslator(JPA.UNIQUE_CONSTRAINT, OrmPackage.eINSTANCE.getXmlTableGenerator_UniqueConstraints())
+ };
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlGenerator_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildTableTranslator() {
+ return new Translator(JPA.TABLE, OrmPackage.eINSTANCE.getXmlTableGenerator_Table(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildCatalogTranslator() {
+ return new Translator(JPA.CATALOG, OrmPackage.eINSTANCE.getXmlTableGenerator_Catalog(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildSchemaTranslator() {
+ return new Translator(JPA.SCHEMA, OrmPackage.eINSTANCE.getXmlTableGenerator_Schema(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildPkColumnNameTranslator() {
+ return new Translator(JPA.PK_COLUMN_NAME, OrmPackage.eINSTANCE.getXmlTableGenerator_PkColumnName(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildValueColumnNameTranslator() {
+ return new Translator(JPA.VALUE_COLUMN_NAME, OrmPackage.eINSTANCE.getXmlTableGenerator_ValueColumnName(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildPkColumnValueTranslator() {
+ return new Translator(JPA.PK_COLUMN_VALUE, OrmPackage.eINSTANCE.getXmlTableGenerator_PkColumnValue(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildInitialValueTranslator() {
+ return new Translator(JPA.INITIAL_VALUE, OrmPackage.eINSTANCE.getXmlGenerator_InitialValue(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildAllocationSizeTranslator() {
+ return new Translator(JPA.ALLOCATION_SIZE, OrmPackage.eINSTANCE.getXmlGenerator_AllocationSize(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(JPA.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlGenerator_2_0_Description());
+ }
+
+ // ************* content assist ***************
+
+ public TextRange getTableCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.TABLE);
+ }
+
+ public TextRange getSchemaCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.SCHEMA);
+ }
+
+ public TextRange getCatalogCodeAssistTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.CATALOG);
+ }
+
+ public TextRange getPKColumnNameTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.PK_COLUMN_NAME);
+ }
+
+ public TextRange getValueColumnNameTextRange() {
+ return getAttributeCodeAssistTextRange(JPA.VALUE_COLUMN_NAME);
+ }
+
+ public boolean tableTouches(int pos) {
+ TextRange textRange = this.getTableCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+ public boolean schemaTouches(int pos) {
+ TextRange textRange = this.getSchemaCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+ public boolean catalogTouches(int pos) {
+ TextRange textRange = this.getCatalogCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+ public boolean pkColumnNameTouches(int pos) {
+ TextRange textRange = this.getPKColumnNameTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+
+ public boolean valueColumnNameTouches(int pos) {
+ TextRange textRange = this.getValueColumnNameTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTransient.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTransient.java
new file mode 100644
index 0000000000..b51d6e800d
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTransient.java
@@ -0,0 +1,77 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Transient</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTransient()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlTransient extends AbstractXmlAttributeMapping
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlTransient()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_TRANSIENT;
+ }
+
+ public String getMappingKey() {
+ return MappingKeys.TRANSIENT_ATTRIBUTE_MAPPING_KEY;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren()
+ );
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator()
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTypeMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTypeMapping.java
new file mode 100644
index 0000000000..79c3414c8d
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTypeMapping.java
@@ -0,0 +1,167 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.text.edits.ReplaceEdit;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Type Mapping</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ *
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getClassName <em>Class Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getMetadataComplete <em>Metadata Complete</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getAttributes <em>Attributes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlTypeMapping extends XmlAccessHolder
+{
+ /**
+ * Returns the value of the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class 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>Class Name</em>' attribute.
+ * @see #setClassName(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_ClassName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getClassName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getClassName <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Class Name</em>' attribute.
+ * @see #getClassName()
+ * @generated
+ */
+ void setClassName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Metadata Complete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Metadata Complete</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Metadata Complete</em>' attribute.
+ * @see #setMetadataComplete(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_MetadataComplete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getMetadataComplete();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getMetadataComplete <em>Metadata Complete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Metadata Complete</em>' attribute.
+ * @see #getMetadataComplete()
+ * @generated
+ */
+ void setMetadataComplete(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Attributes</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Attributes</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>Attributes</em>' containment reference.
+ * @see #setAttributes(Attributes)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_Attributes()
+ * @model containment="true"
+ * @generated
+ */
+ Attributes getAttributes();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getAttributes <em>Attributes</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Attributes</em>' containment reference.
+ * @see #getAttributes()
+ * @generated
+ */
+ void setAttributes(Attributes value);
+
+ TextRange getClassTextRange();
+
+ TextRange getAttributesTextRange();
+
+ TextRange getNameTextRange();
+
+ //TODO not happy with this, or the corresponding one in XmlAttributeMapping
+ String getMappingKey();
+
+
+ // ********** refactoring **********
+
+ ReplaceEdit createRenameTypeEdit(IType originalType, String newName);
+
+ ReplaceEdit createRenamePackageEdit(String newName);
+
+ // ********** content assist *********
+
+ boolean classNameTouches(int pos);
+} // XmlTypeMapping
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlUniqueConstraint.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlUniqueConstraint.java
new file mode 100644
index 0000000000..70390a6763
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlUniqueConstraint.java
@@ -0,0 +1,286 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unique Constraint</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint#getColumnNames <em>Column Names</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlUniqueConstraint()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlUniqueConstraint extends EBaseObjectImpl implements XmlUniqueConstraint_2_0
+{
+ /**
+ * 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 #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 XmlUniqueConstraint()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_UNIQUE_CONSTRAINT;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlUniqueConstraint_2_0_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_UNIQUE_CONSTRAINT__NAME, oldName, name));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.orm.OrmPackage#getXmlUniqueConstraint_ColumnNames()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public EList<String> getColumnNames()
+ {
+ if (columnNames == null)
+ {
+ columnNames = new EDataTypeEList<String>(String.class, this, OrmPackage.XML_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 OrmPackage.XML_UNIQUE_CONSTRAINT__NAME:
+ return getName();
+ case OrmPackage.XML_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 OrmPackage.XML_UNIQUE_CONSTRAINT__NAME:
+ setName((String)newValue);
+ return;
+ case OrmPackage.XML_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 OrmPackage.XML_UNIQUE_CONSTRAINT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OrmPackage.XML_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 OrmPackage.XML_UNIQUE_CONSTRAINT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OrmPackage.XML_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(" (name: ");
+ result.append(name);
+ result.append(", columnNames: ");
+ result.append(columnNames);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildColumnNameTranslator(),
+ };
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(JPA.NAME, OrmV2_0Package.eINSTANCE.getXmlUniqueConstraint_2_0_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildColumnNameTranslator() {
+ return new Translator(JPA.COLUMN_NAME, OrmPackage.eINSTANCE.getXmlUniqueConstraint_ColumnNames());
+ }
+
+ // ************ content assist **********
+
+ protected TextRange getColumnNameCodeAssistTextRange() {
+ return this.getElementCodeAssistTextRange(JPA.COLUMN_NAME);
+ }
+
+ public boolean columnNamesTouches(int pos) {
+ TextRange textRange = getColumnNameCodeAssistTextRange();
+ return (textRange != null) && (textRange.touches(pos));
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlVersion.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlVersion.java
new file mode 100644
index 0000000000..d4b466b7f5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlVersion.java
@@ -0,0 +1,523 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+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.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Version</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlVersion()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlVersion extends AbstractXmlAttributeMapping implements ColumnMapping, XmlConvertibleMapping
+{
+ /**
+ * The cached value of the '{@link #getColumn() <em>Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumn()
+ * @generated
+ * @ordered
+ */
+ protected XmlColumn column;
+ /**
+ * The default value of the '{@link #isLob() <em>Lob</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLob()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean LOB_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isLob() <em>Lob</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLob()
+ * @generated
+ * @ordered
+ */
+ protected boolean lob = LOB_EDEFAULT;
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final TemporalType TEMPORAL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTemporal() <em>Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTemporal()
+ * @generated
+ * @ordered
+ */
+ protected TemporalType temporal = TEMPORAL_EDEFAULT;
+ /**
+ * The default value of the '{@link #getEnumerated() <em>Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnumerated()
+ * @generated
+ * @ordered
+ */
+ protected static final EnumType ENUMERATED_EDEFAULT = EnumType.ORDINAL;
+ /**
+ * The cached value of the '{@link #getEnumerated() <em>Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnumerated()
+ * @generated
+ * @ordered
+ */
+ protected EnumType enumerated = ENUMERATED_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlVersion()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_VERSION;
+ }
+
+ /**
+ * 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(XmlColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnMapping_Column()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlColumn getColumn()
+ {
+ return column;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetColumn(XmlColumn newColumn, NotificationChain msgs)
+ {
+ XmlColumn oldColumn = column;
+ column = newColumn;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_VERSION__COLUMN, oldColumn, newColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion#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
+ */
+ public void setColumn(XmlColumn newColumn)
+ {
+ if (newColumn != column)
+ {
+ NotificationChain msgs = null;
+ if (column != null)
+ msgs = ((InternalEObject)column).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_VERSION__COLUMN, null, msgs);
+ if (newColumn != null)
+ msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_VERSION__COLUMN, null, msgs);
+ msgs = basicSetColumn(newColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_VERSION__COLUMN, newColumn, newColumn));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Lob</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lob</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lob</em>' attribute.
+ * @see #setLob(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Lob()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ public boolean isLob()
+ {
+ return lob;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion#isLob <em>Lob</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lob</em>' attribute.
+ * @see #isLob()
+ * @generated
+ */
+ public void setLob(boolean newLob)
+ {
+ boolean oldLob = lob;
+ lob = newLob;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_VERSION__LOB, oldLob, lob));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Temporal</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Temporal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #setTemporal(TemporalType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Temporal()
+ * @model
+ * @generated
+ */
+ public TemporalType getTemporal()
+ {
+ return temporal;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion#getTemporal <em>Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #getTemporal()
+ * @generated
+ */
+ public void setTemporal(TemporalType newTemporal)
+ {
+ TemporalType oldTemporal = temporal;
+ temporal = newTemporal == null ? TEMPORAL_EDEFAULT : newTemporal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_VERSION__TEMPORAL, oldTemporal, temporal));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Enumerated</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.EnumType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enumerated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #setEnumerated(EnumType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Enumerated()
+ * @model
+ * @generated
+ */
+ public EnumType getEnumerated()
+ {
+ return enumerated;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion#getEnumerated <em>Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #getEnumerated()
+ * @generated
+ */
+ public void setEnumerated(EnumType newEnumerated)
+ {
+ EnumType oldEnumerated = enumerated;
+ enumerated = newEnumerated == null ? ENUMERATED_EDEFAULT : newEnumerated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_VERSION__ENUMERATED, oldEnumerated, enumerated));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_VERSION__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 OrmPackage.XML_VERSION__COLUMN:
+ return getColumn();
+ case OrmPackage.XML_VERSION__LOB:
+ return isLob();
+ case OrmPackage.XML_VERSION__TEMPORAL:
+ return getTemporal();
+ case OrmPackage.XML_VERSION__ENUMERATED:
+ return getEnumerated();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_VERSION__COLUMN:
+ setColumn((XmlColumn)newValue);
+ return;
+ case OrmPackage.XML_VERSION__LOB:
+ setLob((Boolean)newValue);
+ return;
+ case OrmPackage.XML_VERSION__TEMPORAL:
+ setTemporal((TemporalType)newValue);
+ return;
+ case OrmPackage.XML_VERSION__ENUMERATED:
+ setEnumerated((EnumType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_VERSION__COLUMN:
+ setColumn((XmlColumn)null);
+ return;
+ case OrmPackage.XML_VERSION__LOB:
+ setLob(LOB_EDEFAULT);
+ return;
+ case OrmPackage.XML_VERSION__TEMPORAL:
+ setTemporal(TEMPORAL_EDEFAULT);
+ return;
+ case OrmPackage.XML_VERSION__ENUMERATED:
+ setEnumerated(ENUMERATED_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_VERSION__COLUMN:
+ return column != null;
+ case OrmPackage.XML_VERSION__LOB:
+ return lob != LOB_EDEFAULT;
+ case OrmPackage.XML_VERSION__TEMPORAL:
+ return temporal != TEMPORAL_EDEFAULT;
+ case OrmPackage.XML_VERSION__ENUMERATED:
+ return enumerated != ENUMERATED_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == ColumnMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_VERSION__COLUMN: return OrmPackage.COLUMN_MAPPING__COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.XML_VERSION__LOB: return OrmPackage.XML_CONVERTIBLE_MAPPING__LOB;
+ case OrmPackage.XML_VERSION__TEMPORAL: return OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL;
+ case OrmPackage.XML_VERSION__ENUMERATED: return OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == ColumnMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.COLUMN_MAPPING__COLUMN: return OrmPackage.XML_VERSION__COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_CONVERTIBLE_MAPPING__LOB: return OrmPackage.XML_VERSION__LOB;
+ case OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL: return OrmPackage.XML_VERSION__TEMPORAL;
+ case OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED: return OrmPackage.XML_VERSION__ENUMERATED;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (lob: ");
+ result.append(lob);
+ result.append(", temporal: ");
+ result.append(temporal);
+ result.append(", enumerated: ");
+ result.append(enumerated);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange getEnumeratedTextRange() {
+ throw new UnsupportedOperationException("enumerated not supported by version mappings");
+ }
+
+ public TextRange getLobTextRange() {
+ throw new UnsupportedOperationException("lob not supported by version mappings");
+ }
+
+ public TextRange getTemporalTextRange() {
+ return getAttributeTextRange(JPA.TEMPORAL);
+ }
+
+ public String getMappingKey() {
+ return MappingKeys.VERSION_ATTRIBUTE_MAPPING_KEY;
+ }
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildAccessTranslator(),
+ buildColumnTranslator(),
+ buildTemporalTranslator(),
+ };
+ }
+
+ protected static Translator buildColumnTranslator() {
+ return XmlColumn.buildTranslator(JPA.COLUMN, OrmPackage.eINSTANCE.getColumnMapping_Column());
+ }
+
+ protected static Translator buildTemporalTranslator() {
+ return new Translator(JPA.TEMPORAL, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Temporal());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/LockModeType_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/LockModeType_2_0.java
new file mode 100644
index 0000000000..e589259108
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/LockModeType_2_0.java
@@ -0,0 +1,397 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+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>Lock Mode Type 20</b></em>',
+ * and utility methods for working with them.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getLockModeType_2_0()
+ * @model
+ * @generated
+ */
+public enum LockModeType_2_0 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>READ</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #READ_VALUE
+ * @generated
+ * @ordered
+ */
+ READ(1, "READ", "READ"),
+
+ /**
+ * The '<em><b>WRITE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #WRITE_VALUE
+ * @generated
+ * @ordered
+ */
+ WRITE(2, "WRITE", "WRITE"),
+
+ /**
+ * The '<em><b>OPTIMISTIC</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OPTIMISTIC_VALUE
+ * @generated
+ * @ordered
+ */
+ OPTIMISTIC(3, "OPTIMISTIC", "OPTIMISTIC"),
+
+ /**
+ * The '<em><b>OPTIMISTIC FORCE INCREMENT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OPTIMISTIC_FORCE_INCREMENT_VALUE
+ * @generated
+ * @ordered
+ */
+ OPTIMISTIC_FORCE_INCREMENT(4, "OPTIMISTIC_FORCE_INCREMENT", "OPTIMISTIC_FORCE_INCREMENT"),
+
+ /**
+ * The '<em><b>PESSIMISTIC READ</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PESSIMISTIC_READ_VALUE
+ * @generated
+ * @ordered
+ */
+ PESSIMISTIC_READ(5, "PESSIMISTIC_READ", "PESSIMISTIC_READ"),
+
+ /**
+ * The '<em><b>PESSIMISTIC WRITE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PESSIMISTIC_WRITE_VALUE
+ * @generated
+ * @ordered
+ */
+ PESSIMISTIC_WRITE(6, "PESSIMISTIC_WRITE", "PESSIMISTIC_WRITE"),
+
+ /**
+ * The '<em><b>PESSIMISTIC FORCE INCREMENT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PESSIMISTIC_FORCE_INCREMENT_VALUE
+ * @generated
+ * @ordered
+ */
+ PESSIMISTIC_FORCE_INCREMENT(7, "PESSIMISTIC_FORCE_INCREMENT", "PESSIMISTIC_FORCE_INCREMENT");
+
+ /**
+ * 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>READ</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>READ</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #READ
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int READ_VALUE = 1;
+
+ /**
+ * The '<em><b>WRITE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>WRITE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #WRITE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int WRITE_VALUE = 2;
+
+ /**
+ * The '<em><b>OPTIMISTIC</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>OPTIMISTIC</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OPTIMISTIC
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int OPTIMISTIC_VALUE = 3;
+
+ /**
+ * The '<em><b>OPTIMISTIC FORCE INCREMENT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>OPTIMISTIC FORCE INCREMENT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OPTIMISTIC_FORCE_INCREMENT
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int OPTIMISTIC_FORCE_INCREMENT_VALUE = 4;
+
+ /**
+ * The '<em><b>PESSIMISTIC READ</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PESSIMISTIC READ</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PESSIMISTIC_READ
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PESSIMISTIC_READ_VALUE = 5;
+
+ /**
+ * The '<em><b>PESSIMISTIC WRITE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PESSIMISTIC WRITE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PESSIMISTIC_WRITE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PESSIMISTIC_WRITE_VALUE = 6;
+
+ /**
+ * The '<em><b>PESSIMISTIC FORCE INCREMENT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PESSIMISTIC FORCE INCREMENT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PESSIMISTIC_FORCE_INCREMENT
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PESSIMISTIC_FORCE_INCREMENT_VALUE = 7;
+
+ /**
+ * An array of all the '<em><b>Lock Mode Type 20</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final LockModeType_2_0[] VALUES_ARRAY =
+ new LockModeType_2_0[]
+ {
+ NONE,
+ READ,
+ WRITE,
+ OPTIMISTIC,
+ OPTIMISTIC_FORCE_INCREMENT,
+ PESSIMISTIC_READ,
+ PESSIMISTIC_WRITE,
+ PESSIMISTIC_FORCE_INCREMENT,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Lock Mode Type 20</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<LockModeType_2_0> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Lock Mode Type 20</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LockModeType_2_0 get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ LockModeType_2_0 result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Lock Mode Type 20</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LockModeType_2_0 getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ LockModeType_2_0 result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Lock Mode Type 20</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LockModeType_2_0 get(int value)
+ {
+ switch (value)
+ {
+ case NONE_VALUE: return NONE;
+ case READ_VALUE: return READ;
+ case WRITE_VALUE: return WRITE;
+ case OPTIMISTIC_VALUE: return OPTIMISTIC;
+ case OPTIMISTIC_FORCE_INCREMENT_VALUE: return OPTIMISTIC_FORCE_INCREMENT;
+ case PESSIMISTIC_READ_VALUE: return PESSIMISTIC_READ;
+ case PESSIMISTIC_WRITE_VALUE: return PESSIMISTIC_WRITE;
+ case PESSIMISTIC_FORCE_INCREMENT_VALUE: return PESSIMISTIC_FORCE_INCREMENT;
+ }
+ 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 LockModeType_2_0(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;
+ }
+
+} //LockModeType_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Factory.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Factory.java
new file mode 100644
index 0000000000..0e9e84a0b6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Factory.java
@@ -0,0 +1,166 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+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;
+
+/**
+ * <!-- 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.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package
+ * @generated
+ */
+public class OrmV2_0Factory extends EFactoryImpl
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final OrmV2_0Factory eINSTANCE = init();
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OrmV2_0Factory init()
+ {
+ try
+ {
+ OrmV2_0Factory theOrmV2_0Factory = (OrmV2_0Factory)EPackage.Registry.INSTANCE.getEFactory("jpt.orm.v2_0.xmi");
+ if (theOrmV2_0Factory != null)
+ {
+ return theOrmV2_0Factory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new OrmV2_0Factory();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OrmV2_0Factory()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ 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 OrmV2_0Package.LOCK_MODE_TYPE_20:
+ return createLockModeType_2_0FromString(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 OrmV2_0Package.LOCK_MODE_TYPE_20:
+ return convertLockModeType_2_0ToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LockModeType_2_0 createLockModeType_2_0FromString(EDataType eDataType, String initialValue)
+ {
+ LockModeType_2_0 result = LockModeType_2_0.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 convertLockModeType_2_0ToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OrmV2_0Package getOrmV2_0Package()
+ {
+ return (OrmV2_0Package)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static OrmV2_0Package getPackage()
+ {
+ return OrmV2_0Package.eINSTANCE;
+ }
+
+} //OrmV2_0Factory
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Package.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Package.java
new file mode 100644
index 0000000000..602cfbfe92
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Package.java
@@ -0,0 +1,3806 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+import org.eclipse.jpt.common.core.resource.xml.CommonPackage;
+import org.eclipse.jpt.jpa.core.resource.orm.OrmPackage;
+import org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage;
+import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package;
+
+/**
+ * <!-- 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.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Factory
+ * @model kind="package"
+ * @generated
+ */
+public class OrmV2_0Package extends EPackageImpl
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNAME = "v2_0";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_URI = "jpt.orm.v2_0.xmi";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_PREFIX = "org.eclipse.jpt.jpa.core.resource.orm.v2_0";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final OrmV2_0Package eINSTANCE = org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0 <em>Xml Attribute Mapping 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributeMapping_2_0()
+ * @generated
+ */
+ public static final int XML_ATTRIBUTE_MAPPING_20 = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0 <em>Xml Association Override 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAssociationOverride_2_0()
+ * @generated
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE_20 = 0;
+
+ /**
+ * The feature id for the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE_20__JOIN_TABLE = OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE_20__DESCRIPTION = OrmPackage.XML_JOIN_TABLE_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Association Override 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE_20_FEATURE_COUNT = OrmPackage.XML_JOIN_TABLE_CONTAINER_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTE_MAPPING_20__ACCESS = OrmPackage.XML_ACCESS_HOLDER__ACCESS;
+
+ /**
+ * The number of structural features of the '<em>Xml Attribute Mapping 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTE_MAPPING_20_FEATURE_COUNT = OrmPackage.XML_ACCESS_HOLDER_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0 <em>Xml Attribute Override 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributeOverride_2_0()
+ * @generated
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE_20 = 2;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE_20__DESCRIPTION = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Attribute Override 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE_20_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0 <em>Xml Attributes 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributes_2_0()
+ * @generated
+ */
+ public static final int XML_ATTRIBUTES_20 = 3;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTES_20__DESCRIPTION = 0;
+
+ /**
+ * The feature id for the '<em><b>Element Collections</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTES_20__ELEMENT_COLLECTIONS = 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Attributes 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTES_20_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0 <em>Xml Collection Table 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCollectionTable_2_0()
+ * @generated
+ */
+ public static final int XML_COLLECTION_TABLE_20 = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0 <em>Xml Derived Id 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlDerivedId_2_0()
+ * @generated
+ */
+ public static final int XML_DERIVED_ID_20 = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0 <em>Xml Element Collection 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0()
+ * @generated
+ */
+ public static final int XML_ELEMENT_COLLECTION_20 = 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0 <em>Xml Embedded 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEmbedded_2_0()
+ * @generated
+ */
+ public static final int XML_EMBEDDED_20 = 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0 <em>Xml Cacheable 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCacheable_2_0()
+ * @generated
+ */
+ public static final int XML_CACHEABLE_20 = 4;
+
+ /**
+ * The feature id for the '<em><b>Cacheable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CACHEABLE_20__CACHEABLE = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Cacheable 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CACHEABLE_20_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0 <em>Xml Cascade Type 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCascadeType_2_0()
+ * @generated
+ */
+ public static final int XML_CASCADE_TYPE_20 = 5;
+
+ /**
+ * The feature id for the '<em><b>Cascade Detach</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CASCADE_TYPE_20__CASCADE_DETACH = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Cascade Type 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CASCADE_TYPE_20_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLLECTION_TABLE_20__JOIN_COLUMNS = OrmPackage.XML_REFERENCE_TABLE__JOIN_COLUMNS;
+
+ /**
+ * The number of structural features of the '<em>Xml Collection Table 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLLECTION_TABLE_20_FEATURE_COUNT = OrmPackage.XML_REFERENCE_TABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_DERIVED_ID_20__ID = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Derived Id 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_DERIVED_ID_20_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Lob</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__LOB = OrmPackage.XML_CONVERTIBLE_MAPPING__LOB;
+
+ /**
+ * The feature id for the '<em><b>Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__TEMPORAL = OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL;
+
+ /**
+ * The feature id for the '<em><b>Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__ENUMERATED = OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED;
+
+ /**
+ * The feature id for the '<em><b>Order Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__ORDER_COLUMN = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Order By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__ORDER_BY = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__ATTRIBUTE_OVERRIDES = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__ASSOCIATION_OVERRIDES = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY_ATTRIBUTE_OVERRIDES = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY_TEMPORAL = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY_ENUMERATED = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Target Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__TARGET_CLASS = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__FETCH = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Map Key</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Map Key Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY_CLASS = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Map Key Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY_COLUMN = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY_JOIN_COLUMNS = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__COLUMN = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the '<em><b>Collection Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20__COLLECTION_TABLE = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 14;
+
+ /**
+ * The number of structural features of the '<em>Xml Element Collection 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_20_FEATURE_COUNT = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 15;
+
+ /**
+ * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDED_20__ASSOCIATION_OVERRIDES = OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES;
+
+ /**
+ * The number of structural features of the '<em>Xml Embedded 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDED_20_FEATURE_COUNT = OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0 <em>Xml Entity 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEntity_2_0()
+ * @generated
+ */
+ public static final int XML_ENTITY_20 = 10;
+
+ /**
+ * The feature id for the '<em><b>Cacheable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_20__CACHEABLE = XML_CACHEABLE_20__CACHEABLE;
+
+ /**
+ * The number of structural features of the '<em>Xml Entity 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_20_FEATURE_COUNT = XML_CACHEABLE_20_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0 <em>Xml Entity Listener 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEntityListener_2_0()
+ * @generated
+ */
+ public static final int XML_ENTITY_LISTENER_20 = 11;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_LISTENER_20__DESCRIPTION = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Entity Listener 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_LISTENER_20_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0 <em>Xml Event Method 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEventMethod_2_0()
+ * @generated
+ */
+ public static final int XML_EVENT_METHOD_20 = 12;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EVENT_METHOD_20__DESCRIPTION = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Event Method 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EVENT_METHOD_20_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0 <em>Xml Generator 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlGenerator_2_0()
+ * @generated
+ */
+ public static final int XML_GENERATOR_20 = 13;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATOR_20__DESCRIPTION = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Generator 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATOR_20_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0 <em>Xml Orderable 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderable_2_0()
+ * @generated
+ */
+ public static final int XML_ORDERABLE_20 = 22;
+
+ /**
+ * The feature id for the '<em><b>Order Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDERABLE_20__ORDER_COLUMN = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Orderable 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDERABLE_20_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0 <em>Xml Multi Relationship Mapping 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMultiRelationshipMapping_2_0()
+ * @generated
+ */
+ public static final int XML_MULTI_RELATIONSHIP_MAPPING_20 = 18;
+
+ /**
+ * The feature id for the '<em><b>Order Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__ORDER_COLUMN = XML_ORDERABLE_20__ORDER_COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_ATTRIBUTE_OVERRIDES = XML_ORDERABLE_20_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_TEMPORAL = XML_ORDERABLE_20_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_ENUMERATED = XML_ORDERABLE_20_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Map Key Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS = XML_ORDERABLE_20_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Map Key Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN = XML_ORDERABLE_20_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS = XML_ORDERABLE_20_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Xml Multi Relationship Mapping 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MULTI_RELATIONSHIP_MAPPING_20_FEATURE_COUNT = XML_ORDERABLE_20_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0 <em>Xml Many To Many 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlManyToMany_2_0()
+ * @generated
+ */
+ public static final int XML_MANY_TO_MANY_20 = 14;
+
+ /**
+ * The feature id for the '<em><b>Order Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY_20__ORDER_COLUMN = XML_MULTI_RELATIONSHIP_MAPPING_20__ORDER_COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY_20__MAP_KEY_ATTRIBUTE_OVERRIDES = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_ATTRIBUTE_OVERRIDES;
+
+ /**
+ * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY_20__MAP_KEY_TEMPORAL = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_TEMPORAL;
+
+ /**
+ * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY_20__MAP_KEY_ENUMERATED = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_ENUMERATED;
+
+ /**
+ * The feature id for the '<em><b>Map Key Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY_20__MAP_KEY_CLASS = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Map Key Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY_20__MAP_KEY_COLUMN = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY_20__MAP_KEY_JOIN_COLUMNS = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS;
+
+ /**
+ * The number of structural features of the '<em>Xml Many To Many 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY_20_FEATURE_COUNT = XML_MULTI_RELATIONSHIP_MAPPING_20_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0 <em>Xml Map Key Attribute Override Container 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyAttributeOverrideContainer_2_0()
+ * @generated
+ */
+ public static final int XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20 = 15;
+
+ /**
+ * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Map Key Attribute Override Container 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0 <em>Xml Map Key Convertible Mapping 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyConvertibleMapping_2_0()
+ * @generated
+ */
+ public static final int XML_MAP_KEY_CONVERTIBLE_MAPPING_20 = 16;
+
+ /**
+ * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL = 0;
+
+ /**
+ * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED = 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Map Key Convertible Mapping 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAP_KEY_CONVERTIBLE_MAPPING_20_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0 <em>Xml Maps Id 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapsId_2_0()
+ * @generated
+ */
+ public static final int XML_MAPS_ID_20 = 17;
+
+ /**
+ * The feature id for the '<em><b>Maps Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPS_ID_20__MAPS_ID = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Maps Id 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPS_ID_20_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0 <em>Xml Named Query 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlNamedQuery_2_0()
+ * @generated
+ */
+ public static final int XML_NAMED_QUERY_20 = 19;
+
+ /**
+ * The feature id for the '<em><b>Lock Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_QUERY_20__LOCK_MODE = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Named Query 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_NAMED_QUERY_20_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0 <em>Xml Orphan Removable 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrphanRemovable_2_0()
+ * @generated
+ */
+ public static final int XML_ORPHAN_REMOVABLE_20 = 24;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0 <em>Xml One To Many 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOneToMany_2_0()
+ * @generated
+ */
+ public static final int XML_ONE_TO_MANY_20 = 20;
+
+ /**
+ * The feature id for the '<em><b>Order Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY_20__ORDER_COLUMN = XML_MULTI_RELATIONSHIP_MAPPING_20__ORDER_COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY_20__MAP_KEY_ATTRIBUTE_OVERRIDES = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_ATTRIBUTE_OVERRIDES;
+
+ /**
+ * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY_20__MAP_KEY_TEMPORAL = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_TEMPORAL;
+
+ /**
+ * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY_20__MAP_KEY_ENUMERATED = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_ENUMERATED;
+
+ /**
+ * The feature id for the '<em><b>Map Key Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY_20__MAP_KEY_CLASS = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Map Key Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY_20__MAP_KEY_COLUMN = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY_20__MAP_KEY_JOIN_COLUMNS = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS;
+
+ /**
+ * The feature id for the '<em><b>Orphan Removal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY_20__ORPHAN_REMOVAL = XML_MULTI_RELATIONSHIP_MAPPING_20_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml One To Many 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY_20_FEATURE_COUNT = XML_MULTI_RELATIONSHIP_MAPPING_20_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0 <em>Xml Single Relationship Mapping 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSingleRelationshipMapping_2_0()
+ * @generated
+ */
+ public static final int XML_SINGLE_RELATIONSHIP_MAPPING_20 = 30;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SINGLE_RELATIONSHIP_MAPPING_20__ID = XML_DERIVED_ID_20__ID;
+
+ /**
+ * The feature id for the '<em><b>Maps Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SINGLE_RELATIONSHIP_MAPPING_20__MAPS_ID = XML_DERIVED_ID_20_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Single Relationship Mapping 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SINGLE_RELATIONSHIP_MAPPING_20_FEATURE_COUNT = XML_DERIVED_ID_20_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0 <em>Xml One To One 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOneToOne_2_0()
+ * @generated
+ */
+ public static final int XML_ONE_TO_ONE_20 = 21;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE_20__ID = XML_SINGLE_RELATIONSHIP_MAPPING_20__ID;
+
+ /**
+ * The feature id for the '<em><b>Maps Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE_20__MAPS_ID = XML_SINGLE_RELATIONSHIP_MAPPING_20__MAPS_ID;
+
+ /**
+ * The feature id for the '<em><b>Orphan Removal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE_20__ORPHAN_REMOVAL = XML_SINGLE_RELATIONSHIP_MAPPING_20_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml One To One 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE_20_FEATURE_COUNT = XML_SINGLE_RELATIONSHIP_MAPPING_20_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0 <em>Xml Order Column 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderColumn_2_0()
+ * @generated
+ */
+ public static final int XML_ORDER_COLUMN_20 = 23;
+
+ /**
+ * The feature id for the '<em><b>Nullable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDER_COLUMN_20__NULLABLE = 0;
+
+ /**
+ * The feature id for the '<em><b>Insertable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDER_COLUMN_20__INSERTABLE = 1;
+
+ /**
+ * The feature id for the '<em><b>Updatable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDER_COLUMN_20__UPDATABLE = 2;
+
+ /**
+ * The number of structural features of the '<em>Xml Order Column 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDER_COLUMN_20_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0 <em>Xml Persistence Unit Defaults 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitDefaults_2_0()
+ * @generated
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS_20 = 25;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0 <em>Xml Persistence Unit Metadata 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitMetadata_2_0()
+ * @generated
+ */
+ public static final int XML_PERSISTENCE_UNIT_METADATA_20 = 26;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0 <em>Xml Query 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQuery_2_0()
+ * @generated
+ */
+ public static final int XML_QUERY_20 = 27;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0 <em>Xml Query Hint 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQueryHint_2_0()
+ * @generated
+ */
+ public static final int XML_QUERY_HINT_20 = 28;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0 <em>Xml Sequence Generator 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSequenceGenerator_2_0()
+ * @generated
+ */
+ public static final int XML_SEQUENCE_GENERATOR_20 = 29;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0 <em>Xml Sql Result Set Mapping 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSqlResultSetMapping_2_0()
+ * @generated
+ */
+ public static final int XML_SQL_RESULT_SET_MAPPING_20 = 31;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0 <em>Xml Unique Constraint 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlUniqueConstraint_2_0()
+ * @generated
+ */
+ public static final int XML_UNIQUE_CONSTRAINT_20 = 32;
+
+ /**
+ * The feature id for the '<em><b>Orphan Removal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Orphan Removable 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORPHAN_REMOVABLE_20_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS_20__DESCRIPTION = 0;
+
+ /**
+ * The feature id for the '<em><b>Delimited Identifiers</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS_20__DELIMITED_IDENTIFIERS = 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Persistence Unit Defaults 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS_20_FEATURE_COUNT = 2;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_METADATA_20__DESCRIPTION = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Persistence Unit Metadata 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_METADATA_20_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY_20__DESCRIPTION = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Query 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY_20_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY_HINT_20__DESCRIPTION = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Query Hint 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_QUERY_HINT_20_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SEQUENCE_GENERATOR_20__CATALOG = 0;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SEQUENCE_GENERATOR_20__SCHEMA = 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Sequence Generator 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SEQUENCE_GENERATOR_20_FEATURE_COUNT = 2;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SQL_RESULT_SET_MAPPING_20__DESCRIPTION = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Sql Result Set Mapping 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SQL_RESULT_SET_MAPPING_20_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_UNIQUE_CONSTRAINT_20__NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Unique Constraint 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_UNIQUE_CONSTRAINT_20_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0 <em>Lock Mode Type 20</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getLockModeType_2_0()
+ * @generated
+ */
+ public static final int LOCK_MODE_TYPE_20 = 33;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAttributeMapping_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAssociationOverride_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAttributeOverride_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAttributes_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlCollectionTable_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlDerivedId_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlElementCollection_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEmbedded_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEntity_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEntityListener_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEventMethod_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlGenerator_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlManyToMany_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlMapKeyAttributeOverrideContainer_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlMapKeyConvertibleMapping_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlMapsId_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlMultiRelationshipMapping_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlNamedQuery_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOneToMany_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOneToOne_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOrderColumn_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlPersistenceUnitDefaults_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlPersistenceUnitMetadata_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlQuery_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlQueryHint_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlSequenceGenerator_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlSingleRelationshipMapping_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlSqlResultSetMapping_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlUniqueConstraint_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlCacheable_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlCascadeType_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOrphanRemovable_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOrderable_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum lockModeType_2_0EEnum = 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.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private OrmV2_0Package()
+ {
+ super(eNS_URI, OrmV2_0Factory.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 OrmV2_0Package#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 OrmV2_0Package init()
+ {
+ if (isInited) return (OrmV2_0Package)EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI);
+
+ // Obtain or create and register package
+ OrmV2_0Package theOrmV2_0Package = (OrmV2_0Package)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof OrmV2_0Package ? EPackage.Registry.INSTANCE.get(eNS_URI) : new OrmV2_0Package());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ CommonPackage.eINSTANCE.eClass();
+ EcorePackage.eINSTANCE.eClass();
+ XMLTypePackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ OrmPackage theOrmPackage = (OrmPackage)(EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI) instanceof OrmPackage ? EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI) : OrmPackage.eINSTANCE);
+ PersistencePackage thePersistencePackage = (PersistencePackage)(EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI) instanceof PersistencePackage ? EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI) : PersistencePackage.eINSTANCE);
+ PersistenceV2_0Package thePersistenceV2_0Package = (PersistenceV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI) instanceof PersistenceV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI) : PersistenceV2_0Package.eINSTANCE);
+
+ // Create package meta-data objects
+ theOrmV2_0Package.createPackageContents();
+ theOrmPackage.createPackageContents();
+ thePersistencePackage.createPackageContents();
+ thePersistenceV2_0Package.createPackageContents();
+
+ // Initialize created meta-data
+ theOrmV2_0Package.initializePackageContents();
+ theOrmPackage.initializePackageContents();
+ thePersistencePackage.initializePackageContents();
+ thePersistenceV2_0Package.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theOrmV2_0Package.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(OrmV2_0Package.eNS_URI, theOrmV2_0Package);
+ return theOrmV2_0Package;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0 <em>Xml Attribute Mapping 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Attribute Mapping 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0
+ * @generated
+ */
+ public EClass getXmlAttributeMapping_2_0()
+ {
+ return xmlAttributeMapping_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0 <em>Xml Association Override 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Association Override 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0
+ * @generated
+ */
+ public EClass getXmlAssociationOverride_2_0()
+ {
+ return xmlAssociationOverride_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0#getDescription()
+ * @see #getXmlAssociationOverride_2_0()
+ * @generated
+ */
+ public EAttribute getXmlAssociationOverride_2_0_Description()
+ {
+ return (EAttribute)xmlAssociationOverride_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0 <em>Xml Attribute Override 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Attribute Override 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0
+ * @generated
+ */
+ public EClass getXmlAttributeOverride_2_0()
+ {
+ return xmlAttributeOverride_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0#getDescription()
+ * @see #getXmlAttributeOverride_2_0()
+ * @generated
+ */
+ public EAttribute getXmlAttributeOverride_2_0_Description()
+ {
+ return (EAttribute)xmlAttributeOverride_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0 <em>Xml Attributes 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Attributes 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0
+ * @generated
+ */
+ public EClass getXmlAttributes_2_0()
+ {
+ return xmlAttributes_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#getDescription()
+ * @see #getXmlAttributes_2_0()
+ * @generated
+ */
+ public EAttribute getXmlAttributes_2_0_Description()
+ {
+ return (EAttribute)xmlAttributes_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#getElementCollections <em>Element Collections</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Element Collections</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#getElementCollections()
+ * @see #getXmlAttributes_2_0()
+ * @generated
+ */
+ public EReference getXmlAttributes_2_0_ElementCollections()
+ {
+ return (EReference)xmlAttributes_2_0EClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0 <em>Xml Collection Table 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Collection Table 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0
+ * @generated
+ */
+ public EClass getXmlCollectionTable_2_0()
+ {
+ return xmlCollectionTable_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0 <em>Xml Derived Id 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Derived Id 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0
+ * @generated
+ */
+ public EClass getXmlDerivedId_2_0()
+ {
+ return xmlDerivedId_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0#getId()
+ * @see #getXmlDerivedId_2_0()
+ * @generated
+ */
+ public EAttribute getXmlDerivedId_2_0_Id()
+ {
+ return (EAttribute)xmlDerivedId_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0 <em>Xml Element Collection 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Element Collection 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0
+ * @generated
+ */
+ public EClass getXmlElementCollection_2_0()
+ {
+ return xmlElementCollection_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getTargetClass <em>Target Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Target Class</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getTargetClass()
+ * @see #getXmlElementCollection_2_0()
+ * @generated
+ */
+ public EAttribute getXmlElementCollection_2_0_TargetClass()
+ {
+ return (EAttribute)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getFetch <em>Fetch</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fetch</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getFetch()
+ * @see #getXmlElementCollection_2_0()
+ * @generated
+ */
+ public EAttribute getXmlElementCollection_2_0_Fetch()
+ {
+ return (EAttribute)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#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.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKey()
+ * @see #getXmlElementCollection_2_0()
+ * @generated
+ */
+ public EReference getXmlElementCollection_2_0_MapKey()
+ {
+ return (EReference)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(2);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyClass <em>Map Key Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Map Key Class</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyClass()
+ * @see #getXmlElementCollection_2_0()
+ * @generated
+ */
+ public EReference getXmlElementCollection_2_0_MapKeyClass()
+ {
+ return (EReference)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(3);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyColumn <em>Map Key Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Map Key Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyColumn()
+ * @see #getXmlElementCollection_2_0()
+ * @generated
+ */
+ public EReference getXmlElementCollection_2_0_MapKeyColumn()
+ {
+ return (EReference)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(4);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyJoinColumns <em>Map Key Join Columns</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Map Key Join Columns</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyJoinColumns()
+ * @see #getXmlElementCollection_2_0()
+ * @generated
+ */
+ public EReference getXmlElementCollection_2_0_MapKeyJoinColumns()
+ {
+ return (EReference)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(5);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getColumn <em>Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getColumn()
+ * @see #getXmlElementCollection_2_0()
+ * @generated
+ */
+ public EReference getXmlElementCollection_2_0_Column()
+ {
+ return (EReference)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(6);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getCollectionTable <em>Collection Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Collection Table</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getCollectionTable()
+ * @see #getXmlElementCollection_2_0()
+ * @generated
+ */
+ public EReference getXmlElementCollection_2_0_CollectionTable()
+ {
+ return (EReference)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(7);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0 <em>Xml Embedded 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Embedded 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0
+ * @generated
+ */
+ public EClass getXmlEmbedded_2_0()
+ {
+ return xmlEmbedded_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0 <em>Xml Entity 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Entity 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0
+ * @generated
+ */
+ public EClass getXmlEntity_2_0()
+ {
+ return xmlEntity_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0 <em>Xml Entity Listener 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Entity Listener 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0
+ * @generated
+ */
+ public EClass getXmlEntityListener_2_0()
+ {
+ return xmlEntityListener_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0#getDescription()
+ * @see #getXmlEntityListener_2_0()
+ * @generated
+ */
+ public EAttribute getXmlEntityListener_2_0_Description()
+ {
+ return (EAttribute)xmlEntityListener_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0 <em>Xml Event Method 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Event Method 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0
+ * @generated
+ */
+ public EClass getXmlEventMethod_2_0()
+ {
+ return xmlEventMethod_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0#getDescription()
+ * @see #getXmlEventMethod_2_0()
+ * @generated
+ */
+ public EAttribute getXmlEventMethod_2_0_Description()
+ {
+ return (EAttribute)xmlEventMethod_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0 <em>Xml Generator 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Generator 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0
+ * @generated
+ */
+ public EClass getXmlGenerator_2_0()
+ {
+ return xmlGenerator_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0#getDescription()
+ * @see #getXmlGenerator_2_0()
+ * @generated
+ */
+ public EAttribute getXmlGenerator_2_0_Description()
+ {
+ return (EAttribute)xmlGenerator_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0 <em>Xml Many To Many 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Many To Many 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0
+ * @generated
+ */
+ public EClass getXmlManyToMany_2_0()
+ {
+ return xmlManyToMany_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0 <em>Xml Map Key Attribute Override Container 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Map Key Attribute Override Container 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0
+ * @generated
+ */
+ public EClass getXmlMapKeyAttributeOverrideContainer_2_0()
+ {
+ return xmlMapKeyAttributeOverrideContainer_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0#getMapKeyAttributeOverrides <em>Map Key Attribute Overrides</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Map Key Attribute Overrides</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0#getMapKeyAttributeOverrides()
+ * @see #getXmlMapKeyAttributeOverrideContainer_2_0()
+ * @generated
+ */
+ public EReference getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides()
+ {
+ return (EReference)xmlMapKeyAttributeOverrideContainer_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0 <em>Xml Map Key Convertible Mapping 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Map Key Convertible Mapping 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0
+ * @generated
+ */
+ public EClass getXmlMapKeyConvertibleMapping_2_0()
+ {
+ return xmlMapKeyConvertibleMapping_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyTemporal <em>Map Key Temporal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Map Key Temporal</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyTemporal()
+ * @see #getXmlMapKeyConvertibleMapping_2_0()
+ * @generated
+ */
+ public EAttribute getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal()
+ {
+ return (EAttribute)xmlMapKeyConvertibleMapping_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyEnumerated <em>Map Key Enumerated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Map Key Enumerated</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyEnumerated()
+ * @see #getXmlMapKeyConvertibleMapping_2_0()
+ * @generated
+ */
+ public EAttribute getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated()
+ {
+ return (EAttribute)xmlMapKeyConvertibleMapping_2_0EClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0 <em>Xml Maps Id 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Maps Id 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0
+ * @generated
+ */
+ public EClass getXmlMapsId_2_0()
+ {
+ return xmlMapsId_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0#getMapsId <em>Maps Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Maps Id</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0#getMapsId()
+ * @see #getXmlMapsId_2_0()
+ * @generated
+ */
+ public EAttribute getXmlMapsId_2_0_MapsId()
+ {
+ return (EAttribute)xmlMapsId_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0 <em>Xml Multi Relationship Mapping 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Multi Relationship Mapping 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0
+ * @generated
+ */
+ public EClass getXmlMultiRelationshipMapping_2_0()
+ {
+ return xmlMultiRelationshipMapping_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyClass <em>Map Key Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Map Key Class</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyClass()
+ * @see #getXmlMultiRelationshipMapping_2_0()
+ * @generated
+ */
+ public EReference getXmlMultiRelationshipMapping_2_0_MapKeyClass()
+ {
+ return (EReference)xmlMultiRelationshipMapping_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyColumn <em>Map Key Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Map Key Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyColumn()
+ * @see #getXmlMultiRelationshipMapping_2_0()
+ * @generated
+ */
+ public EReference getXmlMultiRelationshipMapping_2_0_MapKeyColumn()
+ {
+ return (EReference)xmlMultiRelationshipMapping_2_0EClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyJoinColumns <em>Map Key Join Columns</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Map Key Join Columns</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyJoinColumns()
+ * @see #getXmlMultiRelationshipMapping_2_0()
+ * @generated
+ */
+ public EReference getXmlMultiRelationshipMapping_2_0_MapKeyJoinColumns()
+ {
+ return (EReference)xmlMultiRelationshipMapping_2_0EClass.getEStructuralFeatures().get(2);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0 <em>Xml Named Query 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Named Query 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0
+ * @generated
+ */
+ public EClass getXmlNamedQuery_2_0()
+ {
+ return xmlNamedQuery_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0#getLockMode <em>Lock Mode</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Lock Mode</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0#getLockMode()
+ * @see #getXmlNamedQuery_2_0()
+ * @generated
+ */
+ public EAttribute getXmlNamedQuery_2_0_LockMode()
+ {
+ return (EAttribute)xmlNamedQuery_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0 <em>Xml One To Many 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml One To Many 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0
+ * @generated
+ */
+ public EClass getXmlOneToMany_2_0()
+ {
+ return xmlOneToMany_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0 <em>Xml One To One 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml One To One 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0
+ * @generated
+ */
+ public EClass getXmlOneToOne_2_0()
+ {
+ return xmlOneToOne_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0 <em>Xml Order Column 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Order Column 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0
+ * @generated
+ */
+ public EClass getXmlOrderColumn_2_0()
+ {
+ return xmlOrderColumn_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getNullable <em>Nullable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nullable</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getNullable()
+ * @see #getXmlOrderColumn_2_0()
+ * @generated
+ */
+ public EAttribute getXmlOrderColumn_2_0_Nullable()
+ {
+ return (EAttribute)xmlOrderColumn_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getInsertable <em>Insertable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Insertable</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getInsertable()
+ * @see #getXmlOrderColumn_2_0()
+ * @generated
+ */
+ public EAttribute getXmlOrderColumn_2_0_Insertable()
+ {
+ return (EAttribute)xmlOrderColumn_2_0EClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getUpdatable <em>Updatable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Updatable</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getUpdatable()
+ * @see #getXmlOrderColumn_2_0()
+ * @generated
+ */
+ public EAttribute getXmlOrderColumn_2_0_Updatable()
+ {
+ return (EAttribute)xmlOrderColumn_2_0EClass.getEStructuralFeatures().get(2);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0 <em>Xml Persistence Unit Defaults 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Persistence Unit Defaults 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0
+ * @generated
+ */
+ public EClass getXmlPersistenceUnitDefaults_2_0()
+ {
+ return xmlPersistenceUnitDefaults_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#getDescription()
+ * @see #getXmlPersistenceUnitDefaults_2_0()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnitDefaults_2_0_Description()
+ {
+ return (EAttribute)xmlPersistenceUnitDefaults_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#isDelimitedIdentifiers <em>Delimited Identifiers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Delimited Identifiers</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#isDelimitedIdentifiers()
+ * @see #getXmlPersistenceUnitDefaults_2_0()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnitDefaults_2_0_DelimitedIdentifiers()
+ {
+ return (EAttribute)xmlPersistenceUnitDefaults_2_0EClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0 <em>Xml Persistence Unit Metadata 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Persistence Unit Metadata 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0
+ * @generated
+ */
+ public EClass getXmlPersistenceUnitMetadata_2_0()
+ {
+ return xmlPersistenceUnitMetadata_2_0EClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0#getDescription()
+ * @see #getXmlPersistenceUnitMetadata_2_0()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnitMetadata_2_0_Description()
+ {
+ return (EAttribute)xmlPersistenceUnitMetadata_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0 <em>Xml Query 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Query 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0
+ * @generated
+ */
+ public EClass getXmlQuery_2_0()
+ {
+ return xmlQuery_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0#getDescription()
+ * @see #getXmlQuery_2_0()
+ * @generated
+ */
+ public EAttribute getXmlQuery_2_0_Description()
+ {
+ return (EAttribute)xmlQuery_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0 <em>Xml Query Hint 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Query Hint 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0
+ * @generated
+ */
+ public EClass getXmlQueryHint_2_0()
+ {
+ return xmlQueryHint_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0#getDescription()
+ * @see #getXmlQueryHint_2_0()
+ * @generated
+ */
+ public EAttribute getXmlQueryHint_2_0_Description()
+ {
+ return (EAttribute)xmlQueryHint_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0 <em>Xml Sequence Generator 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Sequence Generator 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0
+ * @generated
+ */
+ public EClass getXmlSequenceGenerator_2_0()
+ {
+ return xmlSequenceGenerator_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getCatalog <em>Catalog</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Catalog</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getCatalog()
+ * @see #getXmlSequenceGenerator_2_0()
+ * @generated
+ */
+ public EAttribute getXmlSequenceGenerator_2_0_Catalog()
+ {
+ return (EAttribute)xmlSequenceGenerator_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getSchema <em>Schema</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Schema</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getSchema()
+ * @see #getXmlSequenceGenerator_2_0()
+ * @generated
+ */
+ public EAttribute getXmlSequenceGenerator_2_0_Schema()
+ {
+ return (EAttribute)xmlSequenceGenerator_2_0EClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0 <em>Xml Single Relationship Mapping 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Single Relationship Mapping 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0
+ * @generated
+ */
+ public EClass getXmlSingleRelationshipMapping_2_0()
+ {
+ return xmlSingleRelationshipMapping_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0 <em>Xml Sql Result Set Mapping 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Sql Result Set Mapping 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0
+ * @generated
+ */
+ public EClass getXmlSqlResultSetMapping_2_0()
+ {
+ return xmlSqlResultSetMapping_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0#getDescription()
+ * @see #getXmlSqlResultSetMapping_2_0()
+ * @generated
+ */
+ public EAttribute getXmlSqlResultSetMapping_2_0_Description()
+ {
+ return (EAttribute)xmlSqlResultSetMapping_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0 <em>Xml Unique Constraint 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Unique Constraint 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0
+ * @generated
+ */
+ public EClass getXmlUniqueConstraint_2_0()
+ {
+ return xmlUniqueConstraint_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0#getName()
+ * @see #getXmlUniqueConstraint_2_0()
+ * @generated
+ */
+ public EAttribute getXmlUniqueConstraint_2_0_Name()
+ {
+ return (EAttribute)xmlUniqueConstraint_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0 <em>Xml Cacheable 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Cacheable 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0
+ * @generated
+ */
+ public EClass getXmlCacheable_2_0()
+ {
+ return xmlCacheable_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0#getCacheable <em>Cacheable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cacheable</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0#getCacheable()
+ * @see #getXmlCacheable_2_0()
+ * @generated
+ */
+ public EAttribute getXmlCacheable_2_0_Cacheable()
+ {
+ return (EAttribute)xmlCacheable_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0 <em>Xml Cascade Type 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Cascade Type 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0
+ * @generated
+ */
+ public EClass getXmlCascadeType_2_0()
+ {
+ return xmlCascadeType_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0#isCascadeDetach <em>Cascade Detach</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade Detach</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0#isCascadeDetach()
+ * @see #getXmlCascadeType_2_0()
+ * @generated
+ */
+ public EAttribute getXmlCascadeType_2_0_CascadeDetach()
+ {
+ return (EAttribute)xmlCascadeType_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0 <em>Xml Orphan Removable 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Orphan Removable 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0
+ * @generated
+ */
+ public EClass getXmlOrphanRemovable_2_0()
+ {
+ return xmlOrphanRemovable_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0#getOrphanRemoval <em>Orphan Removal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Orphan Removal</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0#getOrphanRemoval()
+ * @see #getXmlOrphanRemovable_2_0()
+ * @generated
+ */
+ public EAttribute getXmlOrphanRemovable_2_0_OrphanRemoval()
+ {
+ return (EAttribute)xmlOrphanRemovable_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0 <em>Xml Orderable 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Orderable 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0
+ * @generated
+ */
+ public EClass getXmlOrderable_2_0()
+ {
+ return xmlOrderable_2_0EClass;
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0#getOrderColumn <em>Order Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Order Column</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0#getOrderColumn()
+ * @see #getXmlOrderable_2_0()
+ * @generated
+ */
+ public EReference getXmlOrderable_2_0_OrderColumn()
+ {
+ return (EReference)xmlOrderable_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0 <em>Lock Mode Type 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Lock Mode Type 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0
+ * @generated
+ */
+ public EEnum getLockModeType_2_0()
+ {
+ return lockModeType_2_0EEnum;
+ }
+
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ public OrmV2_0Factory getOrmV2_0Factory()
+ {
+ return (OrmV2_0Factory)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
+ xmlAssociationOverride_2_0EClass = createEClass(XML_ASSOCIATION_OVERRIDE_20);
+ createEAttribute(xmlAssociationOverride_2_0EClass, XML_ASSOCIATION_OVERRIDE_20__DESCRIPTION);
+
+ xmlAttributeMapping_2_0EClass = createEClass(XML_ATTRIBUTE_MAPPING_20);
+
+ xmlAttributeOverride_2_0EClass = createEClass(XML_ATTRIBUTE_OVERRIDE_20);
+ createEAttribute(xmlAttributeOverride_2_0EClass, XML_ATTRIBUTE_OVERRIDE_20__DESCRIPTION);
+
+ xmlAttributes_2_0EClass = createEClass(XML_ATTRIBUTES_20);
+ createEAttribute(xmlAttributes_2_0EClass, XML_ATTRIBUTES_20__DESCRIPTION);
+ createEReference(xmlAttributes_2_0EClass, XML_ATTRIBUTES_20__ELEMENT_COLLECTIONS);
+
+ xmlCacheable_2_0EClass = createEClass(XML_CACHEABLE_20);
+ createEAttribute(xmlCacheable_2_0EClass, XML_CACHEABLE_20__CACHEABLE);
+
+ xmlCascadeType_2_0EClass = createEClass(XML_CASCADE_TYPE_20);
+ createEAttribute(xmlCascadeType_2_0EClass, XML_CASCADE_TYPE_20__CASCADE_DETACH);
+
+ xmlCollectionTable_2_0EClass = createEClass(XML_COLLECTION_TABLE_20);
+
+ xmlDerivedId_2_0EClass = createEClass(XML_DERIVED_ID_20);
+ createEAttribute(xmlDerivedId_2_0EClass, XML_DERIVED_ID_20__ID);
+
+ xmlElementCollection_2_0EClass = createEClass(XML_ELEMENT_COLLECTION_20);
+ createEAttribute(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__TARGET_CLASS);
+ createEAttribute(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__FETCH);
+ createEReference(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__MAP_KEY);
+ createEReference(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__MAP_KEY_CLASS);
+ createEReference(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__MAP_KEY_COLUMN);
+ createEReference(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__MAP_KEY_JOIN_COLUMNS);
+ createEReference(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__COLUMN);
+ createEReference(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__COLLECTION_TABLE);
+
+ xmlEmbedded_2_0EClass = createEClass(XML_EMBEDDED_20);
+
+ xmlEntity_2_0EClass = createEClass(XML_ENTITY_20);
+
+ xmlEntityListener_2_0EClass = createEClass(XML_ENTITY_LISTENER_20);
+ createEAttribute(xmlEntityListener_2_0EClass, XML_ENTITY_LISTENER_20__DESCRIPTION);
+
+ xmlEventMethod_2_0EClass = createEClass(XML_EVENT_METHOD_20);
+ createEAttribute(xmlEventMethod_2_0EClass, XML_EVENT_METHOD_20__DESCRIPTION);
+
+ xmlGenerator_2_0EClass = createEClass(XML_GENERATOR_20);
+ createEAttribute(xmlGenerator_2_0EClass, XML_GENERATOR_20__DESCRIPTION);
+
+ xmlManyToMany_2_0EClass = createEClass(XML_MANY_TO_MANY_20);
+
+ xmlMapKeyAttributeOverrideContainer_2_0EClass = createEClass(XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20);
+ createEReference(xmlMapKeyAttributeOverrideContainer_2_0EClass, XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES);
+
+ xmlMapKeyConvertibleMapping_2_0EClass = createEClass(XML_MAP_KEY_CONVERTIBLE_MAPPING_20);
+ createEAttribute(xmlMapKeyConvertibleMapping_2_0EClass, XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL);
+ createEAttribute(xmlMapKeyConvertibleMapping_2_0EClass, XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED);
+
+ xmlMapsId_2_0EClass = createEClass(XML_MAPS_ID_20);
+ createEAttribute(xmlMapsId_2_0EClass, XML_MAPS_ID_20__MAPS_ID);
+
+ xmlMultiRelationshipMapping_2_0EClass = createEClass(XML_MULTI_RELATIONSHIP_MAPPING_20);
+ createEReference(xmlMultiRelationshipMapping_2_0EClass, XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS);
+ createEReference(xmlMultiRelationshipMapping_2_0EClass, XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN);
+ createEReference(xmlMultiRelationshipMapping_2_0EClass, XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS);
+
+ xmlNamedQuery_2_0EClass = createEClass(XML_NAMED_QUERY_20);
+ createEAttribute(xmlNamedQuery_2_0EClass, XML_NAMED_QUERY_20__LOCK_MODE);
+
+ xmlOneToMany_2_0EClass = createEClass(XML_ONE_TO_MANY_20);
+
+ xmlOneToOne_2_0EClass = createEClass(XML_ONE_TO_ONE_20);
+
+ xmlOrderable_2_0EClass = createEClass(XML_ORDERABLE_20);
+ createEReference(xmlOrderable_2_0EClass, XML_ORDERABLE_20__ORDER_COLUMN);
+
+ xmlOrderColumn_2_0EClass = createEClass(XML_ORDER_COLUMN_20);
+ createEAttribute(xmlOrderColumn_2_0EClass, XML_ORDER_COLUMN_20__NULLABLE);
+ createEAttribute(xmlOrderColumn_2_0EClass, XML_ORDER_COLUMN_20__INSERTABLE);
+ createEAttribute(xmlOrderColumn_2_0EClass, XML_ORDER_COLUMN_20__UPDATABLE);
+
+ xmlOrphanRemovable_2_0EClass = createEClass(XML_ORPHAN_REMOVABLE_20);
+ createEAttribute(xmlOrphanRemovable_2_0EClass, XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL);
+
+ xmlPersistenceUnitDefaults_2_0EClass = createEClass(XML_PERSISTENCE_UNIT_DEFAULTS_20);
+ createEAttribute(xmlPersistenceUnitDefaults_2_0EClass, XML_PERSISTENCE_UNIT_DEFAULTS_20__DESCRIPTION);
+ createEAttribute(xmlPersistenceUnitDefaults_2_0EClass, XML_PERSISTENCE_UNIT_DEFAULTS_20__DELIMITED_IDENTIFIERS);
+
+ xmlPersistenceUnitMetadata_2_0EClass = createEClass(XML_PERSISTENCE_UNIT_METADATA_20);
+ createEAttribute(xmlPersistenceUnitMetadata_2_0EClass, XML_PERSISTENCE_UNIT_METADATA_20__DESCRIPTION);
+
+ xmlQuery_2_0EClass = createEClass(XML_QUERY_20);
+ createEAttribute(xmlQuery_2_0EClass, XML_QUERY_20__DESCRIPTION);
+
+ xmlQueryHint_2_0EClass = createEClass(XML_QUERY_HINT_20);
+ createEAttribute(xmlQueryHint_2_0EClass, XML_QUERY_HINT_20__DESCRIPTION);
+
+ xmlSequenceGenerator_2_0EClass = createEClass(XML_SEQUENCE_GENERATOR_20);
+ createEAttribute(xmlSequenceGenerator_2_0EClass, XML_SEQUENCE_GENERATOR_20__CATALOG);
+ createEAttribute(xmlSequenceGenerator_2_0EClass, XML_SEQUENCE_GENERATOR_20__SCHEMA);
+
+ xmlSingleRelationshipMapping_2_0EClass = createEClass(XML_SINGLE_RELATIONSHIP_MAPPING_20);
+
+ xmlSqlResultSetMapping_2_0EClass = createEClass(XML_SQL_RESULT_SET_MAPPING_20);
+ createEAttribute(xmlSqlResultSetMapping_2_0EClass, XML_SQL_RESULT_SET_MAPPING_20__DESCRIPTION);
+
+ xmlUniqueConstraint_2_0EClass = createEClass(XML_UNIQUE_CONSTRAINT_20);
+ createEAttribute(xmlUniqueConstraint_2_0EClass, XML_UNIQUE_CONSTRAINT_20__NAME);
+
+ // Create enums
+ lockModeType_2_0EEnum = createEEnum(LOCK_MODE_TYPE_20);
+ }
+
+ /**
+ * <!-- 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
+ OrmPackage theOrmPackage = (OrmPackage)EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI);
+ XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ xmlAssociationOverride_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlJoinTableContainer());
+ xmlAttributeMapping_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlAccessHolder());
+ xmlCollectionTable_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlReferenceTable());
+ xmlElementCollection_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlConvertibleMapping());
+ xmlElementCollection_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlOrderable());
+ xmlElementCollection_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlAttributeOverrideContainer());
+ xmlElementCollection_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlAssociationOverrideContainer());
+ xmlElementCollection_2_0EClass.getESuperTypes().add(this.getXmlMapKeyAttributeOverrideContainer_2_0());
+ xmlElementCollection_2_0EClass.getESuperTypes().add(this.getXmlMapKeyConvertibleMapping_2_0());
+ xmlEmbedded_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlAssociationOverrideContainer());
+ xmlEntity_2_0EClass.getESuperTypes().add(this.getXmlCacheable_2_0());
+ xmlManyToMany_2_0EClass.getESuperTypes().add(this.getXmlMultiRelationshipMapping_2_0());
+ xmlMultiRelationshipMapping_2_0EClass.getESuperTypes().add(this.getXmlOrderable_2_0());
+ xmlMultiRelationshipMapping_2_0EClass.getESuperTypes().add(this.getXmlMapKeyAttributeOverrideContainer_2_0());
+ xmlMultiRelationshipMapping_2_0EClass.getESuperTypes().add(this.getXmlMapKeyConvertibleMapping_2_0());
+ xmlOneToMany_2_0EClass.getESuperTypes().add(this.getXmlMultiRelationshipMapping_2_0());
+ xmlOneToMany_2_0EClass.getESuperTypes().add(this.getXmlOrphanRemovable_2_0());
+ xmlOneToOne_2_0EClass.getESuperTypes().add(this.getXmlSingleRelationshipMapping_2_0());
+ xmlOneToOne_2_0EClass.getESuperTypes().add(this.getXmlOrphanRemovable_2_0());
+ xmlSingleRelationshipMapping_2_0EClass.getESuperTypes().add(this.getXmlDerivedId_2_0());
+ xmlSingleRelationshipMapping_2_0EClass.getESuperTypes().add(this.getXmlMapsId_2_0());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(xmlAssociationOverride_2_0EClass, XmlAssociationOverride_2_0.class, "XmlAssociationOverride_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlAssociationOverride_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlAssociationOverride_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlAttributeMapping_2_0EClass, XmlAttributeMapping_2_0.class, "XmlAttributeMapping_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlAttributeOverride_2_0EClass, XmlAttributeOverride_2_0.class, "XmlAttributeOverride_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlAttributeOverride_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlAttributeOverride_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlAttributes_2_0EClass, XmlAttributes_2_0.class, "XmlAttributes_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlAttributes_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlAttributes_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlAttributes_2_0_ElementCollections(), theOrmPackage.getXmlElementCollection(), null, "elementCollections", null, 0, -1, XmlAttributes_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlCacheable_2_0EClass, XmlCacheable_2_0.class, "XmlCacheable_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlCacheable_2_0_Cacheable(), theXMLTypePackage.getBooleanObject(), "cacheable", null, 0, 1, XmlCacheable_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlCascadeType_2_0EClass, XmlCascadeType_2_0.class, "XmlCascadeType_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlCascadeType_2_0_CascadeDetach(), theXMLTypePackage.getBoolean(), "cascadeDetach", null, 0, 1, XmlCascadeType_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlCollectionTable_2_0EClass, XmlCollectionTable_2_0.class, "XmlCollectionTable_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlDerivedId_2_0EClass, XmlDerivedId_2_0.class, "XmlDerivedId_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlDerivedId_2_0_Id(), theXMLTypePackage.getBooleanObject(), "id", null, 0, 1, XmlDerivedId_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlElementCollection_2_0EClass, XmlElementCollection_2_0.class, "XmlElementCollection_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlElementCollection_2_0_TargetClass(), theXMLTypePackage.getString(), "targetClass", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlElementCollection_2_0_Fetch(), theOrmPackage.getFetchType(), "fetch", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlElementCollection_2_0_MapKey(), theOrmPackage.getMapKey(), null, "mapKey", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlElementCollection_2_0_MapKeyClass(), theOrmPackage.getXmlClassReference(), null, "mapKeyClass", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlElementCollection_2_0_MapKeyColumn(), theOrmPackage.getXmlColumn(), null, "mapKeyColumn", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlElementCollection_2_0_MapKeyJoinColumns(), theOrmPackage.getXmlJoinColumn(), null, "mapKeyJoinColumns", null, 0, -1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlElementCollection_2_0_Column(), theOrmPackage.getXmlColumn(), null, "column", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlElementCollection_2_0_CollectionTable(), theOrmPackage.getXmlCollectionTable(), null, "collectionTable", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlEmbedded_2_0EClass, XmlEmbedded_2_0.class, "XmlEmbedded_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlEntity_2_0EClass, XmlEntity_2_0.class, "XmlEntity_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlEntityListener_2_0EClass, XmlEntityListener_2_0.class, "XmlEntityListener_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlEntityListener_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlEntityListener_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlEventMethod_2_0EClass, XmlEventMethod_2_0.class, "XmlEventMethod_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlEventMethod_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlEventMethod_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlGenerator_2_0EClass, XmlGenerator_2_0.class, "XmlGenerator_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlGenerator_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlGenerator_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlManyToMany_2_0EClass, XmlManyToMany_2_0.class, "XmlManyToMany_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlMapKeyAttributeOverrideContainer_2_0EClass, XmlMapKeyAttributeOverrideContainer_2_0.class, "XmlMapKeyAttributeOverrideContainer_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides(), theOrmPackage.getXmlAttributeOverride(), null, "mapKeyAttributeOverrides", null, 0, -1, XmlMapKeyAttributeOverrideContainer_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlMapKeyConvertibleMapping_2_0EClass, XmlMapKeyConvertibleMapping_2_0.class, "XmlMapKeyConvertibleMapping_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal(), theOrmPackage.getTemporalType(), "mapKeyTemporal", null, 0, 1, XmlMapKeyConvertibleMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated(), theOrmPackage.getEnumType(), "mapKeyEnumerated", null, 0, 1, XmlMapKeyConvertibleMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlMapsId_2_0EClass, XmlMapsId_2_0.class, "XmlMapsId_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlMapsId_2_0_MapsId(), theXMLTypePackage.getString(), "mapsId", null, 0, 1, XmlMapsId_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlMultiRelationshipMapping_2_0EClass, XmlMultiRelationshipMapping_2_0.class, "XmlMultiRelationshipMapping_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlMultiRelationshipMapping_2_0_MapKeyClass(), theOrmPackage.getXmlClassReference(), null, "mapKeyClass", null, 0, 1, XmlMultiRelationshipMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlMultiRelationshipMapping_2_0_MapKeyColumn(), theOrmPackage.getXmlColumn(), null, "mapKeyColumn", null, 0, 1, XmlMultiRelationshipMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlMultiRelationshipMapping_2_0_MapKeyJoinColumns(), theOrmPackage.getXmlJoinColumn(), null, "mapKeyJoinColumns", null, 0, -1, XmlMultiRelationshipMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlNamedQuery_2_0EClass, XmlNamedQuery_2_0.class, "XmlNamedQuery_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlNamedQuery_2_0_LockMode(), this.getLockModeType_2_0(), "lockMode", null, 0, 1, XmlNamedQuery_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlOneToMany_2_0EClass, XmlOneToMany_2_0.class, "XmlOneToMany_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlOneToOne_2_0EClass, XmlOneToOne_2_0.class, "XmlOneToOne_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlOrderable_2_0EClass, XmlOrderable_2_0.class, "XmlOrderable_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlOrderable_2_0_OrderColumn(), theOrmPackage.getXmlOrderColumn(), null, "orderColumn", null, 0, 1, XmlOrderable_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlOrderColumn_2_0EClass, XmlOrderColumn_2_0.class, "XmlOrderColumn_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlOrderColumn_2_0_Nullable(), theXMLTypePackage.getBooleanObject(), "nullable", null, 0, 1, XmlOrderColumn_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlOrderColumn_2_0_Insertable(), theXMLTypePackage.getBooleanObject(), "insertable", null, 0, 1, XmlOrderColumn_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlOrderColumn_2_0_Updatable(), theXMLTypePackage.getBooleanObject(), "updatable", null, 0, 1, XmlOrderColumn_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlOrphanRemovable_2_0EClass, XmlOrphanRemovable_2_0.class, "XmlOrphanRemovable_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlOrphanRemovable_2_0_OrphanRemoval(), theXMLTypePackage.getBooleanObject(), "orphanRemoval", null, 0, 1, XmlOrphanRemovable_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlPersistenceUnitDefaults_2_0EClass, XmlPersistenceUnitDefaults_2_0.class, "XmlPersistenceUnitDefaults_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlPersistenceUnitDefaults_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlPersistenceUnitDefaults_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlPersistenceUnitDefaults_2_0_DelimitedIdentifiers(), theXMLTypePackage.getBoolean(), "delimitedIdentifiers", null, 0, 1, XmlPersistenceUnitDefaults_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlPersistenceUnitMetadata_2_0EClass, XmlPersistenceUnitMetadata_2_0.class, "XmlPersistenceUnitMetadata_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlPersistenceUnitMetadata_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlPersistenceUnitMetadata_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlQuery_2_0EClass, XmlQuery_2_0.class, "XmlQuery_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlQuery_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlQuery_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlQueryHint_2_0EClass, XmlQueryHint_2_0.class, "XmlQueryHint_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlQueryHint_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlQueryHint_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlSequenceGenerator_2_0EClass, XmlSequenceGenerator_2_0.class, "XmlSequenceGenerator_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlSequenceGenerator_2_0_Catalog(), theXMLTypePackage.getString(), "catalog", null, 0, 1, XmlSequenceGenerator_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlSequenceGenerator_2_0_Schema(), theXMLTypePackage.getString(), "schema", null, 0, 1, XmlSequenceGenerator_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlSingleRelationshipMapping_2_0EClass, XmlSingleRelationshipMapping_2_0.class, "XmlSingleRelationshipMapping_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlSqlResultSetMapping_2_0EClass, XmlSqlResultSetMapping_2_0.class, "XmlSqlResultSetMapping_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlSqlResultSetMapping_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlSqlResultSetMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlUniqueConstraint_2_0EClass, XmlUniqueConstraint_2_0.class, "XmlUniqueConstraint_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlUniqueConstraint_2_0_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, XmlUniqueConstraint_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(lockModeType_2_0EEnum, LockModeType_2_0.class, "LockModeType_2_0");
+ addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.NONE);
+ addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.READ);
+ addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.WRITE);
+ addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.OPTIMISTIC);
+ addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.OPTIMISTIC_FORCE_INCREMENT);
+ addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.PESSIMISTIC_READ);
+ addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.PESSIMISTIC_WRITE);
+ addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.PESSIMISTIC_FORCE_INCREMENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0 <em>Xml Attribute Mapping 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributeMapping_2_0()
+ * @generated
+ */
+ public static final EClass XML_ATTRIBUTE_MAPPING_20 = eINSTANCE.getXmlAttributeMapping_2_0();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0 <em>Xml Association Override 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAssociationOverride_2_0()
+ * @generated
+ */
+ public static final EClass XML_ASSOCIATION_OVERRIDE_20 = eINSTANCE.getXmlAssociationOverride_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ASSOCIATION_OVERRIDE_20__DESCRIPTION = eINSTANCE.getXmlAssociationOverride_2_0_Description();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0 <em>Xml Attribute Override 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributeOverride_2_0()
+ * @generated
+ */
+ public static final EClass XML_ATTRIBUTE_OVERRIDE_20 = eINSTANCE.getXmlAttributeOverride_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ATTRIBUTE_OVERRIDE_20__DESCRIPTION = eINSTANCE.getXmlAttributeOverride_2_0_Description();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0 <em>Xml Attributes 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributes_2_0()
+ * @generated
+ */
+ public static final EClass XML_ATTRIBUTES_20 = eINSTANCE.getXmlAttributes_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ATTRIBUTES_20__DESCRIPTION = eINSTANCE.getXmlAttributes_2_0_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Element Collections</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ATTRIBUTES_20__ELEMENT_COLLECTIONS = eINSTANCE.getXmlAttributes_2_0_ElementCollections();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0 <em>Xml Collection Table 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCollectionTable_2_0()
+ * @generated
+ */
+ public static final EClass XML_COLLECTION_TABLE_20 = eINSTANCE.getXmlCollectionTable_2_0();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0 <em>Xml Derived Id 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlDerivedId_2_0()
+ * @generated
+ */
+ public static final EClass XML_DERIVED_ID_20 = eINSTANCE.getXmlDerivedId_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_DERIVED_ID_20__ID = eINSTANCE.getXmlDerivedId_2_0_Id();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0 <em>Xml Element Collection 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0()
+ * @generated
+ */
+ public static final EClass XML_ELEMENT_COLLECTION_20 = eINSTANCE.getXmlElementCollection_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Target Class</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ELEMENT_COLLECTION_20__TARGET_CLASS = eINSTANCE.getXmlElementCollection_2_0_TargetClass();
+
+ /**
+ * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ELEMENT_COLLECTION_20__FETCH = eINSTANCE.getXmlElementCollection_2_0_Fetch();
+
+ /**
+ * The meta object literal for the '<em><b>Map Key</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ELEMENT_COLLECTION_20__MAP_KEY = eINSTANCE.getXmlElementCollection_2_0_MapKey();
+
+ /**
+ * The meta object literal for the '<em><b>Map Key Class</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ELEMENT_COLLECTION_20__MAP_KEY_CLASS = eINSTANCE.getXmlElementCollection_2_0_MapKeyClass();
+
+ /**
+ * The meta object literal for the '<em><b>Map Key Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ELEMENT_COLLECTION_20__MAP_KEY_COLUMN = eINSTANCE.getXmlElementCollection_2_0_MapKeyColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Map Key Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ELEMENT_COLLECTION_20__MAP_KEY_JOIN_COLUMNS = eINSTANCE.getXmlElementCollection_2_0_MapKeyJoinColumns();
+
+ /**
+ * The meta object literal for the '<em><b>Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ELEMENT_COLLECTION_20__COLUMN = eINSTANCE.getXmlElementCollection_2_0_Column();
+
+ /**
+ * The meta object literal for the '<em><b>Collection Table</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ELEMENT_COLLECTION_20__COLLECTION_TABLE = eINSTANCE.getXmlElementCollection_2_0_CollectionTable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0 <em>Xml Embedded 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEmbedded_2_0()
+ * @generated
+ */
+ public static final EClass XML_EMBEDDED_20 = eINSTANCE.getXmlEmbedded_2_0();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0 <em>Xml Entity 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEntity_2_0()
+ * @generated
+ */
+ public static final EClass XML_ENTITY_20 = eINSTANCE.getXmlEntity_2_0();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0 <em>Xml Entity Listener 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEntityListener_2_0()
+ * @generated
+ */
+ public static final EClass XML_ENTITY_LISTENER_20 = eINSTANCE.getXmlEntityListener_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ENTITY_LISTENER_20__DESCRIPTION = eINSTANCE.getXmlEntityListener_2_0_Description();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0 <em>Xml Event Method 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEventMethod_2_0()
+ * @generated
+ */
+ public static final EClass XML_EVENT_METHOD_20 = eINSTANCE.getXmlEventMethod_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_EVENT_METHOD_20__DESCRIPTION = eINSTANCE.getXmlEventMethod_2_0_Description();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0 <em>Xml Generator 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlGenerator_2_0()
+ * @generated
+ */
+ public static final EClass XML_GENERATOR_20 = eINSTANCE.getXmlGenerator_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_GENERATOR_20__DESCRIPTION = eINSTANCE.getXmlGenerator_2_0_Description();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0 <em>Xml Many To Many 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlManyToMany_2_0()
+ * @generated
+ */
+ public static final EClass XML_MANY_TO_MANY_20 = eINSTANCE.getXmlManyToMany_2_0();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0 <em>Xml Map Key Attribute Override Container 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyAttributeOverrideContainer_2_0()
+ * @generated
+ */
+ public static final EClass XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20 = eINSTANCE.getXmlMapKeyAttributeOverrideContainer_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES = eINSTANCE.getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0 <em>Xml Map Key Convertible Mapping 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyConvertibleMapping_2_0()
+ * @generated
+ */
+ public static final EClass XML_MAP_KEY_CONVERTIBLE_MAPPING_20 = eINSTANCE.getXmlMapKeyConvertibleMapping_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Map Key Temporal</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL = eINSTANCE.getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal();
+
+ /**
+ * The meta object literal for the '<em><b>Map Key Enumerated</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED = eINSTANCE.getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0 <em>Xml Maps Id 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapsId_2_0()
+ * @generated
+ */
+ public static final EClass XML_MAPS_ID_20 = eINSTANCE.getXmlMapsId_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Maps Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_MAPS_ID_20__MAPS_ID = eINSTANCE.getXmlMapsId_2_0_MapsId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0 <em>Xml Multi Relationship Mapping 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMultiRelationshipMapping_2_0()
+ * @generated
+ */
+ public static final EClass XML_MULTI_RELATIONSHIP_MAPPING_20 = eINSTANCE.getXmlMultiRelationshipMapping_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Map Key Class</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS = eINSTANCE.getXmlMultiRelationshipMapping_2_0_MapKeyClass();
+
+ /**
+ * The meta object literal for the '<em><b>Map Key Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN = eINSTANCE.getXmlMultiRelationshipMapping_2_0_MapKeyColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Map Key Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS = eINSTANCE.getXmlMultiRelationshipMapping_2_0_MapKeyJoinColumns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0 <em>Xml Named Query 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlNamedQuery_2_0()
+ * @generated
+ */
+ public static final EClass XML_NAMED_QUERY_20 = eINSTANCE.getXmlNamedQuery_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Lock Mode</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_NAMED_QUERY_20__LOCK_MODE = eINSTANCE.getXmlNamedQuery_2_0_LockMode();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0 <em>Xml One To Many 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOneToMany_2_0()
+ * @generated
+ */
+ public static final EClass XML_ONE_TO_MANY_20 = eINSTANCE.getXmlOneToMany_2_0();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0 <em>Xml One To One 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOneToOne_2_0()
+ * @generated
+ */
+ public static final EClass XML_ONE_TO_ONE_20 = eINSTANCE.getXmlOneToOne_2_0();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0 <em>Xml Order Column 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderColumn_2_0()
+ * @generated
+ */
+ public static final EClass XML_ORDER_COLUMN_20 = eINSTANCE.getXmlOrderColumn_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Nullable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ORDER_COLUMN_20__NULLABLE = eINSTANCE.getXmlOrderColumn_2_0_Nullable();
+
+ /**
+ * The meta object literal for the '<em><b>Insertable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ORDER_COLUMN_20__INSERTABLE = eINSTANCE.getXmlOrderColumn_2_0_Insertable();
+
+ /**
+ * The meta object literal for the '<em><b>Updatable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ORDER_COLUMN_20__UPDATABLE = eINSTANCE.getXmlOrderColumn_2_0_Updatable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0 <em>Xml Persistence Unit Defaults 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitDefaults_2_0()
+ * @generated
+ */
+ public static final EClass XML_PERSISTENCE_UNIT_DEFAULTS_20 = eINSTANCE.getXmlPersistenceUnitDefaults_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT_DEFAULTS_20__DESCRIPTION = eINSTANCE.getXmlPersistenceUnitDefaults_2_0_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Delimited Identifiers</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT_DEFAULTS_20__DELIMITED_IDENTIFIERS = eINSTANCE.getXmlPersistenceUnitDefaults_2_0_DelimitedIdentifiers();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0 <em>Xml Persistence Unit Metadata 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitMetadata_2_0()
+ * @generated
+ */
+ public static final EClass XML_PERSISTENCE_UNIT_METADATA_20 = eINSTANCE.getXmlPersistenceUnitMetadata_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT_METADATA_20__DESCRIPTION = eINSTANCE.getXmlPersistenceUnitMetadata_2_0_Description();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0 <em>Xml Query 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQuery_2_0()
+ * @generated
+ */
+ public static final EClass XML_QUERY_20 = eINSTANCE.getXmlQuery_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_QUERY_20__DESCRIPTION = eINSTANCE.getXmlQuery_2_0_Description();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0 <em>Xml Query Hint 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQueryHint_2_0()
+ * @generated
+ */
+ public static final EClass XML_QUERY_HINT_20 = eINSTANCE.getXmlQueryHint_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_QUERY_HINT_20__DESCRIPTION = eINSTANCE.getXmlQueryHint_2_0_Description();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0 <em>Xml Sequence Generator 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSequenceGenerator_2_0()
+ * @generated
+ */
+ public static final EClass XML_SEQUENCE_GENERATOR_20 = eINSTANCE.getXmlSequenceGenerator_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_SEQUENCE_GENERATOR_20__CATALOG = eINSTANCE.getXmlSequenceGenerator_2_0_Catalog();
+
+ /**
+ * The meta object literal for the '<em><b>Schema</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_SEQUENCE_GENERATOR_20__SCHEMA = eINSTANCE.getXmlSequenceGenerator_2_0_Schema();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0 <em>Xml Single Relationship Mapping 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSingleRelationshipMapping_2_0()
+ * @generated
+ */
+ public static final EClass XML_SINGLE_RELATIONSHIP_MAPPING_20 = eINSTANCE.getXmlSingleRelationshipMapping_2_0();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0 <em>Xml Sql Result Set Mapping 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSqlResultSetMapping_2_0()
+ * @generated
+ */
+ public static final EClass XML_SQL_RESULT_SET_MAPPING_20 = eINSTANCE.getXmlSqlResultSetMapping_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_SQL_RESULT_SET_MAPPING_20__DESCRIPTION = eINSTANCE.getXmlSqlResultSetMapping_2_0_Description();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0 <em>Xml Unique Constraint 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlUniqueConstraint_2_0()
+ * @generated
+ */
+ public static final EClass XML_UNIQUE_CONSTRAINT_20 = eINSTANCE.getXmlUniqueConstraint_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_UNIQUE_CONSTRAINT_20__NAME = eINSTANCE.getXmlUniqueConstraint_2_0_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0 <em>Xml Cacheable 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCacheable_2_0()
+ * @generated
+ */
+ public static final EClass XML_CACHEABLE_20 = eINSTANCE.getXmlCacheable_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Cacheable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_CACHEABLE_20__CACHEABLE = eINSTANCE.getXmlCacheable_2_0_Cacheable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0 <em>Xml Cascade Type 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCascadeType_2_0()
+ * @generated
+ */
+ public static final EClass XML_CASCADE_TYPE_20 = eINSTANCE.getXmlCascadeType_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade Detach</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_CASCADE_TYPE_20__CASCADE_DETACH = eINSTANCE.getXmlCascadeType_2_0_CascadeDetach();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0 <em>Xml Orphan Removable 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrphanRemovable_2_0()
+ * @generated
+ */
+ public static final EClass XML_ORPHAN_REMOVABLE_20 = eINSTANCE.getXmlOrphanRemovable_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Orphan Removal</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL = eINSTANCE.getXmlOrphanRemovable_2_0_OrphanRemoval();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0 <em>Xml Orderable 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderable_2_0()
+ * @generated
+ */
+ public static final EClass XML_ORDERABLE_20 = eINSTANCE.getXmlOrderable_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Order Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ORDERABLE_20__ORDER_COLUMN = eINSTANCE.getXmlOrderable_2_0_OrderColumn();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0 <em>Lock Mode Type 20</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getLockModeType_2_0()
+ * @generated
+ */
+ public static final EEnum LOCK_MODE_TYPE_20 = eINSTANCE.getLockModeType_2_0();
+
+ }
+
+} //OrmV2_0Package
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAssociationOverride_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAssociationOverride_2_0.java
new file mode 100644
index 0000000000..00718558fc
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAssociationOverride_2_0.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Association Override 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAssociationOverride_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlAssociationOverride_2_0 extends XmlJoinTableContainer
+{
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAssociationOverride_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+} // XmlAssociationOverride_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeMapping_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeMapping_2_0.java
new file mode 100644
index 0000000000..08094ff11a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeMapping_2_0.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Attribute Mapping 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributeMapping_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlAttributeMapping_2_0 extends XmlAccessHolder
+{
+
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeOverride_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeOverride_2_0.java
new file mode 100644
index 0000000000..e0afeb4056
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeOverride_2_0.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Attribute Override 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributeOverride_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlAttributeOverride_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributeOverride_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+} // XmlAttributeOverride_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributes_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributes_2_0.java
new file mode 100644
index 0000000000..e1c5f46809
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributes_2_0.java
@@ -0,0 +1,86 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Attributes 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#getElementCollections <em>Element Collections</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributes_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlAttributes_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributes_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Element Collections</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element Collections</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>Element Collections</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributes_2_0_ElementCollections()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlElementCollection> getElementCollections();
+
+} // XmlAttributes_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCacheable_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCacheable_2_0.java
new file mode 100644
index 0000000000..ffa6a5682e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCacheable_2_0.java
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.utility.TextRange;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Cacheable2 0</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0#getCacheable <em>Cacheable</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCacheable_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlCacheable_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Cacheable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cacheable</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cacheable</em>' attribute.
+ * @see #setCacheable(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCacheable_2_0_Cacheable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getCacheable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0#getCacheable <em>Cacheable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cacheable</em>' attribute.
+ * @see #getCacheable()
+ * @generated
+ */
+ void setCacheable(Boolean value);
+
+ /**
+ * Return the {@link TextRange} for the cacheable annotation
+ */
+ TextRange getCacheableTextRange();
+} // XmlCacheable2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCascadeType_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCascadeType_2_0.java
new file mode 100644
index 0000000000..643d64bf87
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCascadeType_2_0.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Cascade Type 20</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0#isCascadeDetach <em>Cascade Detach</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCascadeType_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlCascadeType_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Cascade Detach</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade Detach</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cascade Detach</em>' attribute.
+ * @see #setCascadeDetach(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCascadeType_2_0_CascadeDetach()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isCascadeDetach();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0#isCascadeDetach <em>Cascade Detach</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade Detach</em>' attribute.
+ * @see #isCascadeDetach()
+ * @generated
+ */
+ void setCascadeDetach(boolean value);
+
+} // XmlCascadeType_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCollectionTable_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCollectionTable_2_0.java
new file mode 100644
index 0000000000..298a2311a1
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCollectionTable_2_0.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Collection Table 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCollectionTable_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlCollectionTable_2_0 extends XmlReferenceTable
+{
+
+} // XmlCollectionTable_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlDerivedId_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlDerivedId_2_0.java
new file mode 100644
index 0000000000..36a627611b
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlDerivedId_2_0.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.utility.TextRange;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Derived Id 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlDerivedId_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlDerivedId_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlDerivedId_2_0_Id()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(Boolean value);
+
+ /**
+ * Return the text range of the derived id part of the XML document
+ */
+ TextRange getIdTextRange();
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlElementCollection_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlElementCollection_2_0.java
new file mode 100644
index 0000000000..75b619398a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlElementCollection_2_0.java
@@ -0,0 +1,269 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2011 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.FetchType;
+import org.eclipse.jpt.jpa.core.resource.orm.MapKey;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlColumn;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Element Collection 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getTargetClass <em>Target Class</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKey <em>Map Key</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyClass <em>Map Key Class</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyColumn <em>Map Key Column</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyJoinColumns <em>Map Key Join Columns</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getColumn <em>Column</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getCollectionTable <em>Collection Table</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlElementCollection_2_0 extends XmlConvertibleMapping, XmlOrderable, XmlAttributeOverrideContainer, XmlAssociationOverrideContainer, XmlMapKeyAttributeOverrideContainer_2_0, XmlMapKeyConvertibleMapping_2_0
+{
+ /**
+ * Returns the value of the '<em><b>Target Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Class</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 Class</em>' attribute.
+ * @see #setTargetClass(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_TargetClass()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getTargetClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getTargetClass <em>Target Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Class</em>' attribute.
+ * @see #getTargetClass()
+ * @generated
+ */
+ void setTargetClass(String value);
+
+ /**
+ * Returns the value of the '<em><b>Fetch</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.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.jpt.jpa.core.resource.orm.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_Fetch()
+ * @model
+ * @generated
+ */
+ FetchType getFetch();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#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.jpt.jpa.core.resource.orm.FetchType
+ * @see #getFetch()
+ * @generated
+ */
+ void setFetch(FetchType 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.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_MapKey()
+ * @model containment="true"
+ * @generated
+ */
+ MapKey getMapKey();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#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>Map Key Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key 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>Map Key Class</em>' containment reference.
+ * @see #setMapKeyClass(XmlClassReference)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_MapKeyClass()
+ * @model containment="true"
+ * @generated
+ */
+ XmlClassReference getMapKeyClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyClass <em>Map Key Class</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Class</em>' containment reference.
+ * @see #getMapKeyClass()
+ * @generated
+ */
+ void setMapKeyClass(XmlClassReference value);
+
+ /**
+ * Returns the value of the '<em><b>Map Key Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key 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>Map Key Column</em>' containment reference.
+ * @see #setMapKeyColumn(XmlColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_MapKeyColumn()
+ * @model containment="true"
+ * @generated
+ */
+ XmlColumn getMapKeyColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyColumn <em>Map Key Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Column</em>' containment reference.
+ * @see #getMapKeyColumn()
+ * @generated
+ */
+ void setMapKeyColumn(XmlColumn value);
+
+ /**
+ * Returns the value of the '<em><b>Map Key Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map 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>Map Key Join Columns</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_MapKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlJoinColumn> getMapKeyJoinColumns();
+
+ /**
+ * 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(XmlColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_Column()
+ * @model containment="true"
+ * @generated
+ */
+ XmlColumn getColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#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(XmlColumn value);
+
+ /**
+ * Returns the value of the '<em><b>Collection Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Collection 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>Collection Table</em>' containment reference.
+ * @see #setCollectionTable(XmlCollectionTable)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_CollectionTable()
+ * @model containment="true"
+ * @generated
+ */
+ XmlCollectionTable getCollectionTable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getCollectionTable <em>Collection Table</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Collection Table</em>' containment reference.
+ * @see #getCollectionTable()
+ * @generated
+ */
+ void setCollectionTable(XmlCollectionTable value);
+
+ /**
+ * Return the {@link TextRange} for the target-class attribute.
+ */
+ TextRange getTargetClassTextRange();
+
+ /**
+ * Return the {@link TextRange} for the map-key-class attribute.
+ */
+ TextRange getMapKeyClassTextRange();
+
+} // XmlElementCollection_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEmbedded_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEmbedded_2_0.java
new file mode 100644
index 0000000000..31728d2e2f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEmbedded_2_0.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Embedded 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEmbedded_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlEmbedded_2_0 extends XmlAssociationOverrideContainer
+{
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntityListener_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntityListener_2_0.java
new file mode 100644
index 0000000000..33da87b3d2
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntityListener_2_0.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Entity Listener 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEntityListener_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlEntityListener_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEntityListener_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+} // XmlEntityListener_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntity_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntity_2_0.java
new file mode 100644
index 0000000000..c569622e9d
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntity_2_0.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Entity 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEntity_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlEntity_2_0 extends XmlCacheable_2_0
+{
+
+} // XmlEntity_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEventMethod_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEventMethod_2_0.java
new file mode 100644
index 0000000000..2b8fe3e4b1
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEventMethod_2_0.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Event Method 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEventMethod_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlEventMethod_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEventMethod_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+} // XmlEventMethod_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlGenerator_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlGenerator_2_0.java
new file mode 100644
index 0000000000..5f23c278ec
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlGenerator_2_0.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Generator 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlGenerator_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlGenerator_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlGenerator_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+} // XmlGenerator_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlManyToMany_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlManyToMany_2_0.java
new file mode 100644
index 0000000000..52ab5e52a5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlManyToMany_2_0.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Many To Many 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlManyToMany_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlManyToMany_2_0 extends XmlMultiRelationshipMapping_2_0
+{
+
+} // XmlManyToMany_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyAttributeOverrideContainer_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyAttributeOverrideContainer_2_0.java
new file mode 100644
index 0000000000..f17acb428a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyAttributeOverrideContainer_2_0.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Map Key Attribute Override Container2 0</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0#getMapKeyAttributeOverrides <em>Map Key Attribute Overrides</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyAttributeOverrideContainer_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlMapKeyAttributeOverrideContainer_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key 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>Map Key Attribute Overrides</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlAttributeOverride> getMapKeyAttributeOverrides();
+
+} // XmlMapKeyAttributeOverrideContainer2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyClass_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyClass_2_0.java
new file mode 100644
index 0000000000..a3cf62b0fd
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyClass_2_0.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Map Key Class 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyClass_2_0#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyClass_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlMapKeyClass_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class 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>Class Name</em>' attribute.
+ * @see #setClassName(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyClass_2_0_ClassName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getClassName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyClass_2_0#getClassName <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Class Name</em>' attribute.
+ * @see #getClassName()
+ * @generated
+ */
+ void setClassName(String value);
+
+} // XmlMapKeyClass_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyConvertibleMapping_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyConvertibleMapping_2_0.java
new file mode 100644
index 0000000000..e743b96adf
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyConvertibleMapping_2_0.java
@@ -0,0 +1,115 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.EnumType;
+import org.eclipse.jpt.jpa.core.resource.orm.TemporalType;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Map Key Convertible Mapping 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyTemporal <em>Map Key Temporal</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyEnumerated <em>Map Key Enumerated</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyConvertibleMapping_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlMapKeyConvertibleMapping_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Map Key Temporal</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key Temporal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Map Key Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #setMapKeyTemporal(TemporalType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal()
+ * @model
+ * @generated
+ */
+ TemporalType getMapKeyTemporal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyTemporal <em>Map Key Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Temporal</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType
+ * @see #getMapKeyTemporal()
+ * @generated
+ */
+ void setMapKeyTemporal(TemporalType value);
+
+ /**
+ * Returns the value of the '<em><b>Map Key Enumerated</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.EnumType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key Enumerated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Map Key Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #setMapKeyEnumerated(EnumType)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated()
+ * @model
+ * @generated
+ */
+ EnumType getMapKeyEnumerated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyEnumerated <em>Map Key Enumerated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Enumerated</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType
+ * @see #getMapKeyEnumerated()
+ * @generated
+ */
+ void setMapKeyEnumerated(EnumType value);
+
+ /**
+ * Return the {@link TextRange} for the enumerated element. If the enumerated element
+ * does not exist return the {@link TextRange} for the basic element.
+ */
+ TextRange getMapKeyEnumeratedTextRange();
+
+ /**
+ * Return the {@link TextRange} for the temporal element. If the temporal element
+ * does not exist return the {@link TextRange} for the basic element.
+ */
+ TextRange getMapKeyTemporalTextRange();
+
+} // XmlMapKeyConvertibleMapping_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapsId_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapsId_2_0.java
new file mode 100644
index 0000000000..fb408050d6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapsId_2_0.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.utility.TextRange;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Maps Id 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0#getMapsId <em>Maps Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapsId_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlMapsId_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Maps Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Maps Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Maps Id</em>' attribute.
+ * @see #setMapsId(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapsId_2_0_MapsId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getMapsId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0#getMapsId <em>Maps Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Maps Id</em>' attribute.
+ * @see #getMapsId()
+ * @generated
+ */
+ void setMapsId(String value);
+
+ /**
+ * Return the text range of the "maps-id" part of the XML document
+ */
+ TextRange getMapsIdTextRange();
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMultiRelationshipMapping_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMultiRelationshipMapping_2_0.java
new file mode 100644
index 0000000000..cc1b46c49d
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMultiRelationshipMapping_2_0.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2010, 2011 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlColumn;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Multi Relationship Mapping 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyClass <em>Map Key Class</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyColumn <em>Map Key Column</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyJoinColumns <em>Map Key Join Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMultiRelationshipMapping_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlMultiRelationshipMapping_2_0 extends XmlOrderable_2_0, XmlMapKeyAttributeOverrideContainer_2_0, XmlMapKeyConvertibleMapping_2_0
+{
+ /**
+ * Returns the value of the '<em><b>Map Key Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key 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>Map Key Class</em>' containment reference.
+ * @see #setMapKeyClass(XmlClassReference)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMultiRelationshipMapping_2_0_MapKeyClass()
+ * @model containment="true"
+ * @generated
+ */
+ XmlClassReference getMapKeyClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyClass <em>Map Key Class</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Class</em>' containment reference.
+ * @see #getMapKeyClass()
+ * @generated
+ */
+ void setMapKeyClass(XmlClassReference value);
+
+ /**
+ * Returns the value of the '<em><b>Map Key Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key 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>Map Key Column</em>' containment reference.
+ * @see #setMapKeyColumn(XmlColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMultiRelationshipMapping_2_0_MapKeyColumn()
+ * @model containment="true"
+ * @generated
+ */
+ XmlColumn getMapKeyColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyColumn <em>Map Key Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key Column</em>' containment reference.
+ * @see #getMapKeyColumn()
+ * @generated
+ */
+ void setMapKeyColumn(XmlColumn value);
+
+ /**
+ * Returns the value of the '<em><b>Map Key Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map 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>Map Key Join Columns</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMultiRelationshipMapping_2_0_MapKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlJoinColumn> getMapKeyJoinColumns();
+
+ /**
+ * Return the {@link TextRange} for the map-key-class attribute.
+ */
+ TextRange getMapKeyClassTextRange();
+} // XmlMultiRelationshipMapping_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlNamedQuery_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlNamedQuery_2_0.java
new file mode 100644
index 0000000000..a170799adb
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlNamedQuery_2_0.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Named Query 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0#getLockMode <em>Lock Mode</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlNamedQuery_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlNamedQuery_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Lock Mode</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lock Mode</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lock Mode</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0
+ * @see #setLockMode(LockModeType_2_0)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlNamedQuery_2_0_LockMode()
+ * @model
+ * @generated
+ */
+ LockModeType_2_0 getLockMode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0#getLockMode <em>Lock Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lock Mode</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0
+ * @see #getLockMode()
+ * @generated
+ */
+ void setLockMode(LockModeType_2_0 value);
+
+} // XmlNamedQuery_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToMany_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToMany_2_0.java
new file mode 100644
index 0000000000..a2792c9c84
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToMany_2_0.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml One To Many 20</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOneToMany_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlOneToMany_2_0 extends XmlMultiRelationshipMapping_2_0, XmlOrphanRemovable_2_0
+{
+
+} // XmlOneToMany_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToOne_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToOne_2_0.java
new file mode 100644
index 0000000000..6a9a7c5071
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToOne_2_0.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml One To One 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOneToOne_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlOneToOne_2_0 extends XmlSingleRelationshipMapping_2_0, XmlOrphanRemovable_2_0
+{
+
+} // XmlOneToOne_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderColumn_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderColumn_2_0.java
new file mode 100644
index 0000000000..d9f1b29b22
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderColumn_2_0.java
@@ -0,0 +1,121 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Order Column 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getNullable <em>Nullable</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getInsertable <em>Insertable</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getUpdatable <em>Updatable</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderColumn_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlOrderColumn_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Nullable</b></em>' attribute.
+ * <!-- 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 #setNullable(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderColumn_2_0_Nullable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getNullable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getNullable <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nullable</em>' attribute.
+ * @see #getNullable()
+ * @generated
+ */
+ void setNullable(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Insertable</b></em>' attribute.
+ * <!-- 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.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderColumn_2_0_Insertable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getInsertable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getInsertable <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Insertable</em>' attribute.
+ * @see #getInsertable()
+ * @generated
+ */
+ void setInsertable(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Updatable</b></em>' attribute.
+ * <!-- 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.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderColumn_2_0_Updatable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getUpdatable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getUpdatable <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Updatable</em>' attribute.
+ * @see #getUpdatable()
+ * @generated
+ */
+ void setUpdatable(Boolean value);
+
+} // XmlOrderColumn_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderable_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderable_2_0.java
new file mode 100644
index 0000000000..e762f04089
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderable_2_0.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Orderable 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0#getOrderColumn <em>Order Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderable_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlOrderable_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Order Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Order 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>Order Column</em>' containment reference.
+ * @see #setOrderColumn(XmlOrderColumn)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderable_2_0_OrderColumn()
+ * @model containment="true"
+ * @generated
+ */
+ XmlOrderColumn getOrderColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0#getOrderColumn <em>Order Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Order Column</em>' containment reference.
+ * @see #getOrderColumn()
+ * @generated
+ */
+ void setOrderColumn(XmlOrderColumn value);
+
+} // XmlOrderable_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrphanRemovable_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrphanRemovable_2_0.java
new file mode 100644
index 0000000000..38e199393c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrphanRemovable_2_0.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Orphan Removable2 0</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0#getOrphanRemoval <em>Orphan Removal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrphanRemovable_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlOrphanRemovable_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Orphan Removal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Orphan Removal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Orphan Removal</em>' attribute.
+ * @see #setOrphanRemoval(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrphanRemovable_2_0_OrphanRemoval()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getOrphanRemoval();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0#getOrphanRemoval <em>Orphan Removal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Orphan Removal</em>' attribute.
+ * @see #getOrphanRemoval()
+ * @generated
+ */
+ void setOrphanRemoval(Boolean value);
+
+} // XmlOrphanRemovable2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitDefaults_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitDefaults_2_0.java
new file mode 100644
index 0000000000..61326dfbf4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitDefaults_2_0.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Persistence Unit Defaults 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#isDelimitedIdentifiers <em>Delimited Identifiers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitDefaults_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlPersistenceUnitDefaults_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitDefaults_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Delimited Identifiers</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Delimited Identifiers</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Delimited Identifiers</em>' attribute.
+ * @see #setDelimitedIdentifiers(boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitDefaults_2_0_DelimitedIdentifiers()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isDelimitedIdentifiers();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#isDelimitedIdentifiers <em>Delimited Identifiers</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Delimited Identifiers</em>' attribute.
+ * @see #isDelimitedIdentifiers()
+ * @generated
+ */
+ void setDelimitedIdentifiers(boolean value);
+
+} // XmlPersistenceUnitDefaults_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitMetadata_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitMetadata_2_0.java
new file mode 100644
index 0000000000..48fcff99fd
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitMetadata_2_0.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Persistence Unit Metadata 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitMetadata_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlPersistenceUnitMetadata_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitMetadata_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+} // XmlPersistenceUnitMetadata_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQueryHint_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQueryHint_2_0.java
new file mode 100644
index 0000000000..96d69c83c1
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQueryHint_2_0.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Query Hint 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQueryHint_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlQueryHint_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQueryHint_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+} // XmlQueryHint_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQuery_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQuery_2_0.java
new file mode 100644
index 0000000000..d96d8cb2db
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQuery_2_0.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Query 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQuery_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlQuery_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQuery_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+} // XmlQuery_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSequenceGenerator_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSequenceGenerator_2_0.java
new file mode 100644
index 0000000000..336514e063
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSequenceGenerator_2_0.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Sequence Generator 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getSchema <em>Schema</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSequenceGenerator_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlSequenceGenerator_2_0 extends EBaseObject
+{
+ /**
+ * 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.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSequenceGenerator_2_0_Catalog()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getCatalog();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#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.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSequenceGenerator_2_0_Schema()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getSchema();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#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);
+
+} // XmlSequenceGenerator_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSingleRelationshipMapping_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSingleRelationshipMapping_2_0.java
new file mode 100644
index 0000000000..5b087d37b7
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSingleRelationshipMapping_2_0.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Single Relationship Mapping 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSingleRelationshipMapping_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlSingleRelationshipMapping_2_0 extends XmlDerivedId_2_0, XmlMapsId_2_0
+{
+} // XmlSingleRelationshipMapping_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSqlResultSetMapping_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSqlResultSetMapping_2_0.java
new file mode 100644
index 0000000000..d9ff32a235
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSqlResultSetMapping_2_0.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Sql Result Set Mapping 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSqlResultSetMapping_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlSqlResultSetMapping_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSqlResultSetMapping_2_0_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+} // XmlSqlResultSetMapping_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlUniqueConstraint_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlUniqueConstraint_2_0.java
new file mode 100644
index 0000000000..4008ff258f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlUniqueConstraint_2_0.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Unique Constraint 20</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlUniqueConstraint_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlUniqueConstraint_2_0 extends EBaseObject
+{
+ /**
+ * 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.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlUniqueConstraint_2_0_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0#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);
+
+} // XmlUniqueConstraint_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistenceFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistenceFactory.java
new file mode 100644
index 0000000000..8df8130a4b
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistenceFactory.java
@@ -0,0 +1,250 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence;
+
+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;
+
+/**
+ * <!-- 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.jpt.jpa.core.resource.persistence.PersistencePackage
+ * @generated
+ */
+public class PersistenceFactory extends EFactoryImpl
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final PersistenceFactory eINSTANCE = init();
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PersistenceFactory init()
+ {
+ try
+ {
+ PersistenceFactory thePersistenceFactory = (PersistenceFactory)EPackage.Registry.INSTANCE.getEFactory("jpt.persistence.xmi");
+ if (thePersistenceFactory != null)
+ {
+ return thePersistenceFactory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new PersistenceFactory();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PersistenceFactory()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case PersistencePackage.XML_JAVA_CLASS_REF: return (EObject)createXmlJavaClassRef();
+ case PersistencePackage.XML_JAR_FILE_REF: return (EObject)createXmlJarFileRef();
+ case PersistencePackage.XML_MAPPING_FILE_REF: return (EObject)createXmlMappingFileRef();
+ case PersistencePackage.XML_PERSISTENCE: return (EObject)createXmlPersistence();
+ case PersistencePackage.XML_PERSISTENCE_UNIT: return (EObject)createXmlPersistenceUnit();
+ case PersistencePackage.XML_PROPERTIES: return (EObject)createXmlProperties();
+ case PersistencePackage.XML_PROPERTY: return (EObject)createXmlProperty();
+ 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 PersistencePackage.XML_PERSISTENCE_UNIT_TRANSACTION_TYPE:
+ return createXmlPersistenceUnitTransactionTypeFromString(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 PersistencePackage.XML_PERSISTENCE_UNIT_TRANSACTION_TYPE:
+ return convertXmlPersistenceUnitTransactionTypeToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlJavaClassRef createXmlJavaClassRef()
+ {
+ XmlJavaClassRef xmlJavaClassRef = new XmlJavaClassRef();
+ return xmlJavaClassRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlJarFileRef createXmlJarFileRef()
+ {
+ XmlJarFileRef xmlJarFileRef = new XmlJarFileRef();
+ return xmlJarFileRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlMappingFileRef createXmlMappingFileRef()
+ {
+ XmlMappingFileRef xmlMappingFileRef = new XmlMappingFileRef();
+ return xmlMappingFileRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlPersistence createXmlPersistence()
+ {
+ XmlPersistence xmlPersistence = new XmlPersistence();
+ return xmlPersistence;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlPersistenceUnit createXmlPersistenceUnit()
+ {
+ XmlPersistenceUnit xmlPersistenceUnit = new XmlPersistenceUnit();
+ return xmlPersistenceUnit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlProperties createXmlProperties()
+ {
+ XmlProperties xmlProperties = new XmlProperties();
+ return xmlProperties;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlProperty createXmlProperty()
+ {
+ XmlProperty xmlProperty = new XmlProperty();
+ return xmlProperty;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlPersistenceUnitTransactionType createXmlPersistenceUnitTransactionTypeFromString(EDataType eDataType, String initialValue)
+ {
+ XmlPersistenceUnitTransactionType result = XmlPersistenceUnitTransactionType.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 convertXmlPersistenceUnitTransactionTypeToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PersistencePackage getPersistencePackage()
+ {
+ return (PersistencePackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static PersistencePackage getPackage()
+ {
+ return PersistencePackage.eINSTANCE;
+ }
+
+} //PersistenceFactory
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistencePackage.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistencePackage.java
new file mode 100644
index 0000000000..c8ccaf2a44
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistencePackage.java
@@ -0,0 +1,1309 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2012 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+import org.eclipse.jpt.common.core.resource.xml.CommonPackage;
+import org.eclipse.jpt.jpa.core.resource.orm.OrmPackage;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package;
+
+/**
+ * <!-- 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.jpt.jpa.core.resource.persistence.PersistenceFactory
+ * @model kind="package"
+ * @generated
+ */
+public class PersistencePackage extends EPackageImpl
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNAME = "persistence";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_URI = "jpt.persistence.xmi";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_PREFIX = "org.eclipse.jpt.jpa.core.resource.persistence";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final PersistencePackage eINSTANCE = org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef <em>Xml Java Class Ref</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJavaClassRef()
+ * @generated
+ */
+ public static final int XML_JAVA_CLASS_REF = 0;
+
+ /**
+ * The feature id for the '<em><b>Java Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JAVA_CLASS_REF__JAVA_CLASS = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Java Class Ref</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JAVA_CLASS_REF_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef <em>Xml Jar File Ref</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJarFileRef()
+ * @generated
+ */
+ public static final int XML_JAR_FILE_REF = 1;
+
+ /**
+ * The feature id for the '<em><b>File Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JAR_FILE_REF__FILE_NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Jar File Ref</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JAR_FILE_REF_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef <em>Xml Mapping File Ref</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlMappingFileRef()
+ * @generated
+ */
+ public static final int XML_MAPPING_FILE_REF = 2;
+
+ /**
+ * The feature id for the '<em><b>File Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPING_FILE_REF__FILE_NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Mapping File Ref</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPING_FILE_REF_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence <em>Xml Persistence</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistence()
+ * @generated
+ */
+ public static final int XML_PERSISTENCE = 3;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE__VERSION = CommonPackage.EROOT_OBJECT_IMPL__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Schema Location</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE__SCHEMA_LOCATION = CommonPackage.EROOT_OBJECT_IMPL__SCHEMA_LOCATION;
+
+ /**
+ * The feature id for the '<em><b>Implied Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE__IMPLIED_VERSION = CommonPackage.EROOT_OBJECT_IMPL__IMPLIED_VERSION;
+
+ /**
+ * The feature id for the '<em><b>Persistence Units</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE__PERSISTENCE_UNITS = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Persistence</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_FEATURE_COUNT = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit <em>Xml Persistence Unit</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit()
+ * @generated
+ */
+ public static final int XML_PERSISTENCE_UNIT = 4;
+
+ /**
+ * The feature id for the '<em><b>Shared Cache Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT__SHARED_CACHE_MODE = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20__SHARED_CACHE_MODE;
+
+ /**
+ * The feature id for the '<em><b>Validation Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT__VALIDATION_MODE = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20__VALIDATION_MODE;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT__DESCRIPTION = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Provider</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT__PROVIDER = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Jta Data Source</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Non Jta Data Source</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Mapping Files</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT__MAPPING_FILES = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Jar Files</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT__JAR_FILES = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Classes</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT__CLASSES = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Exclude Unlisted Classes</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT__PROPERTIES = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT__NAME = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Transaction Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT__TRANSACTION_TYPE = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 10;
+
+ /**
+ * The number of structural features of the '<em>Xml Persistence Unit</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_FEATURE_COUNT = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties <em>Xml Properties</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperties()
+ * @generated
+ */
+ public static final int XML_PROPERTIES = 5;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PROPERTIES__PROPERTIES = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Properties</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PROPERTIES_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty <em>Xml Property</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperty()
+ * @generated
+ */
+ public static final int XML_PROPERTY = 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PROPERTY__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PROPERTY__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Property</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PROPERTY_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType <em>Xml Persistence Unit Transaction Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnitTransactionType()
+ * @generated
+ */
+ public static final int XML_PERSISTENCE_UNIT_TRANSACTION_TYPE = 7;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlJavaClassRefEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlJarFileRefEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlMappingFileRefEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlPersistenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlPersistenceUnitEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlPropertiesEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlPropertyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum xmlPersistenceUnitTransactionTypeEEnum = 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.jpt.jpa.core.resource.persistence.PersistencePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private PersistencePackage()
+ {
+ super(eNS_URI, PersistenceFactory.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 PersistencePackage#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 PersistencePackage init()
+ {
+ if (isInited) return (PersistencePackage)EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI);
+
+ // Obtain or create and register package
+ PersistencePackage thePersistencePackage = (PersistencePackage)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PersistencePackage ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PersistencePackage());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ CommonPackage.eINSTANCE.eClass();
+ EcorePackage.eINSTANCE.eClass();
+ XMLTypePackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ OrmPackage theOrmPackage = (OrmPackage)(EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI) instanceof OrmPackage ? EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI) : OrmPackage.eINSTANCE);
+ OrmV2_0Package theOrmV2_0Package = (OrmV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI) instanceof OrmV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI) : OrmV2_0Package.eINSTANCE);
+ PersistenceV2_0Package thePersistenceV2_0Package = (PersistenceV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI) instanceof PersistenceV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI) : PersistenceV2_0Package.eINSTANCE);
+
+ // Create package meta-data objects
+ thePersistencePackage.createPackageContents();
+ theOrmPackage.createPackageContents();
+ theOrmV2_0Package.createPackageContents();
+ thePersistenceV2_0Package.createPackageContents();
+
+ // Initialize created meta-data
+ thePersistencePackage.initializePackageContents();
+ theOrmPackage.initializePackageContents();
+ theOrmV2_0Package.initializePackageContents();
+ thePersistenceV2_0Package.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ thePersistencePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(PersistencePackage.eNS_URI, thePersistencePackage);
+ return thePersistencePackage;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef <em>Xml Java Class Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Java Class Ref</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef
+ * @generated
+ */
+ public EClass getXmlJavaClassRef()
+ {
+ return xmlJavaClassRefEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef#getJavaClass <em>Java Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Java Class</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef#getJavaClass()
+ * @see #getXmlJavaClassRef()
+ * @generated
+ */
+ public EAttribute getXmlJavaClassRef_JavaClass()
+ {
+ return (EAttribute)xmlJavaClassRefEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef <em>Xml Jar File Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Jar File Ref</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef
+ * @generated
+ */
+ public EClass getXmlJarFileRef()
+ {
+ return xmlJarFileRefEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef#getFileName <em>File Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>File Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef#getFileName()
+ * @see #getXmlJarFileRef()
+ * @generated
+ */
+ public EAttribute getXmlJarFileRef_FileName()
+ {
+ return (EAttribute)xmlJarFileRefEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef <em>Xml Mapping File Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Mapping File Ref</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef
+ * @generated
+ */
+ public EClass getXmlMappingFileRef()
+ {
+ return xmlMappingFileRefEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef#getFileName <em>File Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>File Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef#getFileName()
+ * @see #getXmlMappingFileRef()
+ * @generated
+ */
+ public EAttribute getXmlMappingFileRef_FileName()
+ {
+ return (EAttribute)xmlMappingFileRefEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence <em>Xml Persistence</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Persistence</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence
+ * @generated
+ */
+ public EClass getXmlPersistence()
+ {
+ return xmlPersistenceEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence#getPersistenceUnits <em>Persistence Units</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Persistence Units</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence#getPersistenceUnits()
+ * @see #getXmlPersistence()
+ * @generated
+ */
+ public EReference getXmlPersistence_PersistenceUnits()
+ {
+ return (EReference)xmlPersistenceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit <em>Xml Persistence Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Persistence Unit</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit
+ * @generated
+ */
+ public EClass getXmlPersistenceUnit()
+ {
+ return xmlPersistenceUnitEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getDescription()
+ * @see #getXmlPersistenceUnit()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnit_Description()
+ {
+ return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProvider <em>Provider</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Provider</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProvider()
+ * @see #getXmlPersistenceUnit()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnit_Provider()
+ {
+ return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJtaDataSource <em>Jta Data Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Jta Data Source</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJtaDataSource()
+ * @see #getXmlPersistenceUnit()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnit_JtaDataSource()
+ {
+ return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getNonJtaDataSource <em>Non Jta Data Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Non Jta Data Source</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getNonJtaDataSource()
+ * @see #getXmlPersistenceUnit()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnit_NonJtaDataSource()
+ {
+ return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getMappingFiles <em>Mapping Files</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Mapping Files</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getMappingFiles()
+ * @see #getXmlPersistenceUnit()
+ * @generated
+ */
+ public EReference getXmlPersistenceUnit_MappingFiles()
+ {
+ return (EReference)xmlPersistenceUnitEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJarFiles <em>Jar Files</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Jar Files</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJarFiles()
+ * @see #getXmlPersistenceUnit()
+ * @generated
+ */
+ public EReference getXmlPersistenceUnit_JarFiles()
+ {
+ return (EReference)xmlPersistenceUnitEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getClasses <em>Classes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Classes</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getClasses()
+ * @see #getXmlPersistenceUnit()
+ * @generated
+ */
+ public EReference getXmlPersistenceUnit_Classes()
+ {
+ return (EReference)xmlPersistenceUnitEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getExcludeUnlistedClasses <em>Exclude Unlisted Classes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exclude Unlisted Classes</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getExcludeUnlistedClasses()
+ * @see #getXmlPersistenceUnit()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnit_ExcludeUnlistedClasses()
+ {
+ return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProperties <em>Properties</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Properties</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProperties()
+ * @see #getXmlPersistenceUnit()
+ * @generated
+ */
+ public EReference getXmlPersistenceUnit_Properties()
+ {
+ return (EReference)xmlPersistenceUnitEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getName()
+ * @see #getXmlPersistenceUnit()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnit_Name()
+ {
+ return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getTransactionType <em>Transaction Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Transaction Type</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getTransactionType()
+ * @see #getXmlPersistenceUnit()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnit_TransactionType()
+ {
+ return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties <em>Xml Properties</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Properties</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties
+ * @generated
+ */
+ public EClass getXmlProperties()
+ {
+ return xmlPropertiesEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties#getProperties <em>Properties</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Properties</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties#getProperties()
+ * @see #getXmlProperties()
+ * @generated
+ */
+ public EReference getXmlProperties_Properties()
+ {
+ return (EReference)xmlPropertiesEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty <em>Xml Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Property</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty
+ * @generated
+ */
+ public EClass getXmlProperty()
+ {
+ return xmlPropertyEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#getName()
+ * @see #getXmlProperty()
+ * @generated
+ */
+ public EAttribute getXmlProperty_Name()
+ {
+ return (EAttribute)xmlPropertyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#getValue()
+ * @see #getXmlProperty()
+ * @generated
+ */
+ public EAttribute getXmlProperty_Value()
+ {
+ return (EAttribute)xmlPropertyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType <em>Xml Persistence Unit Transaction Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Xml Persistence Unit Transaction Type</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType
+ * @generated
+ */
+ public EEnum getXmlPersistenceUnitTransactionType()
+ {
+ return xmlPersistenceUnitTransactionTypeEEnum;
+ }
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ public PersistenceFactory getPersistenceFactory()
+ {
+ return (PersistenceFactory)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
+ xmlJavaClassRefEClass = createEClass(XML_JAVA_CLASS_REF);
+ createEAttribute(xmlJavaClassRefEClass, XML_JAVA_CLASS_REF__JAVA_CLASS);
+
+ xmlJarFileRefEClass = createEClass(XML_JAR_FILE_REF);
+ createEAttribute(xmlJarFileRefEClass, XML_JAR_FILE_REF__FILE_NAME);
+
+ xmlMappingFileRefEClass = createEClass(XML_MAPPING_FILE_REF);
+ createEAttribute(xmlMappingFileRefEClass, XML_MAPPING_FILE_REF__FILE_NAME);
+
+ xmlPersistenceEClass = createEClass(XML_PERSISTENCE);
+ createEReference(xmlPersistenceEClass, XML_PERSISTENCE__PERSISTENCE_UNITS);
+
+ xmlPersistenceUnitEClass = createEClass(XML_PERSISTENCE_UNIT);
+ createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__DESCRIPTION);
+ createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__PROVIDER);
+ createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE);
+ createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE);
+ createEReference(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__MAPPING_FILES);
+ createEReference(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__JAR_FILES);
+ createEReference(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__CLASSES);
+ createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES);
+ createEReference(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__PROPERTIES);
+ createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__NAME);
+ createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__TRANSACTION_TYPE);
+
+ xmlPropertiesEClass = createEClass(XML_PROPERTIES);
+ createEReference(xmlPropertiesEClass, XML_PROPERTIES__PROPERTIES);
+
+ xmlPropertyEClass = createEClass(XML_PROPERTY);
+ createEAttribute(xmlPropertyEClass, XML_PROPERTY__NAME);
+ createEAttribute(xmlPropertyEClass, XML_PROPERTY__VALUE);
+
+ // Create enums
+ xmlPersistenceUnitTransactionTypeEEnum = createEEnum(XML_PERSISTENCE_UNIT_TRANSACTION_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);
+
+ // Obtain other dependent packages
+ PersistenceV2_0Package thePersistenceV2_0Package = (PersistenceV2_0Package)EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ CommonPackage theCommonPackage = (CommonPackage)EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI);
+ XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
+
+ // Add subpackages
+ getESubpackages().add(thePersistenceV2_0Package);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ xmlPersistenceEClass.getESuperTypes().add(theCommonPackage.getERootObjectImpl());
+ xmlPersistenceUnitEClass.getESuperTypes().add(thePersistenceV2_0Package.getXmlPersistenceUnit_2_0());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(xmlJavaClassRefEClass, XmlJavaClassRef.class, "XmlJavaClassRef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlJavaClassRef_JavaClass(), theEcorePackage.getEString(), "javaClass", "", 0, 1, XmlJavaClassRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(xmlJarFileRefEClass, XmlJarFileRef.class, "XmlJarFileRef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlJarFileRef_FileName(), theEcorePackage.getEString(), "fileName", "", 0, 1, XmlJarFileRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(xmlMappingFileRefEClass, XmlMappingFileRef.class, "XmlMappingFileRef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlMappingFileRef_FileName(), theEcorePackage.getEString(), "fileName", "", 0, 1, XmlMappingFileRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(xmlPersistenceEClass, XmlPersistence.class, "XmlPersistence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlPersistence_PersistenceUnits(), this.getXmlPersistenceUnit(), null, "persistenceUnits", null, 0, -1, XmlPersistence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlPersistenceUnitEClass, XmlPersistenceUnit.class, "XmlPersistenceUnit", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlPersistenceUnit_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlPersistenceUnit_Provider(), theXMLTypePackage.getString(), "provider", null, 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlPersistenceUnit_JtaDataSource(), theXMLTypePackage.getString(), "jtaDataSource", null, 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlPersistenceUnit_NonJtaDataSource(), theXMLTypePackage.getString(), "nonJtaDataSource", null, 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlPersistenceUnit_MappingFiles(), this.getXmlMappingFileRef(), null, "mappingFiles", null, 0, -1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlPersistenceUnit_JarFiles(), this.getXmlJarFileRef(), null, "jarFiles", null, 0, -1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlPersistenceUnit_Classes(), this.getXmlJavaClassRef(), null, "classes", null, 0, -1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlPersistenceUnit_ExcludeUnlistedClasses(), theXMLTypePackage.getBooleanObject(), "excludeUnlistedClasses", null, 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlPersistenceUnit_Properties(), this.getXmlProperties(), null, "properties", null, 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlPersistenceUnit_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlPersistenceUnit_TransactionType(), this.getXmlPersistenceUnitTransactionType(), "transactionType", "JTA", 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlPropertiesEClass, XmlProperties.class, "XmlProperties", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlProperties_Properties(), this.getXmlProperty(), null, "properties", null, 0, -1, XmlProperties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlPropertyEClass, XmlProperty.class, "XmlProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlProperty_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlProperty_Value(), theXMLTypePackage.getString(), "value", null, 1, 1, XmlProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(xmlPersistenceUnitTransactionTypeEEnum, XmlPersistenceUnitTransactionType.class, "XmlPersistenceUnitTransactionType");
+ addEEnumLiteral(xmlPersistenceUnitTransactionTypeEEnum, XmlPersistenceUnitTransactionType.JTA);
+ addEEnumLiteral(xmlPersistenceUnitTransactionTypeEEnum, XmlPersistenceUnitTransactionType.RESOURCE_LOCAL);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef <em>Xml Java Class Ref</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJavaClassRef()
+ * @generated
+ */
+ public static final EClass XML_JAVA_CLASS_REF = eINSTANCE.getXmlJavaClassRef();
+
+ /**
+ * The meta object literal for the '<em><b>Java Class</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_JAVA_CLASS_REF__JAVA_CLASS = eINSTANCE.getXmlJavaClassRef_JavaClass();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef <em>Xml Jar File Ref</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJarFileRef()
+ * @generated
+ */
+ public static final EClass XML_JAR_FILE_REF = eINSTANCE.getXmlJarFileRef();
+
+ /**
+ * The meta object literal for the '<em><b>File Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_JAR_FILE_REF__FILE_NAME = eINSTANCE.getXmlJarFileRef_FileName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef <em>Xml Mapping File Ref</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlMappingFileRef()
+ * @generated
+ */
+ public static final EClass XML_MAPPING_FILE_REF = eINSTANCE.getXmlMappingFileRef();
+
+ /**
+ * The meta object literal for the '<em><b>File Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_MAPPING_FILE_REF__FILE_NAME = eINSTANCE.getXmlMappingFileRef_FileName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence <em>Xml Persistence</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistence()
+ * @generated
+ */
+ public static final EClass XML_PERSISTENCE = eINSTANCE.getXmlPersistence();
+
+ /**
+ * The meta object literal for the '<em><b>Persistence Units</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_PERSISTENCE__PERSISTENCE_UNITS = eINSTANCE.getXmlPersistence_PersistenceUnits();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit <em>Xml Persistence Unit</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit()
+ * @generated
+ */
+ public static final EClass XML_PERSISTENCE_UNIT = eINSTANCE.getXmlPersistenceUnit();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT__DESCRIPTION = eINSTANCE.getXmlPersistenceUnit_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Provider</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT__PROVIDER = eINSTANCE.getXmlPersistenceUnit_Provider();
+
+ /**
+ * The meta object literal for the '<em><b>Jta Data Source</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE = eINSTANCE.getXmlPersistenceUnit_JtaDataSource();
+
+ /**
+ * The meta object literal for the '<em><b>Non Jta Data Source</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE = eINSTANCE.getXmlPersistenceUnit_NonJtaDataSource();
+
+ /**
+ * The meta object literal for the '<em><b>Mapping Files</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_PERSISTENCE_UNIT__MAPPING_FILES = eINSTANCE.getXmlPersistenceUnit_MappingFiles();
+
+ /**
+ * The meta object literal for the '<em><b>Jar Files</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_PERSISTENCE_UNIT__JAR_FILES = eINSTANCE.getXmlPersistenceUnit_JarFiles();
+
+ /**
+ * The meta object literal for the '<em><b>Classes</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_PERSISTENCE_UNIT__CLASSES = eINSTANCE.getXmlPersistenceUnit_Classes();
+
+ /**
+ * The meta object literal for the '<em><b>Exclude Unlisted Classes</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES = eINSTANCE.getXmlPersistenceUnit_ExcludeUnlistedClasses();
+
+ /**
+ * The meta object literal for the '<em><b>Properties</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_PERSISTENCE_UNIT__PROPERTIES = eINSTANCE.getXmlPersistenceUnit_Properties();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT__NAME = eINSTANCE.getXmlPersistenceUnit_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Transaction Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT__TRANSACTION_TYPE = eINSTANCE.getXmlPersistenceUnit_TransactionType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties <em>Xml Properties</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperties()
+ * @generated
+ */
+ public static final EClass XML_PROPERTIES = eINSTANCE.getXmlProperties();
+
+ /**
+ * The meta object literal for the '<em><b>Properties</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_PROPERTIES__PROPERTIES = eINSTANCE.getXmlProperties_Properties();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty <em>Xml Property</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperty()
+ * @generated
+ */
+ public static final EClass XML_PROPERTY = eINSTANCE.getXmlProperty();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PROPERTY__NAME = eINSTANCE.getXmlProperty_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PROPERTY__VALUE = eINSTANCE.getXmlProperty_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType <em>Xml Persistence Unit Transaction Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnitTransactionType()
+ * @generated
+ */
+ public static final EEnum XML_PERSISTENCE_UNIT_TRANSACTION_TYPE = eINSTANCE.getXmlPersistenceUnitTransactionType();
+
+ }
+
+} //PersistencePackage
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJarFileRef.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJarFileRef.java
new file mode 100644
index 0000000000..2b0c1de6ff
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJarFileRef.java
@@ -0,0 +1,254 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence;
+
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.common.utility.internal.StringTools;
+import org.eclipse.text.edits.ReplaceEdit;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Jar File Ref</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef#getFileName <em>File Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJarFileRef()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class XmlJarFileRef extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getFileName() <em>File Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFileName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FILE_NAME_EDEFAULT = "";
+
+ /**
+ * The cached value of the '{@link #getFileName() <em>File Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFileName()
+ * @generated
+ * @ordered
+ */
+ protected String fileName = FILE_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlJarFileRef()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return PersistencePackage.Literals.XML_JAR_FILE_REF;
+ }
+
+ /**
+ * Returns the value of the '<em><b>File Name</b></em>' attribute.
+ * The default value is <code>""</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>File 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>File Name</em>' attribute.
+ * @see #setFileName(String)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJarFileRef_FileName()
+ * @model default="" unique="false" ordered="false"
+ * @generated
+ */
+ public String getFileName()
+ {
+ return fileName;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef#getFileName <em>File Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>File Name</em>' attribute.
+ * @see #getFileName()
+ * @generated
+ */
+ public void setFileName(String newFileName)
+ {
+ String oldFileName = fileName;
+ fileName = newFileName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_JAR_FILE_REF__FILE_NAME, oldFileName, fileName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_JAR_FILE_REF__FILE_NAME:
+ return getFileName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_JAR_FILE_REF__FILE_NAME:
+ setFileName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_JAR_FILE_REF__FILE_NAME:
+ setFileName(FILE_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_JAR_FILE_REF__FILE_NAME:
+ return FILE_NAME_EDEFAULT == null ? fileName != null : !FILE_NAME_EDEFAULT.equals(fileName);
+ }
+ 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(" (fileName: ");
+ result.append(fileName);
+ result.append(')');
+ return result.toString();
+ }
+
+ @Override
+ public TextRange getValidationTextRange() {
+ return (! StringTools.isBlank(this.fileName)) ?
+ getTextTextRange() :
+ super.getValidationTextRange();
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren()
+ );
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildFileNameTranslator(),
+ };
+ }
+
+ private static Translator buildFileNameTranslator() {
+ return new Translator(
+ Translator.TEXT_ATTRIBUTE_VALUE,
+ PersistencePackage.eINSTANCE.getXmlJarFileRef_FileName()
+ );
+ }
+
+
+ // *********** refactoring ***********
+
+ public ReplaceEdit createReplaceFolderEdit(IFolder originalFolder, String newName) {
+ IDOMNode domNode = getTextNode();
+ String originalName = originalFolder.getName();
+ int nameIndex = this.fileName.indexOf(originalName);
+
+ int offset = domNode.getStartOffset();
+ return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+ }
+
+ public TextRange getFileNameTextRange(){
+ TextRange textRange = this.buildTextRange(this.getTextNode());
+ return textRange == null ? this.getValidationTextRange() : textRange;
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJavaClassRef.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJavaClassRef.java
new file mode 100644
index 0000000000..6b6a8a12d3
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJavaClassRef.java
@@ -0,0 +1,264 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.text.edits.ReplaceEdit;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Java Class Ref</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef#getJavaClass <em>Java Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJavaClassRef()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class XmlJavaClassRef extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getJavaClass() <em>Java Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJavaClass()
+ * @generated
+ * @ordered
+ */
+ protected static final String JAVA_CLASS_EDEFAULT = "";
+
+ /**
+ * The cached value of the '{@link #getJavaClass() <em>Java Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJavaClass()
+ * @generated
+ * @ordered
+ */
+ protected String javaClass = JAVA_CLASS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlJavaClassRef()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return PersistencePackage.Literals.XML_JAVA_CLASS_REF;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Java Class</b></em>' attribute.
+ * The default value is <code>""</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Java Class</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Java Class</em>' attribute.
+ * @see #setJavaClass(String)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJavaClassRef_JavaClass()
+ * @model default="" unique="false" ordered="false"
+ * @generated
+ */
+ public String getJavaClass()
+ {
+ return javaClass;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef#getJavaClass <em>Java Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Java Class</em>' attribute.
+ * @see #getJavaClass()
+ * @generated
+ */
+ public void setJavaClass(String newJavaClass)
+ {
+ String oldJavaClass = javaClass;
+ javaClass = newJavaClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_JAVA_CLASS_REF__JAVA_CLASS, oldJavaClass, javaClass));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_JAVA_CLASS_REF__JAVA_CLASS:
+ return getJavaClass();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_JAVA_CLASS_REF__JAVA_CLASS:
+ setJavaClass((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_JAVA_CLASS_REF__JAVA_CLASS:
+ setJavaClass(JAVA_CLASS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_JAVA_CLASS_REF__JAVA_CLASS:
+ return JAVA_CLASS_EDEFAULT == null ? javaClass != null : !JAVA_CLASS_EDEFAULT.equals(javaClass);
+ }
+ 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(" (javaClass: ");
+ result.append(javaClass);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren()
+ );
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildClassNameTranslator(),
+ };
+ }
+
+ private static Translator buildClassNameTranslator() {
+ return new Translator(
+ Translator.TEXT_ATTRIBUTE_VALUE,
+ PersistencePackage.eINSTANCE.getXmlJavaClassRef_JavaClass()
+ );
+ }
+
+
+ // *********** refactoring ***********
+
+ public ReplaceEdit createRenameEdit(IType originalType, String newName) {
+ String originalName = originalType.getTypeQualifiedName();
+ int nameIndex = this.javaClass.lastIndexOf(originalName);
+ int offset = getTextNode().getStartOffset();
+ return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+ }
+
+ public ReplaceEdit createRenamePackageEdit(String newPackageName) {
+ int packageLength = this.javaClass.lastIndexOf('.');
+ if (newPackageName == "") {//$NON-NLS-1$
+ //moving to the default package, remove the '.'
+ packageLength++;
+ }
+ if (packageLength == -1) {
+ //moving from the default package or unspecified package
+ packageLength = 0;
+ newPackageName = newPackageName + '.';
+ }
+ int offset = getTextNode().getStartOffset();
+ return new ReplaceEdit(offset, packageLength, newPackageName);
+ }
+
+ public TextRange getJavaClassTextRange(){
+ TextRange textRange = this.buildTextRange(this.getTextNode());
+ return textRange == null ? this.getValidationTextRange() : textRange;
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlMappingFileRef.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlMappingFileRef.java
new file mode 100644
index 0000000000..b8b9a14818
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlMappingFileRef.java
@@ -0,0 +1,283 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.emf.common.notify.Adapter;
+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.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.text.edits.ReplaceEdit;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Mapping File Ref</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef#getFileName <em>File Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlMappingFileRef()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class XmlMappingFileRef extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getFileName() <em>File Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFileName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FILE_NAME_EDEFAULT = "";
+
+ /**
+ * The cached value of the '{@link #getFileName() <em>File Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFileName()
+ * @generated
+ * @ordered
+ */
+ protected String fileName = FILE_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlMappingFileRef()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return PersistencePackage.Literals.XML_MAPPING_FILE_REF;
+ }
+
+ /**
+ * Returns the value of the '<em><b>File Name</b></em>' attribute.
+ * The default value is <code>""</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>File 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>File Name</em>' attribute.
+ * @see #setFileName(String)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlMappingFileRef_FileName()
+ * @model default="" unique="false" ordered="false"
+ * @generated
+ */
+ public String getFileName()
+ {
+ return fileName;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef#getFileName <em>File Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>File Name</em>' attribute.
+ * @see #getFileName()
+ * @generated
+ */
+ public void setFileName(String newFileName)
+ {
+ String oldFileName = fileName;
+ fileName = newFileName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_MAPPING_FILE_REF__FILE_NAME, oldFileName, fileName));
+ }
+
+ @Override
+ public EList<Adapter> eAdapters() {
+ // TODO Auto-generated method stub
+ return super.eAdapters();
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_MAPPING_FILE_REF__FILE_NAME:
+ return getFileName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_MAPPING_FILE_REF__FILE_NAME:
+ setFileName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_MAPPING_FILE_REF__FILE_NAME:
+ setFileName(FILE_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_MAPPING_FILE_REF__FILE_NAME:
+ return FILE_NAME_EDEFAULT == null ? fileName != null : !FILE_NAME_EDEFAULT.equals(fileName);
+ }
+ 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(" (fileName: ");
+ result.append(fileName);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren()
+ );
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildFileNameTranslator(),
+ };
+ }
+
+ private static Translator buildFileNameTranslator() {
+ return new Translator(
+ Translator.TEXT_ATTRIBUTE_VALUE,
+ PersistencePackage.eINSTANCE.getXmlMappingFileRef_FileName()
+ );
+ }
+
+
+ public ReplaceEdit createRenameEdit(IFile originalFile, String newName) {
+ IDOMNode domNode = getTextNode();
+ String originalName = originalFile.getName();
+ int nameIndex = this.fileName.lastIndexOf(originalName);
+
+ int offset = domNode.getStartOffset();
+ return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+ }
+
+ public ReplaceEdit createRenameFolderEdit(IFolder originalFolder, String newName) {
+ IDOMNode domNode = getTextNode();
+ String originalName = originalFolder.getName();
+ int nameIndex = this.fileName.indexOf(originalName);
+
+ int offset = domNode.getStartOffset();
+ return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+ }
+
+ public ReplaceEdit createMoveEdit(IFile originalFile, IPath destination) {
+ String originalName = originalFile.getName();
+ int nameIndex = this.fileName.lastIndexOf(originalName);
+
+ int offset = getTextNode().getStartOffset();
+ return new ReplaceEdit(offset, nameIndex - 1, destination.toString());
+ }
+
+ public ReplaceEdit createMoveEdit(IPath originalLocation, IPath destination) {
+ String originalName = originalLocation.toString();
+
+ int offset = getTextNode().getStartOffset();
+ return new ReplaceEdit(offset, originalName.length(), destination.toString());
+ }
+
+ public TextRange getFileNameTextRange(){
+ TextRange textRange = this.buildTextRange(this.getTextNode());
+ return textRange == null ? this.getValidationTextRange() : textRange;
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistence.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistence.java
new file mode 100644
index 0000000000..91d6b5a009
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistence.java
@@ -0,0 +1,262 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.jpa.core.resource.persistence;
+
+import java.util.Collection;
+import java.util.HashMap;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.content.IContentType;
+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.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleRootTranslator;
+import org.eclipse.jpt.common.core.resource.xml.ERootObjectImpl;
+import org.eclipse.jpt.jpa.core.internal.plugin.JptJpaCorePlugin;
+import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.JPA2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>XmlPersistence</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence#getPersistenceUnits <em>Persistence Units</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistence()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlPersistence extends ERootObjectImpl
+{
+ /**
+ * The cached value of the '{@link #getPersistenceUnits() <em>Persistence Units</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPersistenceUnits()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlPersistenceUnit> persistenceUnits;
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlPersistence()
+ {
+ super();
+ }
+
+ @Override
+ public EObject eContainer() {
+ return super.eContainer();
+ }
+
+ @Override
+ protected void eBasicSetContainer(InternalEObject newContainer, int newContainerFeatureID) {
+ super.eBasicSetContainer(newContainer, newContainerFeatureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return PersistencePackage.Literals.XML_PERSISTENCE;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Persistence Units</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>XmlPersistence Units</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>Persistence Units</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistence_PersistenceUnits()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlPersistenceUnit> getPersistenceUnits()
+ {
+ if (persistenceUnits == null)
+ {
+ persistenceUnits = new EObjectContainmentEList<XmlPersistenceUnit>(XmlPersistenceUnit.class, this, PersistencePackage.XML_PERSISTENCE__PERSISTENCE_UNITS);
+ }
+ return persistenceUnits;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_PERSISTENCE__PERSISTENCE_UNITS:
+ return ((InternalEList<?>)getPersistenceUnits()).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 PersistencePackage.XML_PERSISTENCE__PERSISTENCE_UNITS:
+ return getPersistenceUnits();
+ }
+ 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 PersistencePackage.XML_PERSISTENCE__PERSISTENCE_UNITS:
+ getPersistenceUnits().clear();
+ getPersistenceUnits().addAll((Collection<? extends XmlPersistenceUnit>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_PERSISTENCE__PERSISTENCE_UNITS:
+ getPersistenceUnits().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_PERSISTENCE__PERSISTENCE_UNITS:
+ return persistenceUnits != null && !persistenceUnits.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+
+ // ********** version -> schema location mapping **********
+
+ private static final HashMap<String, String> SCHEMA_LOCATIONS = buildSchemaLocations();
+
+ private static HashMap<String, String> buildSchemaLocations() {
+ HashMap<String, String> map = new HashMap<String, String>();
+ map.put(JPA.SCHEMA_VERSION, JPA.SCHEMA_LOCATION);
+ map.put(JPA2_0.SCHEMA_VERSION, JPA2_0.SCHEMA_LOCATION);
+ return map;
+ }
+
+ @Override
+ protected String getNamespace() {
+ return JPA.SCHEMA_NAMESPACE;
+ }
+
+ @Override
+ protected HashMap<String, String> schemaLocations() {
+ return SCHEMA_LOCATIONS;
+ }
+
+
+ // ********** content/resource type **********
+
+ /**
+ * The content type for <code>persistence.xml</code> files.
+ */
+ public static final IContentType CONTENT_TYPE = JptJpaCorePlugin.instance().getContentType("persistence"); //$NON-NLS-1$
+
+
+ // ********** default runtime path **********
+
+ public static final String DEFAULT_RUNTIME_PATH_NAME = "META-INF/persistence.xml"; //$NON-NLS-1$
+
+ public static final IPath DEFAULT_RUNTIME_PATH = new Path(DEFAULT_RUNTIME_PATH_NAME);
+
+
+ // ********** translators **********
+
+ public static Translator getRootTranslator() {
+ return ROOT_TRANSLATOR;
+ }
+
+ private static final Translator ROOT_TRANSLATOR = buildRootTranslator();
+
+ private static Translator buildRootTranslator() {
+ return new SimpleRootTranslator(JPA.PERSISTENCE, PersistencePackage.eINSTANCE.getXmlPersistence(), buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildVersionTranslator(SCHEMA_LOCATIONS),
+ buildNamespaceTranslator(JPA.SCHEMA_NAMESPACE),
+ buildSchemaNamespaceTranslator(),
+ buildSchemaLocationTranslator(JPA.SCHEMA_NAMESPACE, SCHEMA_LOCATIONS),
+ XmlPersistenceUnit.buildTranslator(JPA.PERSISTENCE_UNIT, PersistencePackage.eINSTANCE.getXmlPersistence_PersistenceUnits())
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnit.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnit.java
new file mode 100644
index 0000000000..413a214e44
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnit.java
@@ -0,0 +1,1105 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.BooleanTranslator;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.utility.internal.iterable.IterableTools;
+import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.JPA2_0;
+import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0;
+import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0;
+import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unit</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProvider <em>Provider</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJtaDataSource <em>Jta Data Source</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getNonJtaDataSource <em>Non Jta Data Source</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getMappingFiles <em>Mapping Files</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJarFiles <em>Jar Files</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getClasses <em>Classes</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getExcludeUnlistedClasses <em>Exclude Unlisted Classes</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProperties <em>Properties</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getTransactionType <em>Transaction Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlPersistenceUnit extends EBaseObjectImpl implements XmlPersistenceUnit_2_0
+{
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final XmlPersistenceUnitCachingType_2_0 SHARED_CACHE_MODE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSharedCacheMode() <em>Shared Cache Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSharedCacheMode()
+ * @generated
+ * @ordered
+ */
+ protected XmlPersistenceUnitCachingType_2_0 sharedCacheMode = SHARED_CACHE_MODE_EDEFAULT;
+
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final XmlPersistenceUnitValidationModeType_2_0 VALIDATION_MODE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValidationMode() <em>Validation Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValidationMode()
+ * @generated
+ * @ordered
+ */
+ protected XmlPersistenceUnitValidationModeType_2_0 validationMode = VALIDATION_MODE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getProvider() <em>Provider</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProvider()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROVIDER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProvider() <em>Provider</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProvider()
+ * @generated
+ * @ordered
+ */
+ protected String provider = PROVIDER_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getJtaDataSource() <em>Jta Data Source</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJtaDataSource()
+ * @generated
+ * @ordered
+ */
+ protected static final String JTA_DATA_SOURCE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getJtaDataSource() <em>Jta Data Source</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJtaDataSource()
+ * @generated
+ * @ordered
+ */
+ protected String jtaDataSource = JTA_DATA_SOURCE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNonJtaDataSource() <em>Non Jta Data Source</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNonJtaDataSource()
+ * @generated
+ * @ordered
+ */
+ protected static final String NON_JTA_DATA_SOURCE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNonJtaDataSource() <em>Non Jta Data Source</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNonJtaDataSource()
+ * @generated
+ * @ordered
+ */
+ protected String nonJtaDataSource = NON_JTA_DATA_SOURCE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMappingFiles() <em>Mapping Files</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMappingFiles()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlMappingFileRef> mappingFiles;
+
+ /**
+ * The cached value of the '{@link #getJarFiles() <em>Jar Files</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJarFiles()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlJarFileRef> jarFiles;
+
+ /**
+ * The cached value of the '{@link #getClasses() <em>Classes</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClasses()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlJavaClassRef> classes;
+
+ /**
+ * The default value of the '{@link #getExcludeUnlistedClasses() <em>Exclude Unlisted Classes</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExcludeUnlistedClasses()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean EXCLUDE_UNLISTED_CLASSES_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getExcludeUnlistedClasses() <em>Exclude Unlisted Classes</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExcludeUnlistedClasses()
+ * @generated
+ * @ordered
+ */
+ protected Boolean excludeUnlistedClasses = EXCLUDE_UNLISTED_CLASSES_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getProperties() <em>Properties</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProperties()
+ * @generated
+ * @ordered
+ */
+ protected XmlProperties properties;
+
+ /**
+ * 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;
+
+ /**
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
+ */
+ protected static final XmlPersistenceUnitTransactionType TRANSACTION_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTransactionType() <em>Transaction Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTransactionType()
+ * @generated
+ * @ordered
+ */
+ protected XmlPersistenceUnitTransactionType transactionType = TRANSACTION_TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlPersistenceUnit()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return PersistencePackage.Literals.XML_PERSISTENCE_UNIT;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Shared Cache Mode</b></em>' attribute.
+ * The default value is <code>"UNSPECIFIED"</code>.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Shared Cache Mode</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Shared Cache Mode</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0
+ * @see #setSharedCacheMode(XmlPersistenceUnitCachingType_2_0)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_2_0_SharedCacheMode()
+ * @model default="UNSPECIFIED" unique="false"
+ * @generated
+ */
+ public XmlPersistenceUnitCachingType_2_0 getSharedCacheMode()
+ {
+ return sharedCacheMode;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getSharedCacheMode <em>Shared Cache Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Shared Cache Mode</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0
+ * @see #getSharedCacheMode()
+ * @generated
+ */
+ public void setSharedCacheMode(XmlPersistenceUnitCachingType_2_0 newSharedCacheMode)
+ {
+ XmlPersistenceUnitCachingType_2_0 oldSharedCacheMode = sharedCacheMode;
+ sharedCacheMode = newSharedCacheMode == null ? SHARED_CACHE_MODE_EDEFAULT : newSharedCacheMode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__SHARED_CACHE_MODE, oldSharedCacheMode, sharedCacheMode));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Validation Mode</b></em>' attribute.
+ * The default value is <code>"AUTO"</code>.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Validation Mode</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Validation Mode</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0
+ * @see #setValidationMode(XmlPersistenceUnitValidationModeType_2_0)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_2_0_ValidationMode()
+ * @model default="AUTO" unique="false"
+ * @generated
+ */
+ public XmlPersistenceUnitValidationModeType_2_0 getValidationMode()
+ {
+ return validationMode;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getValidationMode <em>Validation Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Validation Mode</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0
+ * @see #getValidationMode()
+ * @generated
+ */
+ public void setValidationMode(XmlPersistenceUnitValidationModeType_2_0 newValidationMode)
+ {
+ XmlPersistenceUnitValidationModeType_2_0 oldValidationMode = validationMode;
+ validationMode = newValidationMode == null ? VALIDATION_MODE_EDEFAULT : newValidationMode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__VALIDATION_MODE, oldValidationMode, validationMode));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Transaction Type</b></em>' attribute.
+ * The default value is <code>"JTA"</code>.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Transaction 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>Transaction Type</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType
+ * @see #setTransactionType(XmlPersistenceUnitTransactionType)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_TransactionType()
+ * @model default="JTA" unique="false"
+ * @generated
+ */
+ public XmlPersistenceUnitTransactionType getTransactionType()
+ {
+ return transactionType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getTransactionType <em>Transaction Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Transaction Type</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType
+ * @see #getTransactionType()
+ * @generated
+ */
+ public void setTransactionType(XmlPersistenceUnitTransactionType newTransactionType)
+ {
+ XmlPersistenceUnitTransactionType oldTransactionType = transactionType;
+ transactionType = newTransactionType == null ? TRANSACTION_TYPE_EDEFAULT : newTransactionType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__TRANSACTION_TYPE, oldTransactionType, transactionType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_Description()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ public void setDescription(String newDescription)
+ {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Provider</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Provider</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Provider</em>' attribute.
+ * @see #setProvider(String)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_Provider()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getProvider()
+ {
+ return provider;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProvider <em>Provider</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Provider</em>' attribute.
+ * @see #getProvider()
+ * @generated
+ */
+ public void setProvider(String newProvider)
+ {
+ String oldProvider = provider;
+ provider = newProvider;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__PROVIDER, oldProvider, provider));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Jta Data Source</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Jta Data Source</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Jta Data Source</em>' attribute.
+ * @see #setJtaDataSource(String)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_JtaDataSource()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getJtaDataSource()
+ {
+ return jtaDataSource;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJtaDataSource <em>Jta Data Source</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Jta Data Source</em>' attribute.
+ * @see #getJtaDataSource()
+ * @generated
+ */
+ public void setJtaDataSource(String newJtaDataSource)
+ {
+ String oldJtaDataSource = jtaDataSource;
+ jtaDataSource = newJtaDataSource;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE, oldJtaDataSource, jtaDataSource));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Non Jta Data Source</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Non Jta Data Source</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Non Jta Data Source</em>' attribute.
+ * @see #setNonJtaDataSource(String)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_NonJtaDataSource()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getNonJtaDataSource()
+ {
+ return nonJtaDataSource;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getNonJtaDataSource <em>Non Jta Data Source</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Non Jta Data Source</em>' attribute.
+ * @see #getNonJtaDataSource()
+ * @generated
+ */
+ public void setNonJtaDataSource(String newNonJtaDataSource)
+ {
+ String oldNonJtaDataSource = nonJtaDataSource;
+ nonJtaDataSource = newNonJtaDataSource;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE, oldNonJtaDataSource, nonJtaDataSource));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Mapping Files</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mapping Files</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>Mapping Files</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_MappingFiles()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlMappingFileRef> getMappingFiles()
+ {
+ if (mappingFiles == null)
+ {
+ mappingFiles = new EObjectContainmentEList<XmlMappingFileRef>(XmlMappingFileRef.class, this, PersistencePackage.XML_PERSISTENCE_UNIT__MAPPING_FILES);
+ }
+ return mappingFiles;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Jar Files</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Jar Files</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>Jar Files</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_JarFiles()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJarFileRef> getJarFiles()
+ {
+ if (jarFiles == null)
+ {
+ jarFiles = new EObjectContainmentEList<XmlJarFileRef>(XmlJarFileRef.class, this, PersistencePackage.XML_PERSISTENCE_UNIT__JAR_FILES);
+ }
+ return jarFiles;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Classes</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Classes</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>Classes</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_Classes()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJavaClassRef> getClasses()
+ {
+ if (classes == null)
+ {
+ classes = new EObjectContainmentEList<XmlJavaClassRef>(XmlJavaClassRef.class, this, PersistencePackage.XML_PERSISTENCE_UNIT__CLASSES);
+ }
+ return classes;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Exclude Unlisted Classes</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exclude Unlisted Classes</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exclude Unlisted Classes</em>' attribute.
+ * @see #setExcludeUnlistedClasses(Boolean)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_ExcludeUnlistedClasses()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getExcludeUnlistedClasses()
+ {
+ return excludeUnlistedClasses;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getExcludeUnlistedClasses <em>Exclude Unlisted Classes</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exclude Unlisted Classes</em>' attribute.
+ * @see #getExcludeUnlistedClasses()
+ * @generated
+ */
+ public void setExcludeUnlistedClasses(Boolean newExcludeUnlistedClasses)
+ {
+ Boolean oldExcludeUnlistedClasses = excludeUnlistedClasses;
+ excludeUnlistedClasses = newExcludeUnlistedClasses;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES, oldExcludeUnlistedClasses, excludeUnlistedClasses));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Properties</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>XmlProperties</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>Properties</em>' containment reference.
+ * @see #setProperties(XmlProperties)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_Properties()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlProperties getProperties()
+ {
+ return properties;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetProperties(XmlProperties newProperties, NotificationChain msgs)
+ {
+ XmlProperties oldProperties = properties;
+ properties = newProperties;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES, oldProperties, newProperties);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProperties <em>Properties</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Properties</em>' containment reference.
+ * @see #getProperties()
+ * @generated
+ */
+ public void setProperties(XmlProperties newProperties)
+ {
+ if (newProperties != properties)
+ {
+ NotificationChain msgs = null;
+ if (properties != null)
+ msgs = ((InternalEObject)properties).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES, null, msgs);
+ if (newProperties != null)
+ msgs = ((InternalEObject)newProperties).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES, null, msgs);
+ msgs = basicSetProperties(newProperties, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES, newProperties, newProperties));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_PERSISTENCE_UNIT__MAPPING_FILES:
+ return ((InternalEList<?>)getMappingFiles()).basicRemove(otherEnd, msgs);
+ case PersistencePackage.XML_PERSISTENCE_UNIT__JAR_FILES:
+ return ((InternalEList<?>)getJarFiles()).basicRemove(otherEnd, msgs);
+ case PersistencePackage.XML_PERSISTENCE_UNIT__CLASSES:
+ return ((InternalEList<?>)getClasses()).basicRemove(otherEnd, msgs);
+ case PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES:
+ return basicSetProperties(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 PersistencePackage.XML_PERSISTENCE_UNIT__SHARED_CACHE_MODE:
+ return getSharedCacheMode();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__VALIDATION_MODE:
+ return getValidationMode();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__DESCRIPTION:
+ return getDescription();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__PROVIDER:
+ return getProvider();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE:
+ return getJtaDataSource();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE:
+ return getNonJtaDataSource();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__MAPPING_FILES:
+ return getMappingFiles();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__JAR_FILES:
+ return getJarFiles();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__CLASSES:
+ return getClasses();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES:
+ return getExcludeUnlistedClasses();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES:
+ return getProperties();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__NAME:
+ return getName();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__TRANSACTION_TYPE:
+ return getTransactionType();
+ }
+ 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 PersistencePackage.XML_PERSISTENCE_UNIT__SHARED_CACHE_MODE:
+ setSharedCacheMode((XmlPersistenceUnitCachingType_2_0)newValue);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__VALIDATION_MODE:
+ setValidationMode((XmlPersistenceUnitValidationModeType_2_0)newValue);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__PROVIDER:
+ setProvider((String)newValue);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE:
+ setJtaDataSource((String)newValue);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE:
+ setNonJtaDataSource((String)newValue);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__MAPPING_FILES:
+ getMappingFiles().clear();
+ getMappingFiles().addAll((Collection<? extends XmlMappingFileRef>)newValue);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__JAR_FILES:
+ getJarFiles().clear();
+ getJarFiles().addAll((Collection<? extends XmlJarFileRef>)newValue);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__CLASSES:
+ getClasses().clear();
+ getClasses().addAll((Collection<? extends XmlJavaClassRef>)newValue);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES:
+ setExcludeUnlistedClasses((Boolean)newValue);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES:
+ setProperties((XmlProperties)newValue);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__NAME:
+ setName((String)newValue);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__TRANSACTION_TYPE:
+ setTransactionType((XmlPersistenceUnitTransactionType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_PERSISTENCE_UNIT__SHARED_CACHE_MODE:
+ setSharedCacheMode(SHARED_CACHE_MODE_EDEFAULT);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__VALIDATION_MODE:
+ setValidationMode(VALIDATION_MODE_EDEFAULT);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__PROVIDER:
+ setProvider(PROVIDER_EDEFAULT);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE:
+ setJtaDataSource(JTA_DATA_SOURCE_EDEFAULT);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE:
+ setNonJtaDataSource(NON_JTA_DATA_SOURCE_EDEFAULT);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__MAPPING_FILES:
+ getMappingFiles().clear();
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__JAR_FILES:
+ getJarFiles().clear();
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__CLASSES:
+ getClasses().clear();
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES:
+ setExcludeUnlistedClasses(EXCLUDE_UNLISTED_CLASSES_EDEFAULT);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES:
+ setProperties((XmlProperties)null);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__TRANSACTION_TYPE:
+ setTransactionType(TRANSACTION_TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_PERSISTENCE_UNIT__SHARED_CACHE_MODE:
+ return sharedCacheMode != SHARED_CACHE_MODE_EDEFAULT;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__VALIDATION_MODE:
+ return validationMode != VALIDATION_MODE_EDEFAULT;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case PersistencePackage.XML_PERSISTENCE_UNIT__PROVIDER:
+ return PROVIDER_EDEFAULT == null ? provider != null : !PROVIDER_EDEFAULT.equals(provider);
+ case PersistencePackage.XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE:
+ return JTA_DATA_SOURCE_EDEFAULT == null ? jtaDataSource != null : !JTA_DATA_SOURCE_EDEFAULT.equals(jtaDataSource);
+ case PersistencePackage.XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE:
+ return NON_JTA_DATA_SOURCE_EDEFAULT == null ? nonJtaDataSource != null : !NON_JTA_DATA_SOURCE_EDEFAULT.equals(nonJtaDataSource);
+ case PersistencePackage.XML_PERSISTENCE_UNIT__MAPPING_FILES:
+ return mappingFiles != null && !mappingFiles.isEmpty();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__JAR_FILES:
+ return jarFiles != null && !jarFiles.isEmpty();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__CLASSES:
+ return classes != null && !classes.isEmpty();
+ case PersistencePackage.XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES:
+ return EXCLUDE_UNLISTED_CLASSES_EDEFAULT == null ? excludeUnlistedClasses != null : !EXCLUDE_UNLISTED_CLASSES_EDEFAULT.equals(excludeUnlistedClasses);
+ case PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES:
+ return properties != null;
+ case PersistencePackage.XML_PERSISTENCE_UNIT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PersistencePackage.XML_PERSISTENCE_UNIT__TRANSACTION_TYPE:
+ return transactionType != TRANSACTION_TYPE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (sharedCacheMode: ");
+ result.append(sharedCacheMode);
+ result.append(", validationMode: ");
+ result.append(validationMode);
+ result.append(", description: ");
+ result.append(description);
+ result.append(", provider: ");
+ result.append(provider);
+ result.append(", jtaDataSource: ");
+ result.append(jtaDataSource);
+ result.append(", nonJtaDataSource: ");
+ result.append(nonJtaDataSource);
+ result.append(", excludeUnlistedClasses: ");
+ result.append(excludeUnlistedClasses);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", transactionType: ");
+ result.append(transactionType);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ PersistencePackage pkg = PersistencePackage.eINSTANCE;
+ return new Translator[] {
+ buildNameTranslator(),
+ buildTransactionTypeTranslator(),
+ buildDescriptionTranslator(),
+ buildProviderTranslator(),
+ buildJtaDataSourceTranslator(),
+ buildNonJtaDataSourceTranslator(),
+ XmlMappingFileRef.buildTranslator(JPA.MAPPING_FILE, pkg.getXmlPersistenceUnit_MappingFiles()),
+ XmlJarFileRef.buildTranslator(JPA.JAR_FILE, pkg.getXmlPersistenceUnit_JarFiles()),
+ XmlJavaClassRef.buildTranslator(JPA.CLASS, pkg.getXmlPersistenceUnit_Classes()),
+ buildExcludeUnlistedClassesTranslator(),
+ buildSharedCacheModeTranslator(),
+ buildValidationModeTranslator(),
+ XmlProperties.buildTranslator(JPA.PROPERTIES, pkg.getXmlPersistenceUnit_Properties())};
+ }
+
+ protected static Translator buildNameTranslator() {
+ return new Translator(
+ JPA.PERSISTENCE_UNIT__NAME,
+ PersistencePackage.eINSTANCE.getXmlPersistenceUnit_Name(),
+ Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildTransactionTypeTranslator() {
+ return new Translator(
+ JPA.PERSISTENCE_UNIT__TRANSACTION_TYPE,
+ PersistencePackage.eINSTANCE.getXmlPersistenceUnit_TransactionType(),
+ Translator.DOM_ATTRIBUTE | Translator.UNSET_IF_NULL);
+ }
+
+ protected static Translator buildDescriptionTranslator() {
+ return new Translator(
+ JPA.DESCRIPTION,
+ PersistencePackage.eINSTANCE.getXmlPersistenceUnit_Description());
+ }
+
+ protected static Translator buildProviderTranslator() {
+ return new Translator(
+ JPA.PROVIDER,
+ PersistencePackage.eINSTANCE.getXmlPersistenceUnit_Provider());
+ }
+
+ protected static Translator buildJtaDataSourceTranslator() {
+ return new Translator(
+ JPA.JTA_DATA_SOURCE,
+ PersistencePackage.eINSTANCE.getXmlPersistenceUnit_JtaDataSource());
+ }
+
+ protected static Translator buildNonJtaDataSourceTranslator() {
+ return new Translator(
+ JPA.NON_JTA_DATA_SOURCE,
+ PersistencePackage.eINSTANCE.getXmlPersistenceUnit_NonJtaDataSource());
+ }
+
+ protected static Translator buildExcludeUnlistedClassesTranslator() {
+ return new BooleanTranslator(
+ JPA.EXCLUDE_UNLISTED_CLASSES,
+ PersistencePackage.eINSTANCE.getXmlPersistenceUnit_ExcludeUnlistedClasses());
+ }
+
+ protected static Translator buildSharedCacheModeTranslator() {
+ return new Translator(
+ JPA2_0.PERSISTENCE_UNIT__SHARED_CACHE_MODE,
+ PersistenceV2_0Package.eINSTANCE.getXmlPersistenceUnit_2_0_SharedCacheMode());
+ }
+
+ protected static Translator buildValidationModeTranslator() {
+ return new Translator(
+ JPA2_0.PERSISTENCE_UNIT__VALIDATION_MODE,
+ PersistenceV2_0Package.eINSTANCE.getXmlPersistenceUnit_2_0_ValidationMode());
+ }
+
+
+ public int getLocationToInsertMappingFileRef() {
+ if (getMappingFiles().size() > 0) {
+ XmlMappingFileRef mappingFileRef = IterableTools.last(this.getMappingFiles());
+ return mappingFileRef.getNodeEndOffset();
+ }
+
+ IDOMNode elementNode = null;
+ if (getNonJtaDataSource() != null) {
+ elementNode = getElementNode(JPA.NON_JTA_DATA_SOURCE);
+ }
+ else if (getJtaDataSource() != null) {
+ elementNode = getElementNode(JPA.JTA_DATA_SOURCE);
+ }
+ else if (getProvider() != null) {
+ elementNode = getElementNode(JPA.PROVIDER);
+ }
+ else if (getDescription() != null) {
+ elementNode = getElementNode(JPA.DESCRIPTION);
+ }
+ if (elementNode != null) {
+ return elementNode.getLastStructuredDocumentRegion().getEnd();
+ }
+ return this.node.getFirstStructuredDocumentRegion().getEnd();
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnitTransactionType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnitTransactionType.java
new file mode 100644
index 0000000000..1935e3abb4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnitTransactionType.java
@@ -0,0 +1,236 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence;
+
+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>Unit Transaction Type</b></em>',
+ * and utility methods for working with them.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnitTransactionType()
+ * @model
+ * @generated
+ */
+public enum XmlPersistenceUnitTransactionType implements Enumerator
+{
+ /**
+ * The '<em><b>JTA</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #JTA_VALUE
+ * @generated
+ * @ordered
+ */
+ JTA(0, "JTA", "JTA"),
+
+ /**
+ * The '<em><b>RESOURCE LOCAL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #RESOURCE_LOCAL_VALUE
+ * @generated
+ * @ordered
+ */
+ RESOURCE_LOCAL(1, "RESOURCE_LOCAL", "RESOURCE_LOCAL");
+
+ /**
+ * The '<em><b>JTA</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>JTA</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #JTA
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int JTA_VALUE = 0;
+
+ /**
+ * The '<em><b>RESOURCE LOCAL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>RESOURCE LOCAL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #RESOURCE_LOCAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int RESOURCE_LOCAL_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Xml Persistence Unit Transaction Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final XmlPersistenceUnitTransactionType[] VALUES_ARRAY =
+ new XmlPersistenceUnitTransactionType[]
+ {
+ JTA,
+ RESOURCE_LOCAL,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Xml Persistence Unit Transaction Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<XmlPersistenceUnitTransactionType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Xml Persistence Unit Transaction Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static XmlPersistenceUnitTransactionType get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ XmlPersistenceUnitTransactionType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Xml Persistence Unit Transaction Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static XmlPersistenceUnitTransactionType getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ XmlPersistenceUnitTransactionType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Xml Persistence Unit Transaction Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static XmlPersistenceUnitTransactionType get(int value)
+ {
+ switch (value)
+ {
+ case JTA_VALUE: return JTA;
+ case RESOURCE_LOCAL_VALUE: return RESOURCE_LOCAL;
+ }
+ 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 XmlPersistenceUnitTransactionType(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;
+ }
+
+} //XmlPersistenceUnitTransactionType
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperties.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperties.java
new file mode 100644
index 0000000000..1d6a86c156
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperties.java
@@ -0,0 +1,202 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>XmlProperties</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties#getProperties <em>Properties</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperties()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class XmlProperties extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The cached value of the '{@link #getProperties() <em>Properties</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlProperty> properties;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlProperties()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return PersistencePackage.Literals.XML_PROPERTIES;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>XmlProperties</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>Properties</em>' containment reference list.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperties_Properties()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlProperty> getProperties()
+ {
+ if (properties == null)
+ {
+ properties = new EObjectContainmentEList<XmlProperty>(XmlProperty.class, this, PersistencePackage.XML_PROPERTIES__PROPERTIES);
+ }
+ return properties;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_PROPERTIES__PROPERTIES:
+ return ((InternalEList<?>)getProperties()).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 PersistencePackage.XML_PROPERTIES__PROPERTIES:
+ return getProperties();
+ }
+ 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 PersistencePackage.XML_PROPERTIES__PROPERTIES:
+ getProperties().clear();
+ getProperties().addAll((Collection<? extends XmlProperty>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_PROPERTIES__PROPERTIES:
+ getProperties().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_PROPERTIES__PROPERTIES:
+ return properties != null && !properties.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ XmlProperty.buildTranslator(JPA.PROPERTY, PersistencePackage.eINSTANCE.getXmlProperties_Properties()),
+ };
+ }
+
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperty.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperty.java
new file mode 100644
index 0000000000..bdbcac6712
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperty.java
@@ -0,0 +1,322 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.text.edits.ReplaceEdit;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>XmlProperty</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperty()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class XmlProperty extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * 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 #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 XmlProperty()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return PersistencePackage.Literals.XML_PROPERTY;
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperty_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PROPERTY__NAME, oldName, name));
+ }
+
+ /**
+ * 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.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperty_Value()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#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
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PROPERTY__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_PROPERTY__NAME:
+ return getName();
+ case PersistencePackage.XML_PROPERTY__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 PersistencePackage.XML_PROPERTY__NAME:
+ setName((String)newValue);
+ return;
+ case PersistencePackage.XML_PROPERTY__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 PersistencePackage.XML_PROPERTY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PersistencePackage.XML_PROPERTY__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case PersistencePackage.XML_PROPERTY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PersistencePackage.XML_PROPERTY__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren()
+ );
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildNameTranslator(),
+ buildValueTranslator()
+ };
+ }
+
+ private static Translator buildNameTranslator() {
+ return new Translator(
+ JPA.PROPERTY__NAME,
+ PersistencePackage.eINSTANCE.getXmlProperty_Name(),
+ Translator.DOM_ATTRIBUTE
+ );
+ }
+
+ private static Translator buildValueTranslator() {
+ return new Translator(
+ JPA.PROPERTY__VALUE,
+ PersistencePackage.eINSTANCE.getXmlProperty_Value(),
+ Translator.DOM_ATTRIBUTE
+ );
+ }
+
+ public ReplaceEdit createRenameTypeEdit(IType originalType, String newName) {
+ String originalName = originalType.getElementName();
+ int nameIndex = originalType.getFullyQualifiedName('.').lastIndexOf(originalName);
+
+ int offset = getAttributeNode(JPA.PROPERTY__VALUE).getValueRegionStartOffset() + 1;
+ return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+ }
+
+ public ReplaceEdit createRenamePackageEdit(String newName) {
+ int packageLength = this.value.lastIndexOf('.');
+
+ int offset = getAttributeNode(JPA.PROPERTY__VALUE).getValueRegionStartOffset() + 1;
+ return new ReplaceEdit(offset, packageLength, newName);
+ }
+
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Factory.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Factory.java
new file mode 100644
index 0000000000..c3ae90621d
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Factory.java
@@ -0,0 +1,192 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence.v2_0;
+
+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;
+
+/**
+ * <!-- 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.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package
+ * @generated
+ */
+public class PersistenceV2_0Factory extends EFactoryImpl
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final PersistenceV2_0Factory eINSTANCE = init();
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PersistenceV2_0Factory init()
+ {
+ try
+ {
+ PersistenceV2_0Factory thePersistenceV2_0Factory = (PersistenceV2_0Factory)EPackage.Registry.INSTANCE.getEFactory("jpt.persistence.v2_0.xmi");
+ if (thePersistenceV2_0Factory != null)
+ {
+ return thePersistenceV2_0Factory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new PersistenceV2_0Factory();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PersistenceV2_0Factory()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ 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 PersistenceV2_0Package.XML_PERSISTENCE_UNIT_CACHING_TYPE_20:
+ return createXmlPersistenceUnitCachingType_2_0FromString(eDataType, initialValue);
+ case PersistenceV2_0Package.XML_PERSISTENCE_UNIT_VALIDATION_MODE_TYPE_20:
+ return createXmlPersistenceUnitValidationModeType_2_0FromString(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 PersistenceV2_0Package.XML_PERSISTENCE_UNIT_CACHING_TYPE_20:
+ return convertXmlPersistenceUnitCachingType_2_0ToString(eDataType, instanceValue);
+ case PersistenceV2_0Package.XML_PERSISTENCE_UNIT_VALIDATION_MODE_TYPE_20:
+ return convertXmlPersistenceUnitValidationModeType_2_0ToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlPersistenceUnitCachingType_2_0 createXmlPersistenceUnitCachingType_2_0FromString(EDataType eDataType, String initialValue)
+ {
+ XmlPersistenceUnitCachingType_2_0 result = XmlPersistenceUnitCachingType_2_0.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 convertXmlPersistenceUnitCachingType_2_0ToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlPersistenceUnitValidationModeType_2_0 createXmlPersistenceUnitValidationModeType_2_0FromString(EDataType eDataType, String initialValue)
+ {
+ XmlPersistenceUnitValidationModeType_2_0 result = XmlPersistenceUnitValidationModeType_2_0.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 convertXmlPersistenceUnitValidationModeType_2_0ToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PersistenceV2_0Package getPersistenceV2_0Package()
+ {
+ return (PersistenceV2_0Package)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static PersistenceV2_0Package getPackage()
+ {
+ return PersistenceV2_0Package.eINSTANCE;
+ }
+
+} //PersistenceV2_0Factory
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Package.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Package.java
new file mode 100644
index 0000000000..7a6081d216
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Package.java
@@ -0,0 +1,450 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence.v2_0;
+
+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.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.jpt.common.core.resource.xml.CommonPackage;
+import org.eclipse.jpt.jpa.core.resource.orm.OrmPackage;
+import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package;
+import org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage;
+
+/**
+ * <!-- 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.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Factory
+ * @model kind="package"
+ * @generated
+ */
+public class PersistenceV2_0Package extends EPackageImpl
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNAME = "v2_0";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_URI = "jpt.persistence.v2_0.xmi";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_PREFIX = "org.eclipse.jpt.jpa.core.resource.persistence.v2_0";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final PersistenceV2_0Package eINSTANCE = org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0 <em>Xml Persistence Unit 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnit_2_0()
+ * @generated
+ */
+ public static final int XML_PERSISTENCE_UNIT_20 = 0;
+
+ /**
+ * The feature id for the '<em><b>Shared Cache Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_20__SHARED_CACHE_MODE = 0;
+
+ /**
+ * The feature id for the '<em><b>Validation Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_20__VALIDATION_MODE = 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Persistence Unit 20</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PERSISTENCE_UNIT_20_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0 <em>Xml Persistence Unit Caching Type 20</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnitCachingType_2_0()
+ * @generated
+ */
+ public static final int XML_PERSISTENCE_UNIT_CACHING_TYPE_20 = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0 <em>Xml Persistence Unit Validation Mode Type 20</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnitValidationModeType_2_0()
+ * @generated
+ */
+ public static final int XML_PERSISTENCE_UNIT_VALIDATION_MODE_TYPE_20 = 2;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlPersistenceUnit_2_0EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum xmlPersistenceUnitCachingType_2_0EEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum xmlPersistenceUnitValidationModeType_2_0EEnum = 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.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private PersistenceV2_0Package()
+ {
+ super(eNS_URI, PersistenceV2_0Factory.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 PersistenceV2_0Package#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 PersistenceV2_0Package init()
+ {
+ if (isInited) return (PersistenceV2_0Package)EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI);
+
+ // Obtain or create and register package
+ PersistenceV2_0Package thePersistenceV2_0Package = (PersistenceV2_0Package)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PersistenceV2_0Package ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PersistenceV2_0Package());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ CommonPackage.eINSTANCE.eClass();
+ EcorePackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ OrmPackage theOrmPackage = (OrmPackage)(EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI) instanceof OrmPackage ? EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI) : OrmPackage.eINSTANCE);
+ OrmV2_0Package theOrmV2_0Package = (OrmV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI) instanceof OrmV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI) : OrmV2_0Package.eINSTANCE);
+ PersistencePackage thePersistencePackage = (PersistencePackage)(EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI) instanceof PersistencePackage ? EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI) : PersistencePackage.eINSTANCE);
+
+ // Create package meta-data objects
+ thePersistenceV2_0Package.createPackageContents();
+ theOrmPackage.createPackageContents();
+ theOrmV2_0Package.createPackageContents();
+ thePersistencePackage.createPackageContents();
+
+ // Initialize created meta-data
+ thePersistenceV2_0Package.initializePackageContents();
+ theOrmPackage.initializePackageContents();
+ theOrmV2_0Package.initializePackageContents();
+ thePersistencePackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ thePersistenceV2_0Package.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(PersistenceV2_0Package.eNS_URI, thePersistenceV2_0Package);
+ return thePersistenceV2_0Package;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0 <em>Xml Persistence Unit 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Persistence Unit 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0
+ * @generated
+ */
+ public EClass getXmlPersistenceUnit_2_0()
+ {
+ return xmlPersistenceUnit_2_0EClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getSharedCacheMode <em>Shared Cache Mode</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Shared Cache Mode</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getSharedCacheMode()
+ * @see #getXmlPersistenceUnit_2_0()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnit_2_0_SharedCacheMode()
+ {
+ return (EAttribute)xmlPersistenceUnit_2_0EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getValidationMode <em>Validation Mode</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Validation Mode</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getValidationMode()
+ * @see #getXmlPersistenceUnit_2_0()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnit_2_0_ValidationMode()
+ {
+ return (EAttribute)xmlPersistenceUnit_2_0EClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0 <em>Xml Persistence Unit Caching Type 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Xml Persistence Unit Caching Type 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0
+ * @generated
+ */
+ public EEnum getXmlPersistenceUnitCachingType_2_0()
+ {
+ return xmlPersistenceUnitCachingType_2_0EEnum;
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0 <em>Xml Persistence Unit Validation Mode Type 20</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Xml Persistence Unit Validation Mode Type 20</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0
+ * @generated
+ */
+ public EEnum getXmlPersistenceUnitValidationModeType_2_0()
+ {
+ return xmlPersistenceUnitValidationModeType_2_0EEnum;
+ }
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ public PersistenceV2_0Factory getPersistenceV2_0Factory()
+ {
+ return (PersistenceV2_0Factory)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
+ xmlPersistenceUnit_2_0EClass = createEClass(XML_PERSISTENCE_UNIT_20);
+ createEAttribute(xmlPersistenceUnit_2_0EClass, XML_PERSISTENCE_UNIT_20__SHARED_CACHE_MODE);
+ createEAttribute(xmlPersistenceUnit_2_0EClass, XML_PERSISTENCE_UNIT_20__VALIDATION_MODE);
+
+ // Create enums
+ xmlPersistenceUnitCachingType_2_0EEnum = createEEnum(XML_PERSISTENCE_UNIT_CACHING_TYPE_20);
+ xmlPersistenceUnitValidationModeType_2_0EEnum = createEEnum(XML_PERSISTENCE_UNIT_VALIDATION_MODE_TYPE_20);
+ }
+
+ /**
+ * <!-- 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
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(xmlPersistenceUnit_2_0EClass, XmlPersistenceUnit_2_0.class, "XmlPersistenceUnit_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlPersistenceUnit_2_0_SharedCacheMode(), this.getXmlPersistenceUnitCachingType_2_0(), "sharedCacheMode", "UNSPECIFIED", 0, 1, XmlPersistenceUnit_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlPersistenceUnit_2_0_ValidationMode(), this.getXmlPersistenceUnitValidationModeType_2_0(), "validationMode", "AUTO", 0, 1, XmlPersistenceUnit_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(xmlPersistenceUnitCachingType_2_0EEnum, XmlPersistenceUnitCachingType_2_0.class, "XmlPersistenceUnitCachingType_2_0");
+ addEEnumLiteral(xmlPersistenceUnitCachingType_2_0EEnum, XmlPersistenceUnitCachingType_2_0.ALL);
+ addEEnumLiteral(xmlPersistenceUnitCachingType_2_0EEnum, XmlPersistenceUnitCachingType_2_0.NONE);
+ addEEnumLiteral(xmlPersistenceUnitCachingType_2_0EEnum, XmlPersistenceUnitCachingType_2_0.ENABLE_SELECTIVE);
+ addEEnumLiteral(xmlPersistenceUnitCachingType_2_0EEnum, XmlPersistenceUnitCachingType_2_0.DISABLE_SELECTIVE);
+ addEEnumLiteral(xmlPersistenceUnitCachingType_2_0EEnum, XmlPersistenceUnitCachingType_2_0.UNSPECIFIED);
+
+ initEEnum(xmlPersistenceUnitValidationModeType_2_0EEnum, XmlPersistenceUnitValidationModeType_2_0.class, "XmlPersistenceUnitValidationModeType_2_0");
+ addEEnumLiteral(xmlPersistenceUnitValidationModeType_2_0EEnum, XmlPersistenceUnitValidationModeType_2_0.AUTO);
+ addEEnumLiteral(xmlPersistenceUnitValidationModeType_2_0EEnum, XmlPersistenceUnitValidationModeType_2_0.CALLBACK);
+ addEEnumLiteral(xmlPersistenceUnitValidationModeType_2_0EEnum, XmlPersistenceUnitValidationModeType_2_0.NONE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0 <em>Xml Persistence Unit 20</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnit_2_0()
+ * @generated
+ */
+ public static final EClass XML_PERSISTENCE_UNIT_20 = eINSTANCE.getXmlPersistenceUnit_2_0();
+
+ /**
+ * The meta object literal for the '<em><b>Shared Cache Mode</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT_20__SHARED_CACHE_MODE = eINSTANCE.getXmlPersistenceUnit_2_0_SharedCacheMode();
+
+ /**
+ * The meta object literal for the '<em><b>Validation Mode</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT_20__VALIDATION_MODE = eINSTANCE.getXmlPersistenceUnit_2_0_ValidationMode();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0 <em>Xml Persistence Unit Caching Type 20</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnitCachingType_2_0()
+ * @generated
+ */
+ public static final EEnum XML_PERSISTENCE_UNIT_CACHING_TYPE_20 = eINSTANCE.getXmlPersistenceUnitCachingType_2_0();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0 <em>Xml Persistence Unit Validation Mode Type 20</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnitValidationModeType_2_0()
+ * @generated
+ */
+ public static final EEnum XML_PERSISTENCE_UNIT_VALIDATION_MODE_TYPE_20 = eINSTANCE.getXmlPersistenceUnitValidationModeType_2_0();
+
+ }
+
+} //PersistenceV2_0Package
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitCachingType_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitCachingType_2_0.java
new file mode 100644
index 0000000000..9adf1f8d93
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitCachingType_2_0.java
@@ -0,0 +1,312 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence.v2_0;
+
+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>Xml Persistence Unit Caching Type 20</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnitCachingType_2_0()
+ * @model
+ * @generated
+ */
+public enum XmlPersistenceUnitCachingType_2_0 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>NONE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NONE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONE(1, "NONE", "NONE"),
+
+ /**
+ * The '<em><b>ENABLE SELECTIVE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ENABLE_SELECTIVE_VALUE
+ * @generated
+ * @ordered
+ */
+ ENABLE_SELECTIVE(2, "ENABLE_SELECTIVE", "ENABLE_SELECTIVE"),
+
+ /**
+ * The '<em><b>DISABLE SELECTIVE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DISABLE_SELECTIVE_VALUE
+ * @generated
+ * @ordered
+ */
+ DISABLE_SELECTIVE(3, "DISABLE_SELECTIVE", "DISABLE_SELECTIVE"),
+
+ /**
+ * The '<em><b>UNSPECIFIED</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNSPECIFIED_VALUE
+ * @generated
+ * @ordered
+ */
+ UNSPECIFIED(4, "UNSPECIFIED", "UNSPECIFIED");
+
+ /**
+ * 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>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 = 1;
+
+ /**
+ * The '<em><b>ENABLE SELECTIVE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ENABLE SELECTIVE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ENABLE_SELECTIVE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ENABLE_SELECTIVE_VALUE = 2;
+
+ /**
+ * The '<em><b>DISABLE SELECTIVE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>DISABLE SELECTIVE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #DISABLE_SELECTIVE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int DISABLE_SELECTIVE_VALUE = 3;
+
+ /**
+ * The '<em><b>UNSPECIFIED</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>UNSPECIFIED</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNSPECIFIED
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int UNSPECIFIED_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>Xml Persistence Unit Caching Type 20</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final XmlPersistenceUnitCachingType_2_0[] VALUES_ARRAY =
+ new XmlPersistenceUnitCachingType_2_0[]
+ {
+ ALL,
+ NONE,
+ ENABLE_SELECTIVE,
+ DISABLE_SELECTIVE,
+ UNSPECIFIED,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Xml Persistence Unit Caching Type 20</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<XmlPersistenceUnitCachingType_2_0> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Xml Persistence Unit Caching Type 20</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static XmlPersistenceUnitCachingType_2_0 get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ XmlPersistenceUnitCachingType_2_0 result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Xml Persistence Unit Caching Type 20</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static XmlPersistenceUnitCachingType_2_0 getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ XmlPersistenceUnitCachingType_2_0 result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Xml Persistence Unit Caching Type 20</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static XmlPersistenceUnitCachingType_2_0 get(int value)
+ {
+ switch (value)
+ {
+ case ALL_VALUE: return ALL;
+ case NONE_VALUE: return NONE;
+ case ENABLE_SELECTIVE_VALUE: return ENABLE_SELECTIVE;
+ case DISABLE_SELECTIVE_VALUE: return DISABLE_SELECTIVE;
+ case UNSPECIFIED_VALUE: return UNSPECIFIED;
+ }
+ 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 XmlPersistenceUnitCachingType_2_0(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;
+ }
+
+} //XmlPersistenceUnitCachingType_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitValidationModeType_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitValidationModeType_2_0.java
new file mode 100644
index 0000000000..437b260ed9
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitValidationModeType_2_0.java
@@ -0,0 +1,258 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence.v2_0;
+
+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>Xml Persistence Unit Validation Mode Type 20</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnitValidationModeType_2_0()
+ * @model
+ * @generated
+ */
+public enum XmlPersistenceUnitValidationModeType_2_0 implements Enumerator
+{
+ /**
+ * The '<em><b>AUTO</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #AUTO_VALUE
+ * @generated
+ * @ordered
+ */
+ AUTO(0, "AUTO", "AUTO"),
+
+ /**
+ * The '<em><b>CALLBACK</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CALLBACK_VALUE
+ * @generated
+ * @ordered
+ */
+ CALLBACK(1, "CALLBACK", "CALLBACK"),
+
+ /**
+ * The '<em><b>NONE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NONE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONE(2, "NONE", "NONE");
+
+ /**
+ * 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 = 0;
+
+ /**
+ * The '<em><b>CALLBACK</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>CALLBACK</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CALLBACK
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int CALLBACK_VALUE = 1;
+
+ /**
+ * 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 = 2;
+
+ /**
+ * An array of all the '<em><b>Xml Persistence Unit Validation Mode Type 20</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final XmlPersistenceUnitValidationModeType_2_0[] VALUES_ARRAY =
+ new XmlPersistenceUnitValidationModeType_2_0[]
+ {
+ AUTO,
+ CALLBACK,
+ NONE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Xml Persistence Unit Validation Mode Type 20</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<XmlPersistenceUnitValidationModeType_2_0> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Xml Persistence Unit Validation Mode Type 20</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static XmlPersistenceUnitValidationModeType_2_0 get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ XmlPersistenceUnitValidationModeType_2_0 result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Xml Persistence Unit Validation Mode Type 20</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static XmlPersistenceUnitValidationModeType_2_0 getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ XmlPersistenceUnitValidationModeType_2_0 result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Xml Persistence Unit Validation Mode Type 20</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static XmlPersistenceUnitValidationModeType_2_0 get(int value)
+ {
+ switch (value)
+ {
+ case AUTO_VALUE: return AUTO;
+ case CALLBACK_VALUE: return CALLBACK;
+ 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 XmlPersistenceUnitValidationModeType_2_0(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;
+ }
+
+} //XmlPersistenceUnitValidationModeType_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnit_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnit_2_0.java
new file mode 100644
index 0000000000..57539f05f8
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnit_2_0.java
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jpt.jpa.core.resource.persistence.v2_0;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Persistence Unit 20</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getSharedCacheMode <em>Shared Cache Mode</em>}</li>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getValidationMode <em>Validation Mode</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnit_2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface XmlPersistenceUnit_2_0 extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Shared Cache Mode</b></em>' attribute.
+ * The default value is <code>"UNSPECIFIED"</code>.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Shared Cache Mode</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Shared Cache Mode</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0
+ * @see #setSharedCacheMode(XmlPersistenceUnitCachingType_2_0)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnit_2_0_SharedCacheMode()
+ * @model default="UNSPECIFIED" unique="false"
+ * @generated
+ */
+ XmlPersistenceUnitCachingType_2_0 getSharedCacheMode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getSharedCacheMode <em>Shared Cache Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Shared Cache Mode</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0
+ * @see #getSharedCacheMode()
+ * @generated
+ */
+ void setSharedCacheMode(XmlPersistenceUnitCachingType_2_0 value);
+
+ /**
+ * Returns the value of the '<em><b>Validation Mode</b></em>' attribute.
+ * The default value is <code>"AUTO"</code>.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Validation Mode</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Validation Mode</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0
+ * @see #setValidationMode(XmlPersistenceUnitValidationModeType_2_0)
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnit_2_0_ValidationMode()
+ * @model default="AUTO" unique="false"
+ * @generated
+ */
+ XmlPersistenceUnitValidationModeType_2_0 getValidationMode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getValidationMode <em>Validation Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Validation Mode</em>' attribute.
+ * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0
+ * @see #getValidationMode()
+ * @generated
+ */
+ void setValidationMode(XmlPersistenceUnitValidationModeType_2_0 value);
+
+} // XmlPersistenceUnit_2_0

Back to the top