Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpfullbright2008-08-11 00:27:47 +0000
committerpfullbright2008-08-11 00:27:47 +0000
commitddc6b522a84291f0c3e95a91c7b71d74236781cd (patch)
tree6ad9d696f6e3a0a478319213dba4e1076d91d19d
parentc6b0548f78f098beadb39c3821da918eb16fce8a (diff)
downloadwebtools.dali-ddc6b522a84291f0c3e95a91c7b71d74236781cd.tar.gz
webtools.dali-ddc6b522a84291f0c3e95a91c7b71d74236781cd.tar.xz
webtools.dali-ddc6b522a84291f0c3e95a91c7b71d74236781cd.zip
base support for eclipselink-orm.xml files
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/META-INF/MANIFEST.MF12
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/build.properties1
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/model/elorm.ecore488
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/model/jptEclipseLinkResourceModels.genmodel363
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.properties4
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.xml65
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/schemas/eclipselink_orm_1_0.xsd3128
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/JptEclipseLinkCorePlugin.java56
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AssociationOverrideTranslator.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributeOverrideTranslator.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributesTranslator.java88
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/BasicTranslator.java80
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/CascadeTypeTranslator.java69
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnResultTranslator.java43
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnTranslator.java95
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/DiscriminatorColumnTranslator.java56
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EclipseLinkOrmXmlMapper.java126
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddableTranslator.java61
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedIdTranslator.java54
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedTranslator.java54
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenerTranslator.java78
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenersTranslator.java43
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityMappingsTranslator.java118
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityResultTranslator.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityTranslator.java187
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EventMethodTranslator.java43
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/FieldResultTranslator.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/GeneratedValueTranslator.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdClassTranslator.java41
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdTranslator.java73
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/InheritanceTranslator.java41
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinColumnTranslator.java85
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinTableTranslator.java73
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToManyTranslator.java83
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToOneTranslator.java78
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MapKeyTranslator.java42
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MappedSuperclassTranslator.java117
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedNativeQueryTranslator.java61
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedQueryTranslator.java51
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToManyTranslator.java88
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToOneTranslator.java90
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitDefaultsTranslator.java62
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitMetadataTranslator.java46
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PrimaryKeyJoinColumnTranslator.java59
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/QueryHintTranslator.java46
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SecondaryTableTranslator.java69
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SequenceGeneratorTranslator.java63
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SqlResultSetMappingTranslator.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableGeneratorTranslator.java93
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableTranslator.java56
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TransientTranslator.java49
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/UniqueConstraintTranslator.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/VersionTranslator.java59
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlAbstractColumn.java504
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlAttributeMapping.java192
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlBaseTable.java396
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlNamedColumn.java259
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlTypeMapping.java507
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AccessType.java231
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/Attributes.java608
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/BaseXmlEmbedded.java49
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/CascadeType.java168
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/CascadeTypeImpl.java460
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/ColumnMapping.java60
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/ColumnResult.java200
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/DiscriminatorType.java258
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmArtifactEdit.java100
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmFactory.java1041
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmPackage.java13559
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmResource.java54
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmResourceFactory.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EntityListener.java797
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EntityListeners.java185
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EntityResult.java339
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EnumType.java231
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EventMethod.java200
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/FetchType.java231
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/FieldResult.java268
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/GenerationType.java285
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/Inheritance.java204
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/InheritanceType.java258
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/Lob.java52
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/MapKey.java60
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/MapKeyImpl.java192
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostLoad.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostPersist.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostRemove.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostUpdate.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PrePersist.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PreRemove.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PreUpdate.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/SqlResultSetMapping.java318
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/TemporalType.java258
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAbstractColumn.java166
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAssociationOverride.java79
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAssociationOverrideImpl.java262
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAttributeMapping.java60
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAttributeOverride.java87
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAttributeOverrideImpl.java290
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlBaseTable.java133
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlBasic.java176
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlBasicImpl.java628
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlColumn.java112
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlColumnImpl.java366
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlDiscriminatorColumn.java268
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddable.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbedded.java26
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddedId.java26
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddedIdImpl.java227
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddedImpl.java227
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEntity.java1915
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEntityMappings.java1077
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlGeneratedValue.java91
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlGeneratedValueImpl.java263
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlGenerator.java114
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlId.java142
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlIdClass.java200
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlIdImpl.java597
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinColumn.java58
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinColumnImpl.java228
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinTable.java66
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinTableImpl.java261
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToMany.java26
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToManyImpl.java735
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToOne.java26
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToOneImpl.java638
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlMappedSuperclass.java1027
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlMultiRelationshipMapping.java112
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNamedColumn.java87
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNamedNativeQuery.java470
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNamedQuery.java329
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNullAttributeMapping.java26
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToMany.java49
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToManyImpl.java791
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToOne.java76
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToOneImpl.java755
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPersistenceUnitDefaults.java507
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPersistenceUnitMetadata.java299
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPrimaryKeyJoinColumn.java58
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPrimaryKeyJoinColumnImpl.java228
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlQuery.java106
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlQueryHint.java268
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlRelationshipMapping.java143
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSecondaryTable.java49
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSecondaryTableImpl.java213
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSequenceGenerator.java58
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSequenceGeneratorImpl.java393
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSingleRelationshipMapping.java76
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTable.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTableGenerator.java211
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTableGeneratorImpl.java798
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTransient.java26
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTransientImpl.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlUniqueConstraint.java52
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlUniqueConstraintImpl.java174
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlVersion.java61
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlVersionImpl.java345
157 files changed, 47594 insertions, 13 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/META-INF/MANIFEST.MF b/jpa/plugins/org.eclipse.jpt.eclipselink.core/META-INF/MANIFEST.MF
index 7bfd4076a8..4d7d39a9b1 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/META-INF/MANIFEST.MF
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/META-INF/MANIFEST.MF
@@ -9,13 +9,17 @@ Bundle-ClassPath: .
Bundle-Localization: plugin
Require-Bundle: org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.debug.core;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.4.0,3.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="2.4.0",
org.eclipse.jdt.core;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jpt.db;bundle-version="[1.1.1,2.0.0)",
+ org.eclipse.jdt.launching;bundle-version="[3.4.0,4.0.0)",
org.eclipse.jpt.core;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.jpt.db;bundle-version="[1.1.1,2.0.0)",
org.eclipse.jpt.utility;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.debug.core;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jdt.launching;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.wst.common.emf;bundle-version="1.1.200",
+ org.eclipse.wst.common.emfworkbench.integration;bundle-version="1.1.200",
+ org.eclipse.wst.common.modulecore;bundle-version="1.1.201",
org.eclipse.wst.validation;bundle-version="[1.2.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.jpt.eclipselink.core,
@@ -31,6 +35,8 @@ Export-Package: org.eclipse.jpt.eclipselink.core,
org.eclipse.jpt.eclipselink.core.internal.context.options,
org.eclipse.jpt.eclipselink.core.internal.context.schema.generation,
org.eclipse.jpt.eclipselink.core.internal.ddlgen,
+ org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators,
org.eclipse.jpt.eclipselink.core.internal.resource.java,
+ org.eclipse.jpt.eclipselink.core.resource.elorm,
org.eclipse.jpt.eclipselink.core.resource.java
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/build.properties b/jpa/plugins/org.eclipse.jpt.eclipselink.core/build.properties
index e9bdb6f945..81a1ab6b4f 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/build.properties
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/build.properties
@@ -18,3 +18,4 @@ bin.includes = .,\
plugin.xml,\
plugin.properties
jars.compile.order = .
+src.includes = model/
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/elorm.ecore b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/elorm.ecore
new file mode 100644
index 0000000000..1126518a4e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/elorm.ecore
@@ -0,0 +1,488 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="elorm"
+ nsURI="jpt.elorm.xmi" nsPrefix="org.eclipse.jpt.eclipselink.core.resource.elorm">
+ <eClassifiers xsi:type="ecore:EClass" name="XmlEntityMappings">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1"
+ eType="#//VersionType" defaultValueLiteral="1.0" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="persistenceUnitMetadata"
+ eType="#//XmlPersistenceUnitMetadata" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="package" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="schema" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="catalog" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="access" eType="#//AccessType"
+ defaultValueLiteral="PROPERTY"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequenceGenerators" upperBound="-1"
+ eType="#//XmlSequenceGenerator" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tableGenerators" upperBound="-1"
+ eType="#//XmlTableGenerator" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="namedQueries" upperBound="-1"
+ eType="#//XmlNamedQuery" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="namedNativeQueries" upperBound="-1"
+ eType="#//XmlNamedNativeQuery" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sqlResultSetMappings" upperBound="-1"
+ eType="#//SqlResultSetMapping" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="mappedSuperclasses" upperBound="-1"
+ eType="#//XmlMappedSuperclass" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="entities" upperBound="-1"
+ eType="#//XmlEntity" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="embeddables" upperBound="-1"
+ eType="#//XmlEmbeddable" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlPersistenceUnitMetadata">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlMappingMetadataComplete"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="persistenceUnitDefaults"
+ eType="#//XmlPersistenceUnitDefaults" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlPersistenceUnitDefaults">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="schema" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="catalog" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="access" eType="#//AccessType"
+ defaultValueLiteral="PROPERTY"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascadePersist" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="entityListeners" eType="#//EntityListeners"
+ containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractXmlTypeMapping" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="className" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="access" eType="#//AccessType"
+ defaultValueLiteral="PROPERTY"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="metadataComplete" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" eType="#//Attributes"
+ containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlMappedSuperclass" eSuperTypes="#//AbstractXmlTypeMapping">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="idClass" eType="#//XmlIdClass"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="excludeDefaultListeners"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="excludeSuperclassListeners"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="entityListeners" eType="#//EntityListeners"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="prePersist" eType="#//PrePersist"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postPersist" eType="#//PostPersist"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preRemove" eType="#//PreRemove"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postRemove" eType="#//PostRemove"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preUpdate" eType="#//PreUpdate"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postUpdate" eType="#//PostUpdate"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postLoad" eType="#//PostLoad"
+ containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlEntity" eSuperTypes="#//AbstractXmlTypeMapping">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="table" eType="#//XmlTable"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="secondaryTables" upperBound="-1"
+ eType="#//XmlSecondaryTable" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="primaryKeyJoinColumns"
+ upperBound="-1" eType="#//XmlPrimaryKeyJoinColumn" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="idClass" eType="#//XmlIdClass"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inheritance" eType="#//Inheritance"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="discriminatorValue" eType="#//DiscriminatorValue"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="discriminatorColumn" eType="#//XmlDiscriminatorColumn"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequenceGenerator" eType="#//XmlSequenceGenerator"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tableGenerator" eType="#//XmlTableGenerator"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="namedQueries" upperBound="-1"
+ eType="#//XmlNamedQuery" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="namedNativeQueries" upperBound="-1"
+ eType="#//XmlNamedNativeQuery" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sqlResultSetMappings" upperBound="-1"
+ eType="#//SqlResultSetMapping" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="excludeDefaultListeners"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="excludeSuperclassListeners"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="entityListeners" eType="#//EntityListeners"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="prePersist" eType="#//PrePersist"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postPersist" eType="#//PostPersist"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preRemove" eType="#//PreRemove"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postRemove" eType="#//PostRemove"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preUpdate" eType="#//PreUpdate"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postUpdate" eType="#//PostUpdate"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postLoad" eType="#//PostLoad"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attributeOverrides" upperBound="-1"
+ eType="#//XmlAttributeOverride" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="associationOverrides" upperBound="-1"
+ eType="#//XmlAssociationOverride" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlEmbeddable" eSuperTypes="#//AbstractXmlTypeMapping"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Attributes">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ids" upperBound="-1" eType="#//XmlId"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="embeddedIds" upperBound="-1"
+ eType="#//XmlEmbeddedId" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="basics" upperBound="-1"
+ eType="#//XmlBasic" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="versions" upperBound="-1"
+ eType="#//XmlVersion" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="manyToOnes" upperBound="-1"
+ eType="#//XmlManyToOne" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="oneToManys" upperBound="-1"
+ eType="#//XmlOneToMany" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="oneToOnes" upperBound="-1"
+ eType="#//XmlOneToOne" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="manyToManys" upperBound="-1"
+ eType="#//XmlManyToMany" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="embeddeds" upperBound="-1"
+ eType="#//XmlEmbedded" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="transients" upperBound="-1"
+ eType="#//XmlTransient" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlAttributeMapping" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractXmlAttributeMapping" abstract="true"
+ eSuperTypes="#//XmlAttributeMapping"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlNullAttributeMapping" abstract="true"
+ interface="true" eSuperTypes="#//XmlAttributeMapping"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ColumnMapping" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="column" eType="#//XmlColumn"
+ containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlRelationshipMapping" abstract="true"
+ interface="true" eSuperTypes="#//XmlAttributeMapping">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetEntity" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="fetch" eType="#//FetchType"
+ defaultValueLiteral="LAZY"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="joinTable" eType="#//XmlJoinTable"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="cascade" eType="#//CascadeType"
+ containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlMultiRelationshipMapping" abstract="true"
+ interface="true" eSuperTypes="#//XmlRelationshipMapping">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mappedBy" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="orderBy" eType="#//OrderBy"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="mapKey" eType="#//MapKey"
+ containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlSingleRelationshipMapping" abstract="true"
+ interface="true" eSuperTypes="#//XmlRelationshipMapping">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="joinColumns" upperBound="-1"
+ eType="#//XmlJoinColumn" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlId" abstract="true" interface="true"
+ eSuperTypes="#//XmlAttributeMapping #//ColumnMapping">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="generatedValue" eType="#//XmlGeneratedValue"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="temporal" eType="#//TemporalType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tableGenerator" eType="#//XmlTableGenerator"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequenceGenerator" eType="#//XmlSequenceGenerator"
+ containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlIdImpl" eSuperTypes="#//AbstractXmlAttributeMapping #//XmlId"/>
+ <eClassifiers xsi:type="ecore:EClass" name="BaseXmlEmbedded" abstract="true" interface="true"
+ eSuperTypes="#//XmlAttributeMapping">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attributeOverrides" upperBound="-1"
+ eType="#//XmlAttributeOverride" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlEmbeddedId" abstract="true" interface="true"
+ eSuperTypes="#//XmlAttributeMapping #//BaseXmlEmbedded"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlEmbeddedIdImpl" eSuperTypes="#//AbstractXmlAttributeMapping #//XmlEmbeddedId"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlEmbedded" abstract="true" interface="true"
+ eSuperTypes="#//BaseXmlEmbedded"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlEmbeddedImpl" eSuperTypes="#//AbstractXmlAttributeMapping #//XmlEmbedded"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlBasic" abstract="true" interface="true"
+ eSuperTypes="#//XmlAttributeMapping #//ColumnMapping">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="fetch" eType="#//FetchType"
+ defaultValueLiteral="LAZY"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lob" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="temporal" eType="#//TemporalType"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="enumerated" eType="#//EnumType"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlBasicImpl" eSuperTypes="#//AbstractXmlAttributeMapping #//XmlBasic"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlVersion" abstract="true" interface="true"
+ eSuperTypes="#//XmlAttributeMapping #//ColumnMapping">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="temporal" eType="#//TemporalType"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlVersionImpl" eSuperTypes="#//AbstractXmlAttributeMapping #//XmlVersion"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlManyToOne" abstract="true" interface="true"
+ eSuperTypes="#//XmlSingleRelationshipMapping"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlManyToOneImpl" eSuperTypes="#//AbstractXmlAttributeMapping #//XmlManyToOne"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlOneToMany" abstract="true" interface="true"
+ eSuperTypes="#//XmlMultiRelationshipMapping">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="joinColumns" upperBound="-1"
+ eType="#//XmlJoinColumn" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlOneToManyImpl" eSuperTypes="#//AbstractXmlAttributeMapping #//XmlOneToMany"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlOneToOne" abstract="true" interface="true"
+ eSuperTypes="#//XmlSingleRelationshipMapping">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mappedBy" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="primaryKeyJoinColumns"
+ upperBound="-1" eType="#//XmlPrimaryKeyJoinColumn" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlOneToOneImpl" eSuperTypes="#//AbstractXmlAttributeMapping #//XmlOneToOne"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlManyToMany" abstract="true" interface="true"
+ eSuperTypes="#//XmlMultiRelationshipMapping"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlManyToManyImpl" eSuperTypes="#//AbstractXmlAttributeMapping #//XmlManyToMany"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlTransient" abstract="true" interface="true"
+ eSuperTypes="#//XmlAttributeMapping"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlTransientImpl" eSuperTypes="#//AbstractXmlAttributeMapping #//XmlTransient"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlAssociationOverride" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="joinColumns" lowerBound="1"
+ upperBound="-1" eType="#//XmlJoinColumn" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlAssociationOverrideImpl" eSuperTypes="#//XmlAssociationOverride"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlAttributeOverride" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="column" lowerBound="1"
+ eType="#//XmlColumn" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlAttributeOverrideImpl" eSuperTypes="#//XmlAttributeOverride"/>
+ <eClassifiers xsi:type="ecore:EClass" name="CascadeType" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascadeAll" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascadePersist" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascadeMerge" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascadeRemove" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascadeRefresh" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CascadeTypeImpl" eSuperTypes="#//CascadeType"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlNamedColumn" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="columnDefinition" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractXmlNamedColumn" abstract="true"
+ eSuperTypes="#//XmlNamedColumn"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlAbstractColumn" abstract="true" interface="true"
+ eSuperTypes="#//XmlNamedColumn">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="insertable" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="nullable" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="table" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unique" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="updatable" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractXmlAbstractColumn" abstract="true"
+ eSuperTypes="#//AbstractXmlNamedColumn #//XmlAbstractColumn"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlColumn" abstract="true" interface="true"
+ eSuperTypes="#//XmlAbstractColumn">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="length" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//IntObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="precision" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//IntObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="scale" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//IntObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlColumnImpl" eSuperTypes="#//AbstractXmlAbstractColumn #//XmlColumn"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ColumnResult">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlDiscriminatorColumn" eSuperTypes="#//AbstractXmlNamedColumn">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="discriminatorType" eType="#//DiscriminatorType"
+ defaultValueLiteral="STRING"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="length" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//IntObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EntityListeners">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="entityListeners" upperBound="-1"
+ eType="#//EntityListener" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EntityListener">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="className" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="prePersist" eType="#//PrePersist"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postPersist" eType="#//PostPersist"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preRemove" eType="#//PreRemove"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postRemove" eType="#//PostRemove"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preUpdate" eType="#//PreUpdate"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postUpdate" eType="#//PostUpdate"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postLoad" eType="#//PostLoad"
+ containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EntityResult">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="discriminatorColumn" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="entityClass" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fieldResults" upperBound="-1"
+ eType="#//FieldResult" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EventMethod">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="methodName" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FieldResult">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="column" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlGeneratedValue" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="generator" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="strategy" eType="#//GenerationType"
+ defaultValueLiteral="TABLE"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlGeneratedValueImpl" eSuperTypes="#//XmlGeneratedValue"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlIdClass">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="className" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Inheritance">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="strategy" eType="#//InheritanceType"
+ defaultValueLiteral="SINGLE_TABLE"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlJoinColumn" abstract="true" interface="true"
+ eSuperTypes="#//XmlAbstractColumn">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="referencedColumnName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlJoinColumnImpl" eSuperTypes="#//AbstractXmlAbstractColumn #//XmlJoinColumn"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlJoinTable" abstract="true" interface="true"
+ eSuperTypes="#//XmlBaseTable">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="joinColumns" upperBound="-1"
+ eType="#//XmlJoinColumn" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inverseJoinColumns" upperBound="-1"
+ eType="#//XmlJoinColumn" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlJoinTableImpl" eSuperTypes="#//AbstractXmlBaseTable #//XmlJoinTable"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Lob"/>
+ <eClassifiers xsi:type="ecore:EClass" name="MapKey" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MapKeyImpl" eSuperTypes="#//MapKey"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlQuery" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="query" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hints" upperBound="-1"
+ eType="#//XmlQueryHint" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlNamedNativeQuery" eSuperTypes="#//XmlQuery">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="resultClass" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="resultSetMapping" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlNamedQuery" eSuperTypes="#//XmlQuery"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PostLoad" eSuperTypes="#//EventMethod"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PostPersist" eSuperTypes="#//EventMethod"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PostRemove" eSuperTypes="#//EventMethod"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PostUpdate" eSuperTypes="#//EventMethod"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PrePersist" eSuperTypes="#//EventMethod"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PreRemove" eSuperTypes="#//EventMethod"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PreUpdate" eSuperTypes="#//EventMethod"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlPrimaryKeyJoinColumn" abstract="true"
+ interface="true" eSuperTypes="#//XmlNamedColumn">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="referencedColumnName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlPrimaryKeyJoinColumnImpl" eSuperTypes="#//AbstractXmlNamedColumn #//XmlPrimaryKeyJoinColumn"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlQueryHint">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractXmlBaseTable" abstract="true"
+ eSuperTypes="#//XmlBaseTable"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlBaseTable" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="catalog" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="schema" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="uniqueConstraints" upperBound="-1"
+ eType="#//XmlUniqueConstraint" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlTable" eSuperTypes="#//AbstractXmlBaseTable"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlSecondaryTable" abstract="true" interface="true"
+ eSuperTypes="#//XmlBaseTable">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="primaryKeyJoinColumns"
+ upperBound="-1" eType="#//XmlPrimaryKeyJoinColumn" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlSecondaryTableImpl" eSuperTypes="#//AbstractXmlBaseTable #//XmlSecondaryTable"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlGenerator" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="initialValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//IntObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="allocationSize" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//IntObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlSequenceGenerator" abstract="true"
+ interface="true" eSuperTypes="#//XmlGenerator">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="sequenceName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlSequenceGeneratorImpl" eSuperTypes="#//XmlSequenceGenerator"/>
+ <eClassifiers xsi:type="ecore:EClass" name="SqlResultSetMapping">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="entityResults" upperBound="-1"
+ eType="#//EntityResult" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="columnResults" upperBound="-1"
+ eType="#//ColumnResult" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlTableGenerator" abstract="true" interface="true"
+ eSuperTypes="#//XmlGenerator">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="table" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="catalog" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="schema" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="pkColumnName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueColumnName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="pkColumnValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="uniqueConstraints" upperBound="-1"
+ eType="#//XmlUniqueConstraint" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlTableGeneratorImpl" eSuperTypes="#//XmlTableGenerator"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlUniqueConstraint" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="columnNames" unique="false"
+ lowerBound="1" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlUniqueConstraintImpl" eSuperTypes="#//XmlUniqueConstraint"/>
+ <eClassifiers xsi:type="ecore:EDataType" name="DiscriminatorValue" instanceClassName="java.lang.String"/>
+ <eClassifiers xsi:type="ecore:EDataType" name="Enumerated" instanceClassName="org.eclipse.emf.common.util.Enumerator"/>
+ <eClassifiers xsi:type="ecore:EDataType" name="OrderBy" instanceClassName="java.lang.String"/>
+ <eClassifiers xsi:type="ecore:EDataType" name="VersionType" instanceClassName="java.lang.String"/>
+ <eClassifiers xsi:type="ecore:EEnum" name="AccessType">
+ <eLiterals name="PROPERTY"/>
+ <eLiterals name="FIELD" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="DiscriminatorType">
+ <eLiterals name="STRING"/>
+ <eLiterals name="CHAR" value="1"/>
+ <eLiterals name="INTEGER" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="EnumType">
+ <eLiterals name="ORDINAL"/>
+ <eLiterals name="STRING" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="FetchType">
+ <eLiterals name="LAZY"/>
+ <eLiterals name="EAGER" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="GenerationType">
+ <eLiterals name="TABLE"/>
+ <eLiterals name="SEQUENCE" value="1"/>
+ <eLiterals name="IDENTITY" value="2"/>
+ <eLiterals name="AUTO" value="3"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="InheritanceType">
+ <eLiterals name="SINGLE_TABLE" literal="SINGLE_TABLE"/>
+ <eLiterals name="JOINED" value="1"/>
+ <eLiterals name="TABLE_PER_CLASS" value="2" literal="TABLE_PER_CLASS"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="TemporalType">
+ <eLiterals name="DATE"/>
+ <eLiterals name="TIME" value="1"/>
+ <eLiterals name="TIMESTAMP" value="2"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/jptEclipseLinkResourceModels.genmodel b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/jptEclipseLinkResourceModels.genmodel
new file mode 100644
index 0000000000..9e6a893e1a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/jptEclipseLinkResourceModels.genmodel
@@ -0,0 +1,363 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.jpt.eclipselink.core/src"
+ creationCommands="false" creationIcons="false" editDirectory="" editorDirectory=""
+ modelPluginID="org.eclipse.jpt.eclipselink.core" modelName="EclipseLinkCore" editPluginClass=""
+ editorPluginClass="" updateClasspath="false" rootExtendsInterface="org.eclipse.jpt.core.resource.common.JpaEObject"
+ rootExtendsClass="org.eclipse.jpt.core.resource.common.AbstractJpaEObject" suppressInterfaces="true"
+ testsDirectory="" testSuiteClass="" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="5.0" copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
+ <foreignModel>elorm.ecore</foreignModel>
+ <genPackages prefix="EclipseLinkOrm" basePackage="org.eclipse.jpt.eclipselink.core.resource"
+ disposableProviderFactory="true" adapterFactory="false" ecorePackage="elorm.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="elorm.ecore#//AccessType">
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//AccessType/PROPERTY"/>
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//AccessType/FIELD"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="elorm.ecore#//DiscriminatorType">
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//DiscriminatorType/STRING"/>
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//DiscriminatorType/CHAR"/>
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//DiscriminatorType/INTEGER"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="elorm.ecore#//EnumType">
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//EnumType/ORDINAL"/>
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//EnumType/STRING"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="elorm.ecore#//FetchType">
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//FetchType/LAZY"/>
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//FetchType/EAGER"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="elorm.ecore#//GenerationType">
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//GenerationType/TABLE"/>
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//GenerationType/SEQUENCE"/>
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//GenerationType/IDENTITY"/>
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//GenerationType/AUTO"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="elorm.ecore#//InheritanceType">
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//InheritanceType/SINGLE_TABLE"/>
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//InheritanceType/JOINED"/>
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//InheritanceType/TABLE_PER_CLASS"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="elorm.ecore#//TemporalType">
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//TemporalType/DATE"/>
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//TemporalType/TIME"/>
+ <genEnumLiterals ecoreEnumLiteral="elorm.ecore#//TemporalType/TIMESTAMP"/>
+ </genEnums>
+ <genDataTypes ecoreDataType="elorm.ecore#//DiscriminatorValue"/>
+ <genDataTypes ecoreDataType="elorm.ecore#//Enumerated"/>
+ <genDataTypes ecoreDataType="elorm.ecore#//OrderBy"/>
+ <genDataTypes ecoreDataType="elorm.ecore#//VersionType"/>
+ <genClasses ecoreClass="elorm.ecore#//XmlEntityMappings">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlEntityMappings/version"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlEntityMappings/description"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntityMappings/persistenceUnitMetadata"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlEntityMappings/package"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlEntityMappings/schema"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlEntityMappings/catalog"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlEntityMappings/access"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntityMappings/sequenceGenerators"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntityMappings/tableGenerators"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntityMappings/namedQueries"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntityMappings/namedNativeQueries"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntityMappings/sqlResultSetMappings"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntityMappings/mappedSuperclasses"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntityMappings/entities"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntityMappings/embeddables"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlPersistenceUnitMetadata">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlPersistenceUnitMetadata/xmlMappingMetadataComplete"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlPersistenceUnitMetadata/persistenceUnitDefaults"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlPersistenceUnitDefaults">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlPersistenceUnitDefaults/schema"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlPersistenceUnitDefaults/catalog"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlPersistenceUnitDefaults/access"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlPersistenceUnitDefaults/cascadePersist"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlPersistenceUnitDefaults/entityListeners"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//AbstractXmlTypeMapping">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//AbstractXmlTypeMapping/className"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//AbstractXmlTypeMapping/access"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//AbstractXmlTypeMapping/metadataComplete"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//AbstractXmlTypeMapping/description"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//AbstractXmlTypeMapping/attributes"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlMappedSuperclass">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlMappedSuperclass/idClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlMappedSuperclass/excludeDefaultListeners"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlMappedSuperclass/excludeSuperclassListeners"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlMappedSuperclass/entityListeners"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlMappedSuperclass/prePersist"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlMappedSuperclass/postPersist"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlMappedSuperclass/preRemove"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlMappedSuperclass/postRemove"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlMappedSuperclass/preUpdate"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlMappedSuperclass/postUpdate"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlMappedSuperclass/postLoad"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlEntity">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlEntity/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/table"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/secondaryTables"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/primaryKeyJoinColumns"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/idClass"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/inheritance"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlEntity/discriminatorValue"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/discriminatorColumn"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/sequenceGenerator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/tableGenerator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/namedQueries"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/namedNativeQueries"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/sqlResultSetMappings"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlEntity/excludeDefaultListeners"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlEntity/excludeSuperclassListeners"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/entityListeners"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/prePersist"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/postPersist"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/preRemove"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/postRemove"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/preUpdate"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/postUpdate"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/postLoad"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/attributeOverrides"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlEntity/associationOverrides"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlEmbeddable"/>
+ <genClasses ecoreClass="elorm.ecore#//Attributes">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//Attributes/ids"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//Attributes/embeddedIds"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//Attributes/basics"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//Attributes/versions"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//Attributes/manyToOnes"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//Attributes/oneToManys"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//Attributes/oneToOnes"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//Attributes/manyToManys"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//Attributes/embeddeds"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//Attributes/transients"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlAttributeMapping">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlAttributeMapping/name"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//AbstractXmlAttributeMapping"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlNullAttributeMapping"/>
+ <genClasses ecoreClass="elorm.ecore#//ColumnMapping">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//ColumnMapping/column"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlRelationshipMapping">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlRelationshipMapping/targetEntity"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlRelationshipMapping/fetch"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlRelationshipMapping/joinTable"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlRelationshipMapping/cascade"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlMultiRelationshipMapping">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlMultiRelationshipMapping/mappedBy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlMultiRelationshipMapping/orderBy"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlMultiRelationshipMapping/mapKey"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlSingleRelationshipMapping">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlSingleRelationshipMapping/optional"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlSingleRelationshipMapping/joinColumns"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlId">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlId/generatedValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlId/temporal"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlId/tableGenerator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlId/sequenceGenerator"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlIdImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//BaseXmlEmbedded">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//BaseXmlEmbedded/attributeOverrides"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlEmbeddedId"/>
+ <genClasses ecoreClass="elorm.ecore#//XmlEmbeddedIdImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlEmbedded"/>
+ <genClasses ecoreClass="elorm.ecore#//XmlEmbeddedImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlBasic">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlBasic/fetch"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlBasic/optional"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlBasic/lob"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlBasic/temporal"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlBasic/enumerated"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlBasicImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlVersion">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlVersion/temporal"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlVersionImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlManyToOne"/>
+ <genClasses ecoreClass="elorm.ecore#//XmlManyToOneImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlOneToMany">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlOneToMany/joinColumns"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlOneToManyImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlOneToOne">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlOneToOne/mappedBy"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlOneToOne/primaryKeyJoinColumns"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlOneToOneImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlManyToMany"/>
+ <genClasses ecoreClass="elorm.ecore#//XmlManyToManyImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlTransient"/>
+ <genClasses ecoreClass="elorm.ecore#//XmlTransientImpl"/>
+ <genClasses ecoreClass="elorm.ecore#//XmlAssociationOverride">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlAssociationOverride/joinColumns"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlAssociationOverride/name"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlAssociationOverrideImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlAttributeOverride">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlAttributeOverride/column"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlAttributeOverride/name"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlAttributeOverrideImpl"/>
+ <genClasses ecoreClass="elorm.ecore#//CascadeType">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute elorm.ecore#//CascadeType/cascadeAll"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute elorm.ecore#//CascadeType/cascadePersist"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute elorm.ecore#//CascadeType/cascadeMerge"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute elorm.ecore#//CascadeType/cascadeRemove"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute elorm.ecore#//CascadeType/cascadeRefresh"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//CascadeTypeImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlNamedColumn">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlNamedColumn/columnDefinition"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlNamedColumn/name"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//AbstractXmlNamedColumn"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlAbstractColumn">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlAbstractColumn/insertable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlAbstractColumn/nullable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlAbstractColumn/table"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlAbstractColumn/unique"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlAbstractColumn/updatable"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//AbstractXmlAbstractColumn"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlColumn">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlColumn/length"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlColumn/precision"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlColumn/scale"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlColumnImpl"/>
+ <genClasses ecoreClass="elorm.ecore#//ColumnResult">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//ColumnResult/name"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlDiscriminatorColumn">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlDiscriminatorColumn/discriminatorType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlDiscriminatorColumn/length"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//EntityListeners">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//EntityListeners/entityListeners"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//EntityListener">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//EntityListener/className"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//EntityListener/prePersist"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//EntityListener/postPersist"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//EntityListener/preRemove"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//EntityListener/postRemove"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//EntityListener/preUpdate"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//EntityListener/postUpdate"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//EntityListener/postLoad"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//EntityResult">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//EntityResult/discriminatorColumn"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//EntityResult/entityClass"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//EntityResult/fieldResults"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//EventMethod">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//EventMethod/methodName"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//FieldResult">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//FieldResult/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//FieldResult/column"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlGeneratedValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlGeneratedValue/generator"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlGeneratedValue/strategy"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlGeneratedValueImpl"/>
+ <genClasses ecoreClass="elorm.ecore#//XmlIdClass">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlIdClass/className"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//Inheritance">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//Inheritance/strategy"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlJoinColumn">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlJoinColumn/referencedColumnName"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlJoinColumnImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlJoinTable">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlJoinTable/joinColumns"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlJoinTable/inverseJoinColumns"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlJoinTableImpl"/>
+ <genClasses ecoreClass="elorm.ecore#//Lob"/>
+ <genClasses ecoreClass="elorm.ecore#//MapKey">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//MapKey/name"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//MapKeyImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlQuery">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlQuery/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlQuery/query"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlQuery/hints"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlNamedNativeQuery">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlNamedNativeQuery/resultClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlNamedNativeQuery/resultSetMapping"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlNamedQuery"/>
+ <genClasses ecoreClass="elorm.ecore#//PostLoad"/>
+ <genClasses ecoreClass="elorm.ecore#//PostPersist"/>
+ <genClasses ecoreClass="elorm.ecore#//PostRemove"/>
+ <genClasses ecoreClass="elorm.ecore#//PostUpdate"/>
+ <genClasses ecoreClass="elorm.ecore#//PrePersist"/>
+ <genClasses ecoreClass="elorm.ecore#//PreRemove"/>
+ <genClasses ecoreClass="elorm.ecore#//PreUpdate"/>
+ <genClasses ecoreClass="elorm.ecore#//XmlPrimaryKeyJoinColumn">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlPrimaryKeyJoinColumn/referencedColumnName"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlPrimaryKeyJoinColumnImpl"/>
+ <genClasses ecoreClass="elorm.ecore#//XmlQueryHint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlQueryHint/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlQueryHint/value"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//AbstractXmlBaseTable"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlBaseTable">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlBaseTable/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlBaseTable/catalog"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlBaseTable/schema"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlBaseTable/uniqueConstraints"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlTable"/>
+ <genClasses ecoreClass="elorm.ecore#//XmlSecondaryTable">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlSecondaryTable/primaryKeyJoinColumns"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlSecondaryTableImpl"/>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlGenerator">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlGenerator/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlGenerator/initialValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlGenerator/allocationSize"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlSequenceGenerator">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlSequenceGenerator/sequenceName"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlSequenceGeneratorImpl"/>
+ <genClasses ecoreClass="elorm.ecore#//SqlResultSetMapping">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//SqlResultSetMapping/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//SqlResultSetMapping/entityResults"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//SqlResultSetMapping/columnResults"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="elorm.ecore#//XmlTableGenerator">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlTableGenerator/table"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlTableGenerator/catalog"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlTableGenerator/schema"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlTableGenerator/pkColumnName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlTableGenerator/valueColumnName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlTableGenerator/pkColumnValue"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference elorm.ecore#//XmlTableGenerator/uniqueConstraints"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlTableGeneratorImpl"/>
+ <genClasses ecoreClass="elorm.ecore#//XmlUniqueConstraint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute elorm.ecore#//XmlUniqueConstraint/columnNames"/>
+ </genClasses>
+ <genClasses ecoreClass="elorm.ecore#//XmlUniqueConstraintImpl"/>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.properties b/jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.properties
index 996ecfc042..0fed010545 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.properties
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.properties
@@ -22,3 +22,7 @@
pluginName = Java Persistence API Tools - EclipseLink Support - Core
providerName = Eclipse.org
+
+ECLIPSELINK_ORM_XML_CONTENT = EclipseLink ORM XML Content
+ECLIPSELINK_PLATFORM = EclipseLink
+
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.xml b/jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.xml
index 934e184dbf..8f3e8aa535 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.xml
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.xml
@@ -1,12 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
- <extension
- point="org.eclipse.jpt.core.jpaPlatform">
- <jpaPlatform
+
+ <extension
+ point="org.eclipse.core.runtime.contentTypes">
+
+ <content-type
+ id="org.eclipse.jpt.eclipselink.core.content.orm"
+ name="%ECLIPSELINK_ORM_XML_CONTENT"
+ base-type="org.eclipse.core.runtime.xml"
+ file-names="eclipselink-orm.xml">
+ <describer
+ class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber2">
+ <parameter
+ name="element"
+ value="{http://www.eclipse.org/eclipselink/xsds/persistence/orm}entity-mappings"/>
+ </describer>
+ </content-type>
+
+ </extension>
+
+
+ <extension
+ point="org.eclipse.jpt.core.jpaPlatform">
+
+ <jpaPlatform
+ id="org.eclipse.eclipselink.platform"
class="org.eclipse.jpt.eclipselink.core.internal.EclipseLinkPlatform"
- id="org.eclipse.eclipselink.platform"
- label="EclipseLink">
- </jpaPlatform>
- </extension>
+ label="%ECLIPSELINK_PLATFORM">
+ </jpaPlatform>
+
+ </extension>
+
+
+ <!-- ***** WTP extensions ***** -->
+
+ <extension
+ point="org.eclipse.wst.common.modulecore.resourceFactories">
+
+ <resourceFactory
+ class="org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmResourceFactory"
+ isDefault="true"
+ shortSegment="eclipselink-orm.xml">
+ <contentTypeBinding
+ contentTypeId="org.eclipse.jpt.eclipselink.core.content.orm">
+ </contentTypeBinding>
+ </resourceFactory>
+
+ </extension>
+
+
+ <extension point="org.eclipse.wst.xml.core.catalogContributions">
+
+ <catalogContribution id="default">
+ <uri
+ name="http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_1_0.xsd"
+ uri="schemas/eclipselink_orm_1_0.xsd" />
+ </catalogContribution>
+
+ </extension>
+
</plugin>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/schemas/eclipselink_orm_1_0.xsd b/jpa/plugins/org.eclipse.jpt.eclipselink.core/schemas/eclipselink_orm_1_0.xsd
new file mode 100644
index 0000000000..af1d1dadad
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/schemas/eclipselink_orm_1_0.xsd
@@ -0,0 +1,3128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Java Persistence API object-relational mapping file schema -->
+<xsd:schema targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
+ xmlns:orm="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="1.0">
+
+ <xsd:annotation>
+ <xsd:documentation>
+ @(#)eclipselink_orm_1_0.xsd 1.0 February 1 2008
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+
+ This is the XML Schema for the new native EclipseLink XML metadata
+ format used for JPA and native deployment xml files.
+
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType name="emptyType"/>
+
+ <xsd:simpleType name="versionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:pattern value="[0-9]+(\.[0-9]+)*"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="entity-mappings">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The entity-mappings element is the root element of an mapping
+ file. It contains the following four types of elements:
+
+ 1. The persistence-unit-metadata element contains metadata
+ for the entire persistence unit. It is undefined if this element
+ occurs in multiple mapping files within the same persistence unit.
+
+ 2. The package, schema, catalog and access elements apply to all of
+ the entity, mapped-superclass and embeddable elements defined in
+ the same file in which they occur.
+
+ 3. The sequence-generator, table-generator, named-query,
+ named-native-query and sql-result-set-mapping elements are global
+ to the persistence unit. It is undefined to have more than one
+ sequence-generator or table-generator of the same name in the same
+ or different mapping files in a persistence unit. It is also
+ undefined to have more than one named-query or named-native-query
+ of the same name in the same or different mapping files in a
+ persistence unit.
+
+ 4. The entity, mapped-superclass and embeddable elements each define
+ the mapping information for a managed persistent class. The mapping
+ information contained in these elements may be complete or it may
+ be partial.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="persistence-unit-metadata"
+ type="orm:persistence-unit-metadata"
+ minOccurs="0"/>
+ <xsd:element name="package" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="schema" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="catalog" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="access" type="orm:access-type"
+ minOccurs="0"/>
+ <xsd:element name="converter" type="orm:converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="type-converter" type="orm:type-converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="object-type-converter" type="orm:object-type-converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="struct-converter" type="orm:struct-converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="sequence-generator" type="orm:sequence-generator"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="table-generator" type="orm:table-generator"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="named-query" type="orm:named-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="named-native-query" type="orm:named-native-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="sql-result-set-mapping"
+ type="orm:sql-result-set-mapping"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="mapped-superclass" type="orm:mapped-superclass"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="entity" type="orm:entity"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="embeddable" type="orm:embeddable"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="version" type="orm:versionType"
+ fixed="1.0" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="persistence-unit-metadata">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Metadata that applies to the persistence unit and not just to
+ the mapping file in which it is contained.
+
+ If the xml-mapping-metadata-complete element is specified then
+ the complete set of mapping metadata for the persistence unit
+ is contained in the XML mapping files for the persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="xml-mapping-metadata-complete" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="exclude-default-mappings" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="persistence-unit-defaults"
+ type="orm:persistence-unit-defaults"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="persistence-unit-defaults">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ These defaults are applied to the persistence unit as a whole
+ unless they are overridden by local annotation or XML
+ element settings.
+
+ schema - Used as the schema for all tables or secondary tables
+ that apply to the persistence unit
+ catalog - Used as the catalog for all tables or secondary tables
+ that apply to the persistence unit
+ access - Used as the access type for all managed classes in
+ the persistence unit
+ cascade-persist - Adds cascade-persist to the set of cascade options
+ in entity relationships of the persistence unit
+ entity-listeners - List of default entity listeners to be invoked
+ on each entity in the persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="schema" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="catalog" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="access" type="orm:access-type"
+ minOccurs="0"/>
+ <xsd:element name="cascade-persist" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="entity-listeners" type="orm:entity-listeners"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="entity">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the settings and mappings for an entity. Is allowed to be
+ sparsely populated and used in conjunction with the annotations.
+ Alternatively, the metadata-complete attribute can be used to
+ indicate that no annotations on the entity class (and its fields
+ or properties) are to be processed. If this is the case then
+ the defaulting rules for the entity and its subelements will
+ be recursively applied.
+
+ @Target(TYPE) @Retention(RUNTIME)
+ public @interface Entity {
+ String name() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
+ <xsd:element name="change-tracking" type="orm:change-tracking"
+ minOccurs="0"/>
+ <xsd:element name="table" type="orm:table" minOccurs="0"/>
+ <xsd:element name="secondary-table" type="orm:secondary-table"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="primary-key-join-column"
+ type="orm:primary-key-join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
+ <xsd:element name="inheritance" type="orm:inheritance" minOccurs="0"/>
+ <xsd:element name="discriminator-value" type="orm:discriminator-value"
+ minOccurs="0"/>
+ <xsd:element name="discriminator-column"
+ type="orm:discriminator-column"
+ minOccurs="0"/>
+ <xsd:element name="optimistic-locking" type="orm:optimistic-locking"
+ minOccurs="0"/>
+ <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
+ <xsd:element name="converter" type="orm:converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="type-converter" type="orm:type-converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="object-type-converter" type="orm:object-type-converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="struct-converter" type="orm:struct-converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="copy-policy" type="orm:copy-policy"
+ minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy"
+ minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy"
+ minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sequence-generator" type="orm:sequence-generator"
+ minOccurs="0"/>
+ <xsd:element name="table-generator" type="orm:table-generator"
+ minOccurs="0"/>
+ <xsd:element name="named-query" type="orm:named-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="named-native-query" type="orm:named-native-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="sql-result-set-mapping"
+ type="orm:sql-result-set-mapping"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="exclude-default-listeners" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="exclude-superclass-listeners" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="entity-listeners" type="orm:entity-listeners"
+ minOccurs="0"/>
+ <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
+ <xsd:element name="post-persist" type="orm:post-persist"
+ minOccurs="0"/>
+ <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
+ <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
+ <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
+ <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
+ <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="attribute-override" type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="association-override" type="orm:association-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
+ <xsd:attribute name="read-only" type="xsd:boolean"/>
+ <xsd:attribute name="existence-checking" type="orm:existence-type"/>
+ <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="attributes">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ This element contains the entity field or property mappings.
+ It may be sparsely populated to include only a subset of the
+ fields or properties. If metadata-complete for the entity is true
+ then the remainder of the attributes will be defaulted according
+ to the default rules.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="id" type="orm:id"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="embedded-id" type="orm:embedded-id"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="basic" type="orm:basic"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="basic-collection" type="orm:basic-collection"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="basic-map" type="orm:basic-map"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="version" type="orm:version"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="many-to-one" type="orm:many-to-one"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="one-to-many" type="orm:one-to-many"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="one-to-one" type="orm:one-to-one"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="variable-one-to-one" type="orm:variable-one-to-one"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="many-to-many" type="orm:many-to-many"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="embedded" type="orm:embedded"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="transformation" type="orm:transformation"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="transient" type="orm:transient"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="access-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ This element determines how the persistence provider accesses the
+ state of an entity or embedded object.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="PROPERTY"/>
+ <xsd:enumeration value="FIELD"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="entity-listeners">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface EntityListeners {
+ Class[] value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="entity-listener" type="orm:entity-listener"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="entity-listener">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines an entity listener to be invoked at lifecycle events
+ for the entities that list this listener.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
+ <xsd:element name="post-persist" type="orm:post-persist"
+ minOccurs="0"/>
+ <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
+ <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
+ <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
+ <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
+ <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="pre-persist">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PrePersist {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="post-persist">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PostPersist {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="pre-remove">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PreRemove {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="post-remove">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PostRemove {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="pre-update">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PreUpdate {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="post-update">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PostUpdate {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="post-load">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PostLoad {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="property">
+ <xsd:annotation>
+ <xsd:documentation>
+ A user defined mapping's property.
+ @Target({METHOD, FIELD, TYPE})
+ @Retention(RUNTIME)
+ public @interface Property {
+ /**
+ * Property name.
+ */
+ String name();
+
+ /**
+ * String representation of Property value,
+ * converted to an instance of valueType.
+ */
+ String value();
+
+ /**
+ * Property value type.
+ * The value converted to valueType by ConversionManager.
+ * If specified must be a simple type that could be handled by
+ * ConversionManager:
+ * numerical, boolean, temporal.
+ */
+ Class valueType() default String.class;
+ }
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ <xsd:attribute name="value-type" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="query-hint">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface QueryHint {
+ String name();
+ String value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="named-query">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface NamedQuery {
+ String name();
+ String query();
+ QueryHint[] hints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="query" type="xsd:string"/>
+ <xsd:element name="hint" type="orm:query-hint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="named-native-query">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface NamedNativeQuery {
+ String name();
+ String query();
+ QueryHint[] hints() default {};
+ Class resultClass() default void.class;
+ String resultSetMapping() default ""; //named SqlResultSetMapping
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="query" type="xsd:string"/>
+ <xsd:element name="hint" type="orm:query-hint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="result-class" type="xsd:string"/>
+ <xsd:attribute name="result-set-mapping" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="sql-result-set-mapping">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface SqlResultSetMapping {
+ String name();
+ EntityResult[] entities() default {};
+ ColumnResult[] columns() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="entity-result" type="orm:entity-result"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="column-result" type="orm:column-result"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="entity-result">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface EntityResult {
+ Class entityClass();
+ FieldResult[] fields() default {};
+ String discriminatorColumn() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="field-result" type="orm:field-result"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="entity-class" type="xsd:string" use="required"/>
+ <xsd:attribute name="discriminator-column" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="field-result">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface FieldResult {
+ String name();
+ String column();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="column" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="column-result">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface ColumnResult {
+ String name();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="table">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface Table {
+ String name() default "";
+ String catalog() default "";
+ String schema() default "";
+ UniqueConstraint[] uniqueConstraints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="unique-constraint" type="orm:unique-constraint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="secondary-table">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface SecondaryTable {
+ String name();
+ String catalog() default "";
+ String schema() default "";
+ PrimaryKeyJoinColumn[] pkJoinColumns() default {};
+ UniqueConstraint[] uniqueConstraints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="primary-key-join-column"
+ type="orm:primary-key-join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="unique-constraint" type="orm:unique-constraint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="unique-constraint">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface UniqueConstraint {
+ String[] columnNames();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column-name" type="xsd:string"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Column {
+ String name() default "";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ String table() default "";
+ int length() default 255;
+ int precision() default 0; // decimal precision
+ int scale() default 0; // decimal scale
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="unique" type="xsd:boolean"/>
+ <xsd:attribute name="nullable" type="xsd:boolean"/>
+ <xsd:attribute name="insertable" type="xsd:boolean"/>
+ <xsd:attribute name="updatable" type="xsd:boolean"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ <xsd:attribute name="table" type="xsd:string"/>
+ <xsd:attribute name="length" type="xsd:int"/>
+ <xsd:attribute name="precision" type="xsd:int"/>
+ <xsd:attribute name="scale" type="xsd:int"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="join-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface JoinColumn {
+ String name() default "";
+ String referencedColumnName() default "";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ String table() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string"/>
+ <xsd:attribute name="unique" type="xsd:boolean"/>
+ <xsd:attribute name="nullable" type="xsd:boolean"/>
+ <xsd:attribute name="insertable" type="xsd:boolean"/>
+ <xsd:attribute name="updatable" type="xsd:boolean"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ <xsd:attribute name="table" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="generation-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="TABLE"/>
+ <xsd:enumeration value="SEQUENCE"/>
+ <xsd:enumeration value="IDENTITY"/>
+ <xsd:enumeration value="AUTO"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="access-methods">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="get-method" type="xsd:string" use="required"/>
+ <xsd:attribute name="set-method" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="attribute-override">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface AttributeOverride {
+ String name();
+ Column column();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="association-override">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface AssociationOverride {
+ String name();
+ JoinColumn[] joinColumns();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="join-column" type="orm:join-column"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="id-class">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface IdClass {
+ Class value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="id">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Id {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column" minOccurs="0"/>
+ <xsd:element name="generated-value" type="orm:generated-value" minOccurs="0"/>
+ <xsd:element name="temporal" type="orm:temporal" minOccurs="0"/>
+ <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0"/>
+ <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="mutable" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="embedded-id">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface EmbeddedId {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="attribute-override" type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="transient">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Transient {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="version">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Version {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column" minOccurs="0"/>
+ <xsd:element name="temporal" type="orm:temporal" minOccurs="0"/>
+ <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="mutable" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="basic">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Basic {
+ FetchType fetch() default EAGER;
+ boolean optional() default true;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column" minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="lob" type="orm:lob" minOccurs="0"/>
+ <xsd:element name="temporal" type="orm:temporal" minOccurs="0"/>
+ <xsd:element name="enumerated" type="orm:enumerated" minOccurs="0"/>
+ <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="optional" type="xsd:boolean"/>
+ <xsd:attribute name="mutable" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="read-transformer">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
+ * Unless the TransformationMapping is write-only, it should have a
+ * ReadTransformer, it defines transformation of database column(s)
+ * value(s)into attribute value.
+ *
+ * Also unless it's a read-only mapping, either WriteTransformer
+ * annotation or WriteTransformers annotation should be specified. Each
+ * WriteTransformer defines transformation of the attribute value to a
+ * single database column value (column is specified in the
+ * WriteTransformer).
+ */
+ @Target({METHOD, FIELD})
+ @Retention(RUNTIME)
+ public @interface ReadTransformer {
+ /**
+ * User-defined class that must implement the
+ * org.eclipse.persistence.mappings.transformers.AttributeTransformer
+ * interface. The class will be instantiated, its
+ * buildAttributeValue will be used to create the value to be
+ * assigned to the attribute.
+ * Either transformerClass or method must be specified, but not both.
+ */
+ Class transformerClass() default void.class;
+
+ /**
+ * The mapped class must have a method with this name which returns
+ * a value to be assigned to the attribute (not assigns the value to
+ * the attribute). Either transformerClass or method must be
+ * specified, but not both.
+ */
+ String method() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="transformer-class" type="xsd:string"/>
+ <xsd:attribute name="method" type="xsd:string"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="write-transformer">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
+ * WriteTransformer defines transformation of the attribute value to a
+ * single database column value (column is specified in the
+ * WriteTransformer).
+ *
+ * A single WriteTransformer may be specified directly on the method or
+ * attribute. Multiple WriteTransformers should be wrapped into
+ * WriteTransformers annotation. No WriteTransformers specified for
+ * read-only mapping. Unless the TransformationMapping is write-only, it
+ * should have a ReadTransformer, it defines transformation of database
+ * column(s) value(s)into attribute value.
+ */
+ @Target({METHOD, FIELD})
+ @Retention(RUNTIME)
+ public @interface WriteTransformer {
+ /**
+ * User-defined class that must implement the
+ * org.eclipse.persistence.mappings.transformers.FieldTransformer
+ * interface. The class will be instantiated, its buildFieldValue
+ * will be used to create the value to be written into the database
+ * column. Note that for ddl generation and returning to be
+ * supported the method buildFieldValue in the class should be
+ * defined to return the relevant Java type, not just Object as
+ * defined in the interface, for instance:
+ * public Time buildFieldValue(Object instance, String fieldName, Session session).
+ * Either transformerClass or method must be specified, but not both.
+ */
+ Class transformerClass() default void.class;
+
+ /**
+ * The mapped class must have a method with this name which returns
+ * a value to be written into the database column.
+ * Note that for ddl generation and returning to be supported the
+ * method should be defined to return a particular type, not just
+ * Object, for instance:
+ * public Time getStartTime().
+ * The method may require a Transient annotation to avoid being
+ * mapped as Basic by default.
+ * Either transformerClass or method must be specified, but not both.
+ */
+ String method() default "";
+
+ /**
+ * Specify here the column into which the value should be written.
+ * The only case when this could be skipped is if a single
+ * WriteTransformer annotates an attribute - the attribute's name
+ * will be used as a column name.
+ */
+ Column column() default @Column;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column"/>
+ </xsd:sequence>
+ <xsd:attribute name="transformer-class" type="xsd:string"/>
+ <xsd:attribute name="method" type="xsd:string"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="transformation">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * Transformation is an optional annotation for
+ * org.eclipse.persistence.mappings.TransformationMapping.
+ * TransformationMapping allows to map an attribute to one or more
+ * database columns.
+ *
+ * Transformation annotation is an optional part of
+ * TransformationMapping definition. Unless the TransformationMapping is
+ * write-only, it should have a ReadTransformer, it defines
+ * transformation of database column(s) value(s)into attribute value.
+ * Also unless it's a read-only mapping, either WriteTransformer
+ * annotation or WriteTransformers annotation should be specified. Each
+ * WriteTransformer defines transformation of the attribute value to a
+ * single database column value (column is specified in the
+ * WriteTransformer).
+ */
+ @Target({METHOD, FIELD})
+ @Retention(RUNTIME)
+ public @interface Transformation {
+ /**
+ * (Optional) Defines whether the value of the field or property
+ * should be lazily loaded or must be eagerly fetched. The EAGER
+ * strategy is a requirement on the persistence provider runtime
+ * that the value must be eagerly fetched. The LAZY strategy is a
+ * hint to the persistence provider runtime. If not specified,
+ * defaults to EAGER.
+ */
+ FetchType fetch() default EAGER;
+
+ /**
+ * (Optional) The optional element is a hint as to whether the value
+ * of the field or property may be null. It is disregarded
+ * for primitive types, which are considered non-optional.
+ */
+ boolean optional() default true;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="read-transformer" type="orm:read-transformer"/>
+ <xsd:element name="write-transformer" type="orm:write-transformer" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access" type="orm:access-type" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="optional" type="xsd:boolean"/>
+ <xsd:attribute name="mutable" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="fetch-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum FetchType { LAZY, EAGER };
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="LAZY"/>
+ <xsd:enumeration value="EAGER"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="lob">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Lob {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="temporal">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Temporal {
+ TemporalType value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="orm:temporal-type"/>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="temporal-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum TemporalType {
+ DATE, // java.sql.Date
+ TIME, // java.sql.Time
+ TIMESTAMP // java.sql.Timestamp
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="DATE"/>
+ <xsd:enumeration value="TIME"/>
+ <xsd:enumeration value="TIMESTAMP"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="enumerated">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Enumerated {
+ EnumType value() default ORDINAL;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="orm:enum-type"/>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="enum-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum EnumType {
+ ORDINAL,
+ STRING
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ORDINAL"/>
+ <xsd:enumeration value="STRING"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="many-to-one">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface ManyToOne {
+ Class targetEntity() default void.class;
+ CascadeType[] cascade() default {};
+ FetchType fetch() default EAGER;
+ boolean optional() default true;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
+ <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="target-entity" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="optional" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="cascade-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="cascade-all" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="cascade-persist" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="cascade-merge" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="cascade-remove" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="cascade-refresh" type="orm:emptyType"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="one-to-one">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface OneToOne {
+ Class targetEntity() default void.class;
+ CascadeType[] cascade() default {};
+ FetchType fetch() default EAGER;
+ boolean optional() default true;
+ String mappedBy() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
+ <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
+ <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="target-entity" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="optional" type="xsd:boolean"/>
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="one-to-many">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface OneToMany {
+ Class targetEntity() default void.class;
+ CascadeType[] cascade() default {};
+ FetchType fetch() default LAZY;
+ String mappedBy() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="order-by" type="orm:order-by" minOccurs="0"/>
+ <xsd:element name="map-key" type="orm:map-key" minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
+ <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
+ <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
+ <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="target-entity" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="join-table">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD})
+ public @interface JoinTable {
+ String name() default "";
+ String catalog() default "";
+ String schema() default "";
+ JoinColumn[] joinColumns() default {};
+ JoinColumn[] inverseJoinColumns() default {};
+ UniqueConstraint[] uniqueConstraints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="join-column" type="orm:join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="inverse-join-column" type="orm:join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="unique-constraint" type="orm:unique-constraint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="many-to-many">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface ManyToMany {
+ Class targetEntity() default void.class;
+ CascadeType[] cascade() default {};
+ FetchType fetch() default LAZY;
+ String mappedBy() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="order-by" type="orm:order-by" minOccurs="0"/>
+ <xsd:element name="map-key" type="orm:map-key" minOccurs="0"/>
+ <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
+ <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
+ <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="target-entity" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="generated-value">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface GeneratedValue {
+ GenerationType strategy() default AUTO;
+ String generator() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="strategy" type="orm:generation-type"/>
+ <xsd:attribute name="generator" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="map-key">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface MapKey {
+ String name() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="order-by">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface OrderBy {
+ String value() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="inheritance">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface Inheritance {
+ InheritanceType strategy() default SINGLE_TABLE;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="strategy" type="orm:inheritance-type"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="inheritance-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum InheritanceType
+ { SINGLE_TABLE, JOINED, TABLE_PER_CLASS};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SINGLE_TABLE"/>
+ <xsd:enumeration value="JOINED"/>
+ <xsd:enumeration value="TABLE_PER_CLASS"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="discriminator-value">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface DiscriminatorValue {
+ String value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="discriminator-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum DiscriminatorType { STRING, CHAR, INTEGER };
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="STRING"/>
+ <xsd:enumeration value="CHAR"/>
+ <xsd:enumeration value="INTEGER"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="primary-key-join-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface PrimaryKeyJoinColumn {
+ String name() default "";
+ String referencedColumnName() default "";
+ String columnDefinition() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="discriminator-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface DiscriminatorColumn {
+ String name() default "DTYPE";
+ DiscriminatorType discriminatorType() default STRING;
+ String columnDefinition() default "";
+ int length() default 31;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="discriminator-type" type="orm:discriminator-type"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ <xsd:attribute name="length" type="xsd:int"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="embeddable">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the settings and mappings for embeddable objects. Is
+ allowed to be sparsely populated and used in conjunction with
+ the annotations. Alternatively, the metadata-complete attribute
+ can be used to indicate that no annotations are to be processed
+ in the class. If this is the case then the defaulting rules will
+ be recursively applied.
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface Embeddable {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
+ <xsd:element name="change-tracking" type="orm:change-tracking"
+ minOccurs="0"/>
+ <xsd:element name="converter" type="orm:converter" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="object-type-converter" type="orm:object-type-converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="struct-converter" type="orm:struct-converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="attributes" type="orm:attributes"
+ minOccurs="0"/>
+ <xsd:element name="copy-policy" type="orm:copy-policy"
+ minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy"
+ minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
+ <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="embedded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Embedded {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="attribute-override" type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="mapped-superclass">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the settings and mappings for a mapped superclass. Is
+ allowed to be sparsely populated and used in conjunction with
+ the annotations. Alternatively, the metadata-complete attribute
+ can be used to indicate that no annotations are to be processed
+ If this is the case then the defaulting rules will be recursively
+ applied.
+
+ @Target(TYPE) @Retention(RUNTIME)
+ public @interface MappedSuperclass{}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
+ <xsd:element name="change-tracking" type="orm:change-tracking"
+ minOccurs="0"/>
+ <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
+ <xsd:element name="optimistic-locking" type="orm:optimistic-locking"
+ minOccurs="0"/>
+ <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
+ <xsd:element name="converter" type="orm:converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="type-converter" type="orm:type-converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="object-type-converter" type="orm:object-type-converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="struct-converter" type="orm:struct-converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="copy-policy" type="orm:copy-policy"
+ minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy"
+ minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy"
+ minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="exclude-default-listeners" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="exclude-superclass-listeners" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="entity-listeners" type="orm:entity-listeners"
+ minOccurs="0"/>
+ <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
+ <xsd:element name="post-persist" type="orm:post-persist"
+ minOccurs="0"/>
+ <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
+ <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
+ <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
+ <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
+ <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
+ <xsd:attribute name="read-only" type="xsd:boolean"/>
+ <xsd:attribute name="existence-checking" type="orm:existence-type"/>
+ <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="sequence-generator">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface SequenceGenerator {
+ String name();
+ String sequenceName() default "";
+ int initialValue() default 1;
+ int allocationSize() default 50;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="sequence-name" type="xsd:string"/>
+ <xsd:attribute name="initial-value" type="xsd:int"/>
+ <xsd:attribute name="allocation-size" type="xsd:int"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="table-generator">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface TableGenerator {
+ String name();
+ String table() default "";
+ String catalog() default "";
+ String schema() default "";
+ String pkColumnName() default "";
+ String valueColumnName() default "";
+ String pkColumnValue() default "";
+ int initialValue() default 0;
+ int allocationSize() default 50;
+ UniqueConstraint[] uniqueConstraints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="unique-constraint" type="orm:unique-constraint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="table" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ <xsd:attribute name="pk-column-name" type="xsd:string"/>
+ <xsd:attribute name="value-column-name" type="xsd:string"/>
+ <xsd:attribute name="pk-column-value" type="xsd:string"/>
+ <xsd:attribute name="initial-value" type="xsd:int"/>
+ <xsd:attribute name="allocation-size" type="xsd:int"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="converter">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD})
+ @Retention(RUNTIME)
+ public @interface Converter {
+ /**
+ * (Required) Name this converter. The name should be unique across
+ * the whole persistence unit.
+ */
+ String name();
+
+ /**
+ * (Required) The converter class to be used. This class must implement
+ * the org.eclipse.persistence.mappings.converters.Converter interface.
+ */
+ Class converterClass();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="type-converter">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD})
+ @Retention(RUNTIME)
+ public @interface TypeConverter {
+ /**
+ * (Required) Name this converter. The name should be unique
+ * across the whole persistence unit.
+ */
+ String name();
+
+ /**
+ * (Optional) Specify the type stored on the database. The
+ * default is inferred from the type of the persistence field
+ * or property.
+ */
+ Class dataType() default void.class;
+
+ /**
+ * (Optional) Specify the type stored on the entity. The
+ * default is inferred from the type of the persistent field
+ * or property.
+ */
+ Class objectType() default void.class;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="data-type" type="xsd:string"/>
+ <xsd:attribute name="object-type" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="object-type-converter">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD})
+ @Retention(RUNTIME)
+ public @interface ObjectTypeConverter {
+ /**
+ * (Required) Name this converter. The name should be unique
+ * across the whole persistence unit.
+ */
+ String name();
+
+ /**
+ * (Optional) Specify the type stored on the database. The
+ * default is inferred from the type of the persistence
+ * field or property.
+ */
+ Class dataType() default void.class;
+
+ /**
+ * (Optional) Specify the type stored on the entity. The
+ * default is inferred from the type of the persistent
+ * field or property.
+ */
+ Class objectType() default void.class;
+
+ /**
+ * (Required) Specify the conversion values to be used
+ * with the object converter.
+ */
+ ConversionValue[] conversionValues();
+
+ /**
+ * (Optional) Specify a default object value. Used for
+ * legacy data if the data value is missing.
+ */
+ String defaultObjectValue() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="conversion-value" type="orm:conversion-value" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="default-object-value" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="data-type" type="xsd:string"/>
+ <xsd:attribute name="object-type" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="conversion-value">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({})
+ @Retention(RUNTIME)
+ public @interface ConversionValue {
+ /**
+ * (Required) Specify the database value.
+ */
+ String dataValue();
+
+ /**
+ * (Required) Specify the object value.
+ */
+ String objectValue();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="data-value" type="xsd:string" use="required"/>
+ <xsd:attribute name="object-value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="struct-converter">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD})
+ @Retention(RUNTIME)
+ public @interface StructConverter {
+ /**
+ * (Required) Name this converter. The name should be unique across
+ * the whole persistence unit.
+ */
+ String name();
+
+ /**
+ * (Required) The converter class to be used. This class must
+ * implement the EclipseLink interface
+ * org.eclipse.persistence.mappings.converters.Converter
+ */
+ String converter();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="converter" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="copy-policy">
+ <xsd:annotation>
+ <xsd:documentation>
+ /**
+ * A CopyPolicy is used to set a
+ * org.eclipse.persistence.descriptors.copying.CopyPolicy on an Entity.
+ * It is required that a class that implements
+ * org.eclipse.persistence.descriptors.copying.CopyPolicy be specified
+ * as the argument.
+ *
+ * A CopyPolicy should be specified on an Entity or MappedSuperclass.
+ *
+ * For instance:
+ * @Entity
+ * @CopyPolicy("example.MyCopyPolicy")
+ */
+ public @interface CopyPolicy {
+
+ /*
+ * (Required)
+ * This defines the class of the copy policy. It must specify a class
+ * that implements org.eclipse.persistence.descriptors.copying.CopyPolicy
+ */
+ Class value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="instantiation-copy-policy">
+ <xsd:annotation>
+ <xsd:documentation>
+ /**
+ * An InstantiationCopyPolicy is used to set an
+ * org.eclipse.persistence.descriptors.copying.InstantiationCopyPolicy
+ * on an Entity. InstantiationCopyPolicy is the default CopyPolicy in
+ * EclipseLink and therefore this configuration option is only used to
+ * override other types of copy policies
+ *
+ * An InstantiationCopyPolicy should be specified on an Entity or
+ * MappedSuperclass.
+ *
+ * Example:
+ * @Entity
+ * @InstantiationCopyPolicy
+ */
+ public @interface InstantiationCopyPolicy {
+ }
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="clone-copy-policy">
+ <xsd:annotation>
+ <xsd:documentation>
+ /**
+ * A CloneCopyPolicy is used to set an
+ * org.eclipse.persistence.descriptors.copying.CloneCopyPolicy on an
+ * Entity. A CloneCopyPolicy must specify at one or both of the "method"
+ * or "workingCopyMethod". "workingCopyMethod" is used to clone objects
+ * that will be returned to the user as they are registered in
+ * EclipseLink's transactional mechanism, the UnitOfWork. "method" will
+ * be used for the clone that is used for comparison in conjunction with
+ * EclipseLink's DeferredChangeDetectionPolicy
+ *
+ * A CloneCopyPolicy should be specified on an Entity or
+ * MappedSuperclass.
+ *
+ * Example:
+ * @Entity
+ * @CloneCopyPolicy(method="myCloneMethod")
+ *
+ * or:
+ *
+ * @Entity
+ * @CloneCopyPolicy(method="myCloneMethod", workingCopyMethod="myWorkingCopyCloneMethod")
+ *
+ * or:
+ *
+ @Entity
+ * @CloneCopyPolicy(workingCopyMethodName="myWorkingCopyClone")
+ */
+ public @interface CloneCopyPolicy {
+
+ /**
+ * (Optional)
+ * Either method or workingCopyMethod must be specified this defines
+ * a method that will be used to create a clone that will be used
+ * for comparison by
+ * EclipseLink's DeferredChangeDetectionPolicy
+ */
+ String method();
+
+ /**
+ * (Optional)
+ * Either method or workingCopyMethod must be specified
+ * this defines a method that will be used to create a clone that
+ * will be used to create the object returned when registering an
+ * Object in an EclipseLink UnitOfWork
+ */
+ String workingCopyMethod();
+
+ }
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method" type="xsd:string"/>
+ <xsd:attribute name="working-copy-method" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="collection-table">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD})
+ @Retention(RUNTIME)
+ public @interface CollectionTable {
+ /**
+ * (Optional) The name of the collection table. If it is not
+ * specified, it is defaulted to the concatenation of the following:
+ * the name of the source entity; "_" ; the name of the relationship
+ * property or field of the source entity.
+ */
+ String name() default "";
+
+ /**
+ * (Optional) The catalog of the table. It defaults to the persistence
+ * unit default catalog.
+ */
+ String catalog() default "";
+
+ /**
+ * (Optional) The schema of the table. It defaults to the persistence
+ * unit default schema.
+ */
+ String schema() default "";
+
+ /**
+ * (Optional) Used to specify a primary key column that is used as a
+ * foreign key to join to another table. If the source entity uses a
+ * composite primary key, a primary key join column must be specified
+ * for each field of the composite primary key. In a single primary
+ * key case, a primary key join column may optionally be specified.
+ * Defaulting will apply otherwise as follows:
+ * name, the same name as the primary key column of the primary table
+ * of the source entity. referencedColumnName, the same name of
+ * primary key column of the primary table of the source entity.
+ */
+ PrimaryKeyJoinColumn[] primaryKeyJoinColumns() default {};
+
+ /**
+ * (Optional) Unique constraints that are to be placed on the table.
+ * These are only used if table generation is in effect.
+ */
+ UniqueConstraint[] uniqueConstraints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="basic-collection">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD})
+ @Retention(RUNTIME)
+ public @interface BasicCollection {
+ /**
+ * (Optional) Defines whether the value of the field or property
+ * should be lazily loaded or must be eagerly fetched. The EAGER
+ * strategy is a requirement on the persistence provider runtime that
+ * the value must be eagerly fetched. The LAZY strategy is a hint to
+ * the persistence provider runtime. If not specified, defaults to
+ * LAZY.
+ */
+ FetchType fetch() default LAZY;
+
+ /**
+ * (Optional) The name of the value column that holds the direct
+ * collection data. Defaults to the property or field name.
+ */
+ Column valueColumn() default @Column;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
+ <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="collection-table" type="orm:collection-table" minOccurs="0"/>
+ <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
+ <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="basic-map">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD})
+ @Retention(RUNTIME)
+ public @interface BasicMap {
+ /**
+ * (Optional) Defines whether the value of the field or property
+ * should be lazily loaded or must be eagerly fetched. The EAGER
+ * strategy is a requirement on the persistence provider runtime that
+ * the value must be eagerly fetched. The LAZY strategy is a hint to
+ * the persistence provider runtime. If not specified, defaults to
+ * LAZY.
+ */
+ FetchType fetch() default LAZY;
+
+ /**
+ * (Optional) The name of the data column that holds the direct map
+ * key. If the name on te key column is "", the name will default to:
+ * the name of the property or field; "_key".
+ */
+ Column keyColumn();
+
+ /**
+ * (Optional) Specify the key converter. Default is equivalent to
+ * specifying @Convert("none"), meaning no converter will be added to
+ * the direct map key.
+ */
+ Convert keyConverter() default @Convert;
+
+ /**
+ * (Optional) The name of the data column that holds the direct
+ * collection data. Defaults to the property or field name.
+ */
+ Column valueColumn() default @Column;
+
+ /**
+ * (Optional) Specify the value converter. Default is equivalent to
+ * specifying @Convert("none"), meaning no converter will be added to
+ * the value column mapping.
+ */
+ Convert valueConverter() default @Convert;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="key-column" type="orm:column" minOccurs="0"/>
+ <xsd:element name="key-converter" type="xsd:string"/>
+ <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
+ <xsd:element name="value-converter" type="xsd:string"/>
+ <xsd:element name="collection-table" type="orm:collection-table" minOccurs="0"/>
+ <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
+ <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="join-fetch-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum JoinFetchType {
+ /**
+ * An inner join is used to fetch the related object.
+ * This does not allow for null/empty values.
+ */
+ INNER,
+
+ /**
+ * An inner join is used to fetch the related object.
+ * This allows for null/empty values.
+ */
+ OUTER,
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="INNER"/>
+ <xsd:enumeration value="OUTER"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="optimistic-locking">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * An optimistic-locking element is used to specify the type of
+ * optimistic locking EclipseLink should use when updating or deleting
+ * entities. An optimistic-locking specification is supported on
+ * an entity or mapped-superclass.
+ *
+ * It is used in conjunction with the optimistic-locking-type.
+ */
+ @Target({TYPE})
+ @Retention(RUNTIME)
+ public @interface OptimisticLocking {
+ /**
+ * (Optional) The type of optimistic locking policy to use.
+ */
+ OptimisticLockingType type() default VERSION_COLUMN;
+
+ /**
+ * (Optional) For an optimistic locking policy of type
+ * SELECTED_COLUMNS, this annotation member becomes a (Required)
+ * field.
+ */
+ Column[] selectedColumns() default {};
+
+ /**
+ * (Optional) Specify where the optimistic locking policy should
+ * cascade lock. Currently only supported with VERSION_COLUMN locking.
+ */
+ boolean cascade() default false;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="selected-column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="orm:optimistic-locking-type"/>
+ <xsd:attribute name="cascade" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="optimistic-locking-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * A simple type that is used within an optimistic-locking
+ * specification to specify the type of optimistic-locking that
+ * EclipseLink should use when updating or deleting entities.
+ */
+ public enum OptimisticLockingType {
+ /**
+ * Using this type of locking policy compares every field in the table
+ * in the WHERE clause when doing an update or a delete. If any field
+ * has been changed, an optimistic locking exception will be thrown.
+ */
+ ALL_COLUMNS,
+
+ /**
+ * Using this type of locking policy compares only the changed fields
+ * in the WHERE clause when doing an update. If any field has been
+ * changed, an optimistic locking exception will be thrown. A delete
+ * will only compare the primary key.
+ */
+ CHANGED_COLUMNS,
+
+ /**
+ * Using this type of locking compares selected fields in the WHERE
+ * clause when doing an update or a delete. If any field has been
+ * changed, an optimistic locking exception will be thrown. Note that
+ * the fields specified must be mapped and not be primary keys.
+ */
+ SELECTED_COLUMNS,
+
+ /**
+ * Using this type of locking policy compares a single version number
+ * in the where clause when doing an update. The version field must be
+ * mapped and not be the primary key.
+ */
+ VERSION_COLUMN
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ALL_COLUMNS"/>
+ <xsd:enumeration value="CHANGED_COLUMNS"/>
+ <xsd:enumeration value="SELECTED_COLUMNS"/>
+ <xsd:enumeration value="VERSION_COLUMN"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="cache">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * The Cache annotation is used to set an
+ * org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy
+ * which sets objects in EclipseLink's identity maps to be invalid
+ * following given rules. By default in EclipseLink, objects do not
+ * expire in the cache. Several different policies are available to
+ * allow objects to expire.
+ *
+ * @see org.eclipse.persistence.annotations.CacheType
+ *
+ * A Cache anotation may be defined on an Entity or MappedSuperclass.
+ * In the case of inheritance, a Cache annotation should only be defined
+ * on the root of the inheritance hierarchy.
+ */
+ @Target({TYPE})
+ @Retention(RUNTIME)
+ public @interface Cache {
+ /**
+ * (Optional) The type of cache to use.
+ */
+ CacheType type() default SOFT_WEAK;
+
+ /**
+ * (Optional) The size of cache to use.
+ */
+ int size() default 100;
+
+ /**
+ * (Optional) Cached instances in the shared cache or a client
+ * isolated cache.
+ */
+ boolean shared() default true;
+
+ /**
+ * (Optional) Expire cached instance after a fix period of time (ms).
+ * Queries executed against the cache after this will be forced back
+ * to the database for a refreshed copy
+ */
+ int expiry() default -1; // minus one is no expiry.
+
+ /**
+ * (Optional) Expire cached instance a specific time of day. Queries
+ * executed against the cache after this will be forced back to the
+ * database for a refreshed copy
+ */
+ TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false);
+
+ /**
+ * (Optional) Force all queries that go to the database to always
+ * refresh the cache.
+ */
+ boolean alwaysRefresh() default false;
+
+ /**
+ * (Optional) For all queries that go to the database, refresh the
+ * cache only if the data received from the database by a query is
+ * newer than the data in the cache (as determined by the optimistic
+ * locking field)
+ */
+ boolean refreshOnlyIfNewer() default false;
+
+ /**
+ * (Optional) Setting to true will force all queries to bypass the
+ * cache for hits but still resolve against the cache for identity.
+ * This forces all queries to hit the database.
+ */
+ boolean disableHits() default false;
+
+ /**
+ * (Optional) The cache coordination mode.
+ */
+ CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:choice>
+ <xsd:element name="expiry" type="xsd:integer" minOccurs="0"/>
+ <xsd:element name="expiry-time-of-day" type="orm:time-of-day" minOccurs="0"/>
+ </xsd:choice>
+ <xsd:attribute name="size" type="xsd:integer"/>
+ <xsd:attribute name="shared" type="xsd:boolean"/>
+ <xsd:attribute name="type" type="orm:cache-type"/>
+ <xsd:attribute name="always-refresh" type="xsd:boolean"/>
+ <xsd:attribute name="refresh-only-if-newer" type="xsd:boolean"/>
+ <xsd:attribute name="disable-hits" type="xsd:boolean"/>
+ <xsd:attribute name="coordination-type" type="orm:cache-coordination-type"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="cache-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * The CacheType enum is used with the Cache annotation for a
+ * persistent class. It defines the type of IdentityMap/Cache used for
+ * the class. By default the SOFT_WEAK cache type is used.
+ *
+ * @see org.eclipse.persistence.annotations.Cache
+ */
+ public enum CacheType {
+ /**
+ * Provides full caching and guaranteed identity. Caches all objects
+ * and does not remove them.
+ * WARNING: This method may be memory intensive when many objects are
+ * read.
+ */
+ FULL,
+
+ /**
+ * Similar to the FULL identity map except that the map holds the
+ * objects using weak references. This method allows full garbage
+ * collection and provides full caching and guaranteed identity.
+ */
+ WEAK,
+
+ /**
+ * Similar to the FULL identity map except that the map holds the
+ * objects using soft references. This method allows full garbage
+ * collection when memory is low and provides full caching and
+ * guaranteed identity.
+ */
+ SOFT,
+
+ /**
+ * Similar to the WEAK identity map except that it maintains a
+ * most-frequently-used sub-cache. The size of the sub-cache is
+ * proportional to the size of the identity map as specified by
+ * descriptor's setIdentityMapSize() method. The sub-cache
+ * uses soft references to ensure that these objects are
+ * garbage-collected only if the system is low on memory.
+ */
+ SOFT_WEAK,
+
+ /**
+ * Identical to the soft cache weak (SOFT_WEAK) identity map except
+ * that it uses hard references in the sub-cache. Use this identity
+ * map if soft references do not behave properly on your platform.
+ */
+ HARD_WEAK,
+
+ /**
+ * A cache identity map maintains a fixed number of objects
+ * specified by the application. Objects are removed from the cache
+ * on a least-recently-used basis. This method allows object
+ * identity for the most commonly used objects.
+ * WARNING: Furnishes caching and identity, but does not guarantee
+ * identity.
+ */
+ CACHE,
+
+ /**
+ * WARNING: Does not preserve object identity and does not cache
+ * objects.
+ */
+ NONE
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="FULL"/>
+ <xsd:enumeration value="WEAK"/>
+ <xsd:enumeration value="SOFT"/>
+ <xsd:enumeration value="SOFT_WEAK"/>
+ <xsd:enumeration value="HARD_WEAK"/>
+ <xsd:enumeration value="CACHE"/>
+ <xsd:enumeration value="NONE"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="cache-coordination-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * An enum that is used within the Cache annotation.
+ *
+ * @see org.eclipse.persistence.annotations.Cache
+ */
+ public enum CacheCoordinationType {
+ /**
+ * Sends a list of changed objects including data about the changes.
+ * This data is merged into the receiving cache.
+ */
+ SEND_OBJECT_CHANGES,
+
+ /**
+ * Sends a list of the identities of the objects that have changed.
+ * The receiving cache invalidates the objects (rather than changing
+ * any of the data)
+ */
+ INVALIDATE_CHANGED_OBJECTS,
+
+ /**
+ * Same as SEND_OBJECT_CHANGES except it also includes any newly
+ * created objects from the transaction.
+ */
+ SEND_NEW_OBJECTS_WITH_CHANGES,
+
+ /**
+ * Does no cache coordination.
+ */
+ NONE
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SEND_OBJECT_CHANGES"/>
+ <xsd:enumeration value="INVALIDATE_CHANGED_OBJECTS"/>
+ <xsd:enumeration value="SEND_NEW_OBJECTS_WITH_CHANGES"/>
+ <xsd:enumeration value="NONE"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="time-of-day">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({})
+ @Retention(RUNTIME)
+ public @interface TimeOfDay {
+ /**
+ * (Optional) Hour of the day.
+ */
+ int hour() default 0;
+
+ /**
+ * (Optional) Minute of the day.
+ */
+ int minute() default 0;
+
+ /**
+ * (Optional) Second of the day.
+ */
+ int second() default 0;
+
+ /**
+ * (Optional) Millisecond of the day.
+ */
+ int millisecond() default 0;
+
+ /**
+ * Internal use. Do not modify.
+ */
+ boolean specified() default true;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="hour" type="xsd:integer"/>
+ <xsd:attribute name="minute" type="xsd:integer"/>
+ <xsd:attribute name="second" type="xsd:integer"/>
+ <xsd:attribute name="millisecond" type="xsd:integer"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="change-tracking">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * The ChangeTracking annotation is used to specify the
+ * org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy
+ * which computes changes sets for EclipseLink's UnitOfWork commit
+ * process. An ObjectChangePolicy is stored on an Entity's descriptor.
+ *
+ * A ChangeTracking annotation may be specified on an Entity or
+ * MappedSuperclass.
+ */
+ @Target({TYPE})
+ @Retention(RUNTIME)
+ public @interface ChangeTracking {
+ /**
+ * (Optional) The type of change tracking to use.
+ */
+ ChangeTrackingType value() default AUTO;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="type" type="orm:change-tracking-type" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="change-tracking-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * An enum that is used within the ChangeTracking annotation.
+ */
+ public enum ChangeTrackingType {
+ /**
+ * An ATTRIBUTE change tracking type allows change tracking at the
+ * attribute level of an object. Objects with changed attributes will
+ * be processed in the commit process to include any changes in the
+ * results of the commit. Unchanged objects will be ignored.
+ */
+ ATTRIBUTE,
+
+ /**
+ * An OBJECT change tracking policy allows an object to calculate for
+ * itself whether it has changed. Changed objects will be processed in
+ * the commit process to include any changes in the results of the
+ * commit. Unchanged objects will be ignored.
+ */
+ OBJECT,
+
+ /**
+ * A DEFERRED change tracking policy defers all change detection to
+ * the UnitOfWork's change detection process. Essentially, the
+ * calculateChanges() method will run for all objects in a UnitOfWork.
+ * This is the default ObjectChangePolicy
+ */
+ DEFERRED,
+
+ /**
+ * Will not set any change tracking policy.
+ */
+ AUTO
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ATTRIBUTE"/>
+ <xsd:enumeration value="OBJECT"/>
+ <xsd:enumeration value="DEFERRED"/>
+ <xsd:enumeration value="AUTO"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="customizer">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * The Customizer annotation is used to specify a class that implements
+ * the org.eclipse.persistence.internal.sessions.factories.DescriptorCustomizer
+ * interface and is to run against an enetity's class descriptor after all
+ * metadata processing has been completed.
+ *
+ * The Customizer annotation may be defined on an Entity, MappedSuperclass
+ * or Embeddable class. In the case of inheritance, a Customizer is not
+ * inherited from its parent classes.
+ */
+ @Target({TYPE})
+ @Retention(RUNTIME)
+ public @interface Customizer {
+ /**
+ * (Required) Defines the name of the descriptor customizer class that
+ * should be applied for the related entity or embeddable class.
+ */
+ Class value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="named-stored-procedure-query">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * A NamedStoredProcedureQuery annotation allows the definition of
+ * queries that call stored procedures as named queries.
+
+ * A NamedStoredProcedureQuery annotation may be defined on an Entity or
+ * MappedSuperclass.
+ */
+ @Target({TYPE})
+ @Retention(RUNTIME)
+ public @interface NamedStoredProcedureQuery {
+ /**
+ * (Required) Unique name that references this stored procedure query.
+ */
+ String name();
+
+ /**
+ * (Optional) Query hints.
+ */
+ QueryHint[] hints() default {};
+
+ /**
+ * (Optional) Refers to the class of the result.
+ */
+ Class resultClass() default void.class;
+
+ /**
+ * (Optional) The name of the SQLResultMapping.
+ */
+ String resultSetMapping() default "";
+
+ /**
+ * (Required) The name of the stored procedure.
+ */
+ String procedureName();
+
+ /**
+ * (Optional) Whether the query should return a result set.
+ */
+ boolean returnsResultSet() default true;
+
+ /**
+ * (Optional) Defines arguments to the stored procedure.
+ */
+ StoredProcedureParameter[] parameters() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="hint" type="orm:query-hint" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="parameter" type="orm:stored-procedure-parameter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="result-class" type="xsd:string"/>
+ <xsd:attribute name="result-set-mapping" type="xsd:string"/>
+ <xsd:attribute name="procedure-name" type="xsd:string" use="required"/>
+ <xsd:attribute name="returns-result-set" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="stored-procedure-parameter">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * A StoredProcedureParameter annotation is used within a
+ * NamedStoredProcedureQuery annotation.
+ */
+ @Target({})
+ @Retention(RUNTIME)
+ public @interface StoredProcedureParameter {
+ /**
+ * (Optional) The direction of the stored procedure parameter.
+ */
+ Direction direction() default IN;
+
+ /**
+ * (Optional) Stored procedure parameter name.
+ */
+ String name() default "";
+
+ /**
+ * (Required) The query parameter name.
+ */
+ String queryParameter();
+
+ /**
+ * (Optional) The type of Java class desired back from the procedure,
+ * this is dependent on the type returned from the procedure.
+ */
+ Class type() default void.class;
+
+ /**
+ * (Optional) The JDBC type code, this dependent on the type returned
+ * from the procedure.
+ */
+ int jdbcType() default -1;
+
+ /**
+ * (Optional) The JDBC type name, this may be required for ARRAY or
+ * STRUCT types.
+ */
+ String jdbcTypeName() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="direction" type="orm:direction-type"/>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="query-parameter" type="xsd:string" use="required"/>
+ <xsd:attribute name="type" type="xsd:string"/>
+ <xsd:attribute name="jdbc-type" type="xsd:integer"/>
+ <xsd:attribute name="jdbc-type-name" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="direction-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * An enum that is used within the StoredProcedureParameter annotation.
+ * It is used to specify the direction of the stored procedure
+ * parameters of a named stored procedure query.
+ */
+ public enum Direction {
+ /**
+ * Input parameter
+ */
+ IN,
+
+ /**
+ * Output parameter
+ */
+ OUT,
+
+ /**
+ * Input and output parameter
+ */
+ IN_OUT,
+
+ /**
+ * Output cursor
+ */
+ OUT_CURSOR
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="IN"/>
+ <xsd:enumeration value="OUT"/>
+ <xsd:enumeration value="IN_OUT"/>
+ <xsd:enumeration value="OUT_CURSOR"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="variable-one-to-one">
+ <xsd:annotation>
+ <xsd:documentation>
+ /**
+ * Variable one to one mappings are used to represent a pointer
+ * references between a java object and an implementer of an interface.
+ * This mapping is usually represented by a single pointer (stored in an
+ * instance variable) between the source and target objects. In the
+ * relational database tables, these mappings are normally implemented
+ * using a foreign key and a type code.
+ *
+ * A VariableOneToOne can be specified within an Entity,
+ * MappedSuperclass and Embeddable class.
+ */
+ @Target({METHOD, FIELD})
+ @Retention(RUNTIME)
+ public @interface VariableOneToOne {
+ /**
+ * (Optional) The interface class that is the target of the
+ * association. If not specified it will be inferred from the type
+ * of the object being referenced.
+ */
+ Class targetInterface() default void.class;
+
+ /**
+ * (Optional) The operations that must be cascaded to the target of
+ * the association.
+ */
+ CascadeType[] cascade() default {};
+
+ /**
+ * (Optional) Defines whether the value of the field or property
+ * should be lazily loaded or must be eagerly fetched. The EAGER
+ * strategy is a requirement on the persistence provider runtime
+ * that the value must be eagerly fetched. The LAZY strategy is a
+ * hint to the persistence provider runtime. If not specified,
+ * defaults to EAGER.
+ */
+ FetchType fetch() default EAGER;
+
+ /**
+ * (Optional) Whether the association is optional. If set to false
+ * then a non-null relationship must always exist.
+ */
+ boolean optional() default true;
+
+ /**
+ * (Optional) The discriminator column will hold the type
+ * indicators. If the DiscriminatorColumn is not specified, the name
+ * of the discriminator column defaults to "DTYPE" and the
+ * discriminator type to STRING.
+ */
+ DiscriminatorColumn discriminatorColumn() default @DiscriminatorColumn;
+
+ /**
+ * (Optional) The list of discriminator types that can be used with
+ * this VariableOneToOne. If none are specified then those entities
+ * within the persistence unit that implement the target interface
+ * will be added to the list of types. The discriminator type will
+ * default as follows:
+ * - If DiscriminatorColumn type is STRING: Entity.name()
+ * - If DiscriminatorColumn type is CHAR: First letter of the
+ * Entity class
+ * - If DiscriminatorColumn type is INTEGER: The next integer after
+ * the highest integer explicitly added.
+ */
+ DiscriminatorClass[] discriminatorClasses() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
+ <xsd:element name="discriminator-column" type="orm:discriminator-column"
+ minOccurs="0"/>
+ <xsd:element name="discriminator-class" type="orm:discriminator-class"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="join-column" type="orm:join-column" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="target-interface" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="optional" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="discriminator-class">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * A DiscriminatorClass is used within a VariableOneToOne annotation.
+ */
+ @Target({})
+ @Retention(RUNTIME)
+ public @interface DiscriminatorClass {
+ /**
+ * (Required) The discriminator to be stored on the database.
+ */
+ String discriminator();
+
+ /**
+ * (Required) The class to the instantiated with the given
+ * discriminator.
+ */
+ Class value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="discriminator" type="xsd:string" use="required"/>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="existence-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ /**
+ * The ExistenceChecking annotation is used to specify the type of
+ * checking EclipseLink should use when updating entities.
+ *
+ * An existence-checking specification is supported on an Entity or
+ * MappedSuperclass annotation.
+ */
+ public @interface ExistenceChecking {
+ /**
+ * (Optional) Set the existence check for determining
+ * if an insert or update should occur for an object.
+ */
+ ExistenceType value() default CHECK_CACHE;
+ }
+
+ /**
+ * Assume that if the objects primary key does not include null and
+ * it is in the cache, then it must exist.
+ */
+ CHECK_CACHE,
+
+ /**
+ * Perform does exist check on the database.
+ */
+ CHECK_DATABASE,
+
+ /**
+ * Assume that if the objects primary key does not include null then
+ * it must exist. This may be used if the application guarantees or
+ * does not care about the existence check.
+ */
+ ASSUME_EXISTENCE,
+
+ /**
+ * Assume that the object does not exist. This may be used if the
+ * application guarantees or does not care about the existence check.
+ * This will always force an insert to be called.
+ */
+ ASSUME_NON_EXISTENCE
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="CHECK_CACHE" />
+ <xsd:enumeration value="CHECK_DATABASE" />
+ <xsd:enumeration value="ASSUME_EXISTENCE" />
+ <xsd:enumeration value="ASSUME_NON_EXISTENCE"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+</xsd:schema>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/JptEclipseLinkCorePlugin.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/JptEclipseLinkCorePlugin.java
index f913fcded6..313b5bf0fc 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/JptEclipseLinkCorePlugin.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/JptEclipseLinkCorePlugin.java
@@ -9,7 +9,11 @@
*******************************************************************************/
package org.eclipse.jpt.eclipselink.core.internal;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jpt.core.JptCorePlugin;
import org.osgi.framework.BundleContext;
/**
@@ -19,15 +23,61 @@ public class JptEclipseLinkCorePlugin extends Plugin
{
// The plug-in ID
public static final String PLUGIN_ID = "org.eclipse.jpt.eclipselink.core";
-
+
+ /**
+ * Value of the content-type for eclipselink-orm.xml mappings files. Use this
+ * value to retrieve the ORM xml content type from the content type manager
+ * and to add new eclipselink-orm.xml-like extensions to this content type.
+ *
+ * @see org.eclipse.core.runtime.content.IContentTypeManager#getContentType(String)
+ */
+ public static final String ECLIPSELINK_ORM_XML_CONTENT_TYPE = PLUGIN_ID + ".content.orm"; //$NON-NLS-1$
+
+ public static final String DEFAULT_ECLIPSELINK_ORM_XML_FILE_PATH = "META-INF/eclipselink-orm.xml";
+
+
// The shared instance
private static JptEclipseLinkCorePlugin plugin;
-
+
+
/**
* The constructor
*/
public JptEclipseLinkCorePlugin() {}
-
+
+
+ /**
+ * Return the default mapping file (specified as "META-INF/eclipselink-orm.xml")
+ * deployment URI for the specified project.
+ */
+ public static String getDefaultEclipseLinkOrmXmlDeploymentURI(IProject project) {
+ return JptCorePlugin.getDeploymentURI(project, DEFAULT_ECLIPSELINK_ORM_XML_FILE_PATH);
+ }
+
+ /**
+ * Log the specified status.
+ */
+ public static void log(IStatus status) {
+ plugin.getLog().log(status);
+ }
+
+ /**
+ * Log the specified message.
+ */
+ public static void log(String msg) {
+ log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, null));
+ }
+
+ /**
+ * Log the specified exception or error.
+ */
+ public static void log(Throwable throwable) {
+ log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, throwable.getLocalizedMessage(), throwable));
+ }
+
+
+ // ********** plug-in implementation **********
+
/*
* (non-Javadoc)
*
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AssociationOverrideTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AssociationOverrideTranslator.java
new file mode 100644
index 0000000000..ee2565e51b
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AssociationOverrideTranslator.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class AssociationOverrideTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public AssociationOverrideTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlAssociationOverrideImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createJoinColumnTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAssociationOverride_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createJoinColumnTranslator() {
+ return new JoinColumnTranslator(JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlAssociationOverride_JoinColumns());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributeOverrideTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributeOverrideTranslator.java
new file mode 100644
index 0000000000..5b37f6e0ca
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributeOverrideTranslator.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class AttributeOverrideTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public AttributeOverrideTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlAttributeOverrideImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createColumnTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeOverride_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnTranslator() {
+ return new ColumnTranslator(COLUMN, ECLIPSELINK_ORM_PKG.getXmlAttributeOverride_Column());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributesTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributesTranslator.java
new file mode 100644
index 0000000000..30582759c4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributesTranslator.java
@@ -0,0 +1,88 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class AttributesTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public AttributesTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createIdTranslator(),
+ createEmbeddedIdTranslator(),
+ createBasicTranslator(),
+ createVersionTranslator(),
+ createManyToOneTranslator(),
+ createOneToManyTranslator(),
+ createOneToOneTranslator(),
+ createManyToManyTranslator(),
+ createEmbeddedTranslator(),
+ createTransientTranslator()
+ };
+ }
+
+ private Translator createIdTranslator() {
+ return new IdTranslator(ID, ECLIPSELINK_ORM_PKG.getAttributes_Ids());
+ }
+
+ private Translator createEmbeddedIdTranslator() {
+ return new EmbeddedIdTranslator(EMBEDDED_ID, ECLIPSELINK_ORM_PKG.getAttributes_EmbeddedIds());
+ }
+
+ private Translator createBasicTranslator() {
+ return new BasicTranslator(BASIC, ECLIPSELINK_ORM_PKG.getAttributes_Basics());
+ }
+
+ private Translator createVersionTranslator() {
+ return new VersionTranslator(VERSION, ECLIPSELINK_ORM_PKG.getAttributes_Versions());
+ }
+
+ private Translator createManyToOneTranslator() {
+ return new ManyToOneTranslator(MANY_TO_ONE, ECLIPSELINK_ORM_PKG.getAttributes_ManyToOnes());
+ }
+
+ private Translator createOneToManyTranslator() {
+ return new OneToManyTranslator(ONE_TO_MANY, ECLIPSELINK_ORM_PKG.getAttributes_OneToManys());
+ }
+
+ private Translator createOneToOneTranslator() {
+ return new OneToOneTranslator(ONE_TO_ONE, ECLIPSELINK_ORM_PKG.getAttributes_OneToOnes());
+ }
+
+ private Translator createManyToManyTranslator() {
+ return new ManyToManyTranslator(MANY_TO_MANY, ECLIPSELINK_ORM_PKG.getAttributes_ManyToManys());
+ }
+
+ private Translator createEmbeddedTranslator() {
+ return new EmbeddedTranslator(EMBEDDED, ECLIPSELINK_ORM_PKG.getAttributes_Embeddeds());
+ }
+
+ private Translator createTransientTranslator() {
+ return new TransientTranslator(TRANSIENT, ECLIPSELINK_ORM_PKG.getAttributes_Transients());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/BasicTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/BasicTranslator.java
new file mode 100644
index 0000000000..a15a4e5621
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/BasicTranslator.java
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.BooleanTranslator;
+import org.eclipse.jpt.core.internal.resource.common.translators.EmptyTagBooleanTranslator;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class BasicTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public BasicTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlBasicImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createFetchTranslator(),
+ createOptionalTranslator(),
+ createColumnTranslator(),
+ createLobTranslator(),
+ createTemporalTranslator(),
+ createEnumeratedTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createFetchTranslator() {
+ return new Translator(FETCH, ECLIPSELINK_ORM_PKG.getXmlBasic_Fetch(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createOptionalTranslator() {
+ return new BooleanTranslator(OPTIONAL, ECLIPSELINK_ORM_PKG.getXmlBasic_Optional(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnTranslator() {
+ return new ColumnTranslator(COLUMN, ECLIPSELINK_ORM_PKG.getColumnMapping_Column());
+ }
+
+ private Translator createLobTranslator() {
+ return new EmptyTagBooleanTranslator(LOB, ECLIPSELINK_ORM_PKG.getXmlBasic_Lob());
+ }
+
+ private Translator createTemporalTranslator() {
+ return new Translator(TEMPORAL, ECLIPSELINK_ORM_PKG.getXmlBasic_Temporal());
+ }
+
+ private Translator createEnumeratedTranslator() {
+ return new Translator(ENUMERATED, ECLIPSELINK_ORM_PKG.getXmlBasic_Enumerated());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/CascadeTypeTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/CascadeTypeTranslator.java
new file mode 100644
index 0000000000..da223df58e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/CascadeTypeTranslator.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.EmptyTagBooleanTranslator;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class CascadeTypeTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public CascadeTypeTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createCascadeTypeImpl();
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createCascadeAllTranslator(),
+ createCascadePersistTranslator(),
+ createCascadeMergeTranslator(),
+ createCascadeRemoveTranslator(),
+ createCascadeRefreshTranslator()
+ };
+ }
+
+ private Translator createCascadeAllTranslator() {
+ return new EmptyTagBooleanTranslator(CASCADE_ALL, ECLIPSELINK_ORM_PKG.getCascadeType_CascadeAll());
+ }
+
+ private Translator createCascadePersistTranslator() {
+ return new EmptyTagBooleanTranslator(CASCADE_PERSIST, ECLIPSELINK_ORM_PKG.getCascadeType_CascadePersist());
+ }
+
+ private Translator createCascadeMergeTranslator() {
+ return new EmptyTagBooleanTranslator(CASCADE_MERGE, ECLIPSELINK_ORM_PKG.getCascadeType_CascadeMerge());
+ }
+
+ private Translator createCascadeRemoveTranslator() {
+ return new EmptyTagBooleanTranslator(CASCADE_REMOVE, ECLIPSELINK_ORM_PKG.getCascadeType_CascadeRemove());
+ }
+
+ private Translator createCascadeRefreshTranslator() {
+ return new EmptyTagBooleanTranslator(CASCADE_REFRESH, ECLIPSELINK_ORM_PKG.getCascadeType_CascadeRefresh());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnResultTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnResultTranslator.java
new file mode 100644
index 0000000000..26e8a41eab
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnResultTranslator.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class ColumnResultTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public ColumnResultTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getColumnResult_Name(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnTranslator.java
new file mode 100644
index 0000000000..a87e38f1be
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnTranslator.java
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.BooleanTranslator;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class ColumnTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public ColumnTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlColumnImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createUniqueTranslator(),
+ createNullableTranslator(),
+ createInsertableTranslator(),
+ createUpdatableTranslator(),
+ createColumnDefinitionTranslator(),
+ createTableTranslator(),
+ createLengthTranslator(),
+ createPrecisionTranslator(),
+ createScaleTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createUniqueTranslator() {
+ return new BooleanTranslator(UNIQUE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Unique(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createNullableTranslator() {
+ return new BooleanTranslator(NULLABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Nullable(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createInsertableTranslator() {
+ return new BooleanTranslator(INSERTABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Insertable(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createUpdatableTranslator() {
+ return new BooleanTranslator(UPDATABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Updatable(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnDefinitionTranslator() {
+ return new Translator(COLUMN_DEFINITION, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_ColumnDefinition(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTableTranslator() {
+ return new Translator(TABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Table(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createLengthTranslator() {
+ return new Translator(LENGTH, ECLIPSELINK_ORM_PKG.getXmlColumn_Length(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createPrecisionTranslator() {
+ return new Translator(PRECISION, ECLIPSELINK_ORM_PKG.getXmlColumn_Precision(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createScaleTranslator() {
+ return new Translator(SCALE, ECLIPSELINK_ORM_PKG.getXmlColumn_Scale(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/DiscriminatorColumnTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/DiscriminatorColumnTranslator.java
new file mode 100644
index 0000000000..f38341c2f6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/DiscriminatorColumnTranslator.java
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class DiscriminatorColumnTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public DiscriminatorColumnTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createDiscrminiatorTypeTranslator(),
+ createColumnDefinitionTranslator(),
+ createLengthTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_Name(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createDiscrminiatorTypeTranslator() {
+ return new Translator(DISCRIMINATOR_TYPE, ECLIPSELINK_ORM_PKG.getXmlDiscriminatorColumn_DiscriminatorType(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnDefinitionTranslator() {
+ return new Translator(COLUMN_DEFINITION, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_ColumnDefinition(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createLengthTranslator() {
+ return new Translator(LENGTH, ECLIPSELINK_ORM_PKG.getXmlDiscriminatorColumn_Length(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EclipseLinkOrmXmlMapper.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EclipseLinkOrmXmlMapper.java
new file mode 100644
index 0000000000..d38e41e4ad
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EclipseLinkOrmXmlMapper.java
@@ -0,0 +1,126 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage;
+
+public interface EclipseLinkOrmXmlMapper
+{
+ EclipseLinkOrmPackage ECLIPSELINK_ORM_PKG = EclipseLinkOrmPackage.eINSTANCE;
+
+ String XML_NS = "xmlns"; //$NON-NLS-1$
+ String XML_NS_XSI = "xmlns:xsi"; //$NON-NLS-1$
+ String XSI_SCHEMA_LOCATION = "xsi:schemaLocation"; //$NON-NLS-1$
+ String XSI_NS_URL = "http://www.w3.org/2001/XMLSchema-instance"; //$NON-NLS-1$
+ String ECLIPSELINK_ORM_NS_URL = "http://www.eclipse.org/eclipselink/xsds/persistence/orm"; //$NON-NLS-1$
+ String ECLIPSELINK_ORM_SCHEMA_LOC_1_0 = "http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_1_0.xsd"; //$NON-NLS-1$
+
+
+ String ACCESS = "access"; //$NON-NLS-1$
+ String ALLOCATION_SIZE = "allocation-size"; //$NON-NLS-1$
+ String ASSOCIATION_OVERRIDE = "association-override"; //$NON-NLS-1$
+ String ATTRIBUTE_OVERRIDE = "attribute-override"; //$NON-NLS-1$
+ String ATTRIBUTES = "attributes"; //$NON-NLS-1$
+ String BASIC = "basic"; //$NON-NLS-1$
+ String CASCADE = "cascade"; //$NON-NLS-1$
+ String CASCADE_ALL = "cascade-all"; //$NON-NLS-1$
+ String CASCADE_MERGE = "cascade-merge"; //$NON-NLS-1$
+ String CASCADE_PERSIST = "cascade-persist"; //$NON-NLS-1$
+ String CASCADE_REFRESH = "cascade-refresh"; //$NON-NLS-1$
+ String CASCADE_REMOVE = "cascade-remove"; //$NON-NLS-1$
+ String CATALOG = "catalog"; //$NON-NLS-1$
+ String CLASS = "class"; //$NON-NLS-1$
+ String COLUMN = "column"; //$NON-NLS-1$
+ String COLUMN_DEFINITION= "column-definition"; //$NON-NLS-1$
+ String COLUMN_NAME = "column-name"; //$NON-NLS-1$
+ String COLUMN_RESULT = "column-result"; //$NON-NLS-1$
+ String DESCRIPTION = "description"; //$NON-NLS-1$
+ String DISCRIMINATOR_COLUMN = "discriminator-column"; //$NON-NLS-1$
+ String DISCRIMINATOR_TYPE = "discriminator-type"; //$NON-NLS-1$
+ String DISCRIMINATOR_VALUE = "discriminator-value"; //$NON-NLS-1$
+ String EMBEDDABLE = "embeddable"; //$NON-NLS-1$
+ String EMBEDDED = "embedded"; //$NON-NLS-1$
+ String EMBEDDED_ID = "embedded-id"; //$NON-NLS-1$
+ String ENTITY = "entity"; //$NON-NLS-1$
+ String ENTITY_CLASS = "entity-class"; //$NON-NLS-1$
+ String ENTITY_LISTENER = "entity-listener"; //$NON-NLS-1$
+ String ENTITY_LISTENERS = "entity-listeners"; //$NON-NLS-1$
+ String ENTITY_MAPPINGS = "entity-mappings"; //$NON-NLS-1$
+ String ENTITY_RESULT = "entity-result"; //$NON-NLS-1$
+ String ENUMERATED = "enumerated"; //$NON-NLS-1$
+ String EXCLUDE_DEFAULT_LISTENERS = "exclude-default-listeners"; //$NON-NLS-1$
+ String EXCLUDE_SUPERCLASS_LISTENERS = "exclude-superclass-listeners"; //$NON-NLS-1$
+ String FETCH = "fetch"; //$NON-NLS-1$
+ String FIELD_RESULT = "field-result"; //$NON-NLS-1$
+ String GENERATED_VALUE = "generated-value"; //$NON-NLS-1$
+ String GENERATOR = "generator"; //$NON-NLS-1$
+ String HINT = "hint"; //$NON-NLS-1$
+ String ID = "id"; //$NON-NLS-1$
+ String ID_CLASS = "id-class"; //$NON-NLS-1$
+ String INHERITANCE = "inheritance"; //$NON-NLS-1$
+ String INITIAL_VALUE = "initial-value"; //$NON-NLS-1$
+ String INSERTABLE = "insertable"; //$NON-NLS-1$
+ String INVERSE_JOIN_COLUMN = "inverse-join-column"; //$NON-NLS-1$
+ String JOIN_COLUMN = "join-column"; //$NON-NLS-1$
+ String JOIN_TABLE = "join-table"; //$NON-NLS-1$
+ String LENGTH = "length"; //$NON-NLS-1$
+ String LOB = "lob"; //$NON-NLS-1$
+ String MANY_TO_MANY = "many-to-many"; //$NON-NLS-1$
+ String MANY_TO_ONE = "many-to-one"; //$NON-NLS-1$
+ String MAP_KEY = "map-key"; //$NON-NLS-1$
+ String MAPPED_BY = "mapped-by"; //$NON-NLS-1$
+ String MAPPED_SUPERCLASS = "mapped-superclass"; //$NON-NLS-1$
+ String METADATA_COMPLETE = "metadata-complete"; //$NON-NLS-1$
+ String METHOD_NAME = "method-name"; //$NON-NLS-1$
+ String NAME = "name"; //$NON-NLS-1$
+ String NAMED_NATIVE_QUERY = "named-native-query"; //$NON-NLS-1$
+ String NAMED_QUERY = "named-query"; //$NON-NLS-1$
+ String NULLABLE = "nullable"; //$NON-NLS-1$
+ String ONE_TO_MANY = "one-to-many"; //$NON-NLS-1$
+ String ONE_TO_ONE = "one-to-one"; //$NON-NLS-1$
+ String OPTIONAL = "optional"; //$NON-NLS-1$
+ String ORDER_BY = "order-by"; //$NON-NLS-1$
+ String PACKAGE = "package"; //$NON-NLS-1$
+ String PERSISTENCE_UNIT_DEFAULTS = "persistence-unit-defaults"; //$NON-NLS-1$
+ String PERSISTENCE_UNIT_METADATA = "persistence-unit-metadata"; //$NON-NLS-1$
+ String PK_COLUMN_NAME = "pk-column-name"; //$NON-NLS-1$
+ String PK_COLUMN_VALUE = "pk-column-value"; //$NON-NLS-1$
+ String POST_LOAD = "post-load"; //$NON-NLS-1$
+ String POST_PERSIST = "post-persist"; //$NON-NLS-1$
+ String POST_REMOVE = "post-remove"; //$NON-NLS-1$
+ String POST_UPDATE = "post-update"; //$NON-NLS-1$
+ String PRE_PERSIST = "pre-persist"; //$NON-NLS-1$
+ String PRE_REMOVE = "pre-remove"; //$NON-NLS-1$
+ String PRE_UPDATE = "pre-update"; //$NON-NLS-1$
+ String PRECISION= "precision"; //$NON-NLS-1$
+ String PRIMARY_KEY_JOIN_COLUMN = "primary-key-join-column"; //$NON-NLS-1$
+ String QUERY = "query"; //$NON-NLS-1$
+ String REFERENCED_COLUMN_NAME = "referenced-column-name"; //$NON-NLS-1$
+ String RESULT_CLASS = "result-class"; //$NON-NLS-1$
+ String RESULT_SET_MAPPING = "result-set-mapping"; //$NON-NLS-1$
+ String SCALE= "scale"; //$NON-NLS-1$
+ String SCHEMA = "schema"; //$NON-NLS-1$
+ String SECONDARY_TABLE = "secondary-table"; //$NON-NLS-1$
+ String SEQUENCE_GENERATOR = "sequence-generator"; //$NON-NLS-1$
+ String SEQUENCE_NAME = "sequence-name"; //$NON-NLS-1$
+ String SQL_RESULT_SET_MAPPING = "sql-result-set-mapping"; //$NON-NLS-1$
+ String STRATEGY = "strategy"; //$NON-NLS-1$
+ String TABLE = "table"; //$NON-NLS-1$
+ String TABLE_GENERATOR = "table-generator"; //$NON-NLS-1$
+ String TARGET_ENTITY = "target-entity"; //$NON-NLS-1$
+ String TEMPORAL = "temporal"; //$NON-NLS-1$
+ String TRANSIENT = "transient"; //$NON-NLS-1$
+ String UNIQUE = "unique"; //$NON-NLS-1$
+ String UNIQUE_CONSTRAINT = "unique-constraint"; //$NON-NLS-1$
+ String UPDATABLE = "updatable"; //$NON-NLS-1$
+ String VALUE = "value"; //$NON-NLS-1$
+ String VALUE_COLUMN_NAME = "value-column-name"; //$NON-NLS-1$
+ String VERSION = "version"; //$NON-NLS-1$
+ String XML_MAPPING_METADATA_COMPLETE = "xml-mapping-metadata-complete"; //$NON-NLS-1$
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddableTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddableTranslator.java
new file mode 100644
index 0000000000..7a956e0db4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddableTranslator.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EmbeddableTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EmbeddableTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createClassTranslator(),
+ createAccessTranslator(),
+ createMetadataCompleteTranslator(),
+ createDescriptionTranslator(),
+ createAttributesTranslator()
+ };
+ }
+
+ private Translator createClassTranslator() {
+ return new Translator(CLASS, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_ClassName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAccessTranslator() {
+ return new Translator(ACCESS, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Access(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createMetadataCompleteTranslator() {
+ return new Translator(METADATA_COMPLETE, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_MetadataComplete(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createDescriptionTranslator() {
+ return new Translator(DESCRIPTION, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Description());
+ }
+
+ private Translator createAttributesTranslator() {
+ return new AttributesTranslator(ATTRIBUTES, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Attributes());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedIdTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedIdTranslator.java
new file mode 100644
index 0000000000..b73a41d9ed
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedIdTranslator.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EmbeddedIdTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EmbeddedIdTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlEmbeddedIdImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createAttributeOverrideTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAttributeOverrideTranslator() {
+ return new AttributeOverrideTranslator(ATTRIBUTE_OVERRIDE, ECLIPSELINK_ORM_PKG.getBaseXmlEmbedded_AttributeOverrides());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedTranslator.java
new file mode 100644
index 0000000000..3090c01b64
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedTranslator.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EmbeddedTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EmbeddedTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlEmbeddedImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createAttributeOverrideTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAttributeOverrideTranslator() {
+ return new AttributeOverrideTranslator(ATTRIBUTE_OVERRIDE, ECLIPSELINK_ORM_PKG.getBaseXmlEmbedded_AttributeOverrides());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenerTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenerTranslator.java
new file mode 100644
index 0000000000..a369984bd1
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenerTranslator.java
@@ -0,0 +1,78 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EntityListenerTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EntityListenerTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ private Translator[] createChildren() {
+ return new Translator[] {
+ createClassTranslator(),
+ createPrePersistTranslator(),
+ createPostPersistTranslator(),
+ createPreRemoveTranslator(),
+ createPostRemoveTranslator(),
+ createPreUpdateTranslator(),
+ createPostUpdateTranslator(),
+ createPostLoadTranslator()
+ };
+ }
+
+ private Translator createClassTranslator() {
+ return new Translator(CLASS, ECLIPSELINK_ORM_PKG.getEntityListener_ClassName());
+ }
+
+ private Translator createPrePersistTranslator() {
+ return new EventMethodTranslator(PRE_PERSIST, ECLIPSELINK_ORM_PKG.getEntityListener_PrePersist());
+ }
+
+ private Translator createPostPersistTranslator() {
+ return new EventMethodTranslator(POST_PERSIST, ECLIPSELINK_ORM_PKG.getEntityListener_PostPersist());
+ }
+
+ private Translator createPreRemoveTranslator() {
+ return new EventMethodTranslator(PRE_REMOVE, ECLIPSELINK_ORM_PKG.getEntityListener_PreRemove());
+ }
+
+ private Translator createPostRemoveTranslator() {
+ return new EventMethodTranslator(POST_REMOVE, ECLIPSELINK_ORM_PKG.getEntityListener_PostRemove());
+ }
+
+ private Translator createPreUpdateTranslator() {
+ return new EventMethodTranslator(PRE_UPDATE, ECLIPSELINK_ORM_PKG.getEntityListener_PreUpdate());
+ }
+
+ private Translator createPostUpdateTranslator() {
+ return new EventMethodTranslator(POST_UPDATE, ECLIPSELINK_ORM_PKG.getEntityListener_PostUpdate());
+ }
+
+ private Translator createPostLoadTranslator() {
+ return new EventMethodTranslator(POST_LOAD, ECLIPSELINK_ORM_PKG.getEntityListener_PostLoad());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenersTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenersTranslator.java
new file mode 100644
index 0000000000..ead3554078
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenersTranslator.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EntityListenersTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EntityListenersTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ private Translator[] createChildren() {
+ return new Translator[] {
+ createEntityListenerTranslator()
+ };
+ }
+
+ private Translator createEntityListenerTranslator() {
+ return new EntityListenerTranslator(ENTITY_LISTENER, ECLIPSELINK_ORM_PKG.getEntityListeners_EntityListeners());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityMappingsTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityMappingsTranslator.java
new file mode 100644
index 0000000000..cdc83d451e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityMappingsTranslator.java
@@ -0,0 +1,118 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.wst.common.internal.emf.resource.ConstantAttributeTranslator;
+import org.eclipse.wst.common.internal.emf.resource.RootTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EntityMappingsTranslator extends RootTranslator
+ implements EclipseLinkOrmXmlMapper
+{
+ public static EntityMappingsTranslator INSTANCE = new EntityMappingsTranslator();
+
+
+ private Translator[] children;
+
+
+ public EntityMappingsTranslator() {
+ super(ENTITY_MAPPINGS, ECLIPSELINK_ORM_PKG.getXmlEntityMappings());
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ private Translator[] createChildren() {
+ return new Translator[] {
+ createVersionTranslator(),
+ new ConstantAttributeTranslator(XML_NS, ECLIPSELINK_ORM_NS_URL),
+ new ConstantAttributeTranslator(XML_NS_XSI, XSI_NS_URL),
+ new ConstantAttributeTranslator(XSI_SCHEMA_LOCATION, ECLIPSELINK_ORM_NS_URL + ' ' + ECLIPSELINK_ORM_SCHEMA_LOC_1_0),
+ createDescriptionTranslator(),
+ createPersistenceUnitMetadataTranslator(),
+ createPackageTranslator(),
+ createSchemaTranslator(),
+ createCatalogTranslator(),
+ createAccessTranslator(),
+ createSequenceGeneratorTranslator(),
+ createTableGeneratorTranslator(),
+ createNamedQueryTranslator(),
+ createNamedNativeQueryTranslator(),
+ createSqlResultSetMappingTranslator(),
+ createMappedSuperclassTranslator(),
+ createEntityTranslator(),
+ createEmbeddableTranslator()
+ };
+ }
+
+ private Translator createVersionTranslator() {
+ return new Translator(VERSION, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Version(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createDescriptionTranslator() {
+ return new Translator(DESCRIPTION, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Description());
+ }
+
+ private Translator createPersistenceUnitMetadataTranslator() {
+ return new PersistenceUnitMetadataTranslator(PERSISTENCE_UNIT_METADATA, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_PersistenceUnitMetadata());
+ }
+
+ private Translator createPackageTranslator() {
+ return new Translator(PACKAGE, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Package());
+ }
+
+ private Translator createSchemaTranslator() {
+ return new Translator(SCHEMA, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Schema());
+ }
+
+ private Translator createCatalogTranslator() {
+ return new Translator(CATALOG, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Catalog());
+ }
+
+ private Translator createAccessTranslator() {
+ return new Translator(ACCESS, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Access());
+ }
+
+ private Translator createSequenceGeneratorTranslator() {
+ return new SequenceGeneratorTranslator(SEQUENCE_GENERATOR, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_SequenceGenerators());
+ }
+
+ private Translator createTableGeneratorTranslator() {
+ return new TableGeneratorTranslator(TABLE_GENERATOR, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_TableGenerators());
+ }
+
+ private Translator createNamedQueryTranslator() {
+ return new NamedQueryTranslator(NAMED_QUERY, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_NamedQueries());
+ }
+
+ private Translator createNamedNativeQueryTranslator() {
+ return new NamedNativeQueryTranslator(NAMED_NATIVE_QUERY, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_NamedNativeQueries());
+ }
+
+ private Translator createSqlResultSetMappingTranslator() {
+ return new SqlResultSetMappingTranslator(SQL_RESULT_SET_MAPPING, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_SqlResultSetMappings());
+ }
+
+ private Translator createMappedSuperclassTranslator() {
+ return new MappedSuperclassTranslator(MAPPED_SUPERCLASS, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_MappedSuperclasses());
+ }
+
+ private Translator createEntityTranslator() {
+ return new EntityTranslator(ENTITY, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Entities());
+ }
+
+ private Translator createEmbeddableTranslator() {
+ return new EmbeddableTranslator(EMBEDDABLE, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Embeddables());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityResultTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityResultTranslator.java
new file mode 100644
index 0000000000..ff7dfb882e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityResultTranslator.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EntityResultTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EntityResultTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createEntityClassTranslator(),
+ createDiscriminatorColumnTranslator(),
+ createFieldResultTranslator()
+ };
+ }
+
+ private Translator createEntityClassTranslator() {
+ return new Translator(ENTITY_CLASS, ECLIPSELINK_ORM_PKG.getEntityResult_EntityClass(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createDiscriminatorColumnTranslator() {
+ return new Translator(DISCRIMINATOR_COLUMN, ECLIPSELINK_ORM_PKG.getEntityResult_DiscriminatorColumn(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createFieldResultTranslator() {
+ return new FieldResultTranslator(FIELD_RESULT, ECLIPSELINK_ORM_PKG.getEntityResult_FieldResults());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityTranslator.java
new file mode 100644
index 0000000000..d431e7867f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityTranslator.java
@@ -0,0 +1,187 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.EmptyTagBooleanTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EntityTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EntityTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createClassTranslator(),
+ createAccessTranslator(),
+ createMetadataCompleteTranslator(),
+ createDescriptionTranslator(),
+ createTableTranslator(),
+ createSecondaryTableTranslator(),
+ createPrimaryKeyJoinColumnTranslator(),
+ createIdClassTranslator(),
+ createInheritanceTranslator(),
+ createDiscriminatorValueTranslator(),
+ createDiscriminatorColumnTranslator(),
+ createSequenceGeneratorTranslator(),
+ createTableGeneratorTranslator(),
+ createNamedQueryTranslator(),
+ createNamedNativeQueryTranslator(),
+ createSqlResultSetMappingTranslator(),
+ createExcludeDefaultListenersTranslator(),
+ createExcludeSuperclassListenersTranslator(),
+ createEntityListenersTranslator(),
+ createPrePersistTranslator(),
+ createPostPersistTranslator(),
+ createPreRemoveTranslator(),
+ createPostRemoveTranslator(),
+ createPreUpdateTranslator(),
+ createPostUpdateTranslator(),
+ createPostLoadTranslator(),
+ createAttributeOverrideTranslator(),
+ createAssociationOverrideTranslator(),
+ createAttributesTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlEntity_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createClassTranslator() {
+ return new Translator(CLASS, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_ClassName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAccessTranslator() {
+ return new Translator(ACCESS, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Access(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createMetadataCompleteTranslator() {
+ return new Translator(METADATA_COMPLETE, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_MetadataComplete(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createDescriptionTranslator() {
+ return new Translator(DESCRIPTION, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Description());
+ }
+
+ private Translator createTableTranslator() {
+ return new TableTranslator(TABLE, ECLIPSELINK_ORM_PKG.getXmlEntity_Table());
+ }
+
+ private Translator createSecondaryTableTranslator() {
+ return new SecondaryTableTranslator(SECONDARY_TABLE, ECLIPSELINK_ORM_PKG.getXmlEntity_SecondaryTables());
+ }
+
+ private Translator createPrimaryKeyJoinColumnTranslator() {
+ return new PrimaryKeyJoinColumnTranslator(PRIMARY_KEY_JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlEntity_PrimaryKeyJoinColumns());
+ }
+
+ private Translator createIdClassTranslator() {
+ return new IdClassTranslator(ID_CLASS, ECLIPSELINK_ORM_PKG.getXmlEntity_IdClass());
+ }
+
+ private Translator createInheritanceTranslator() {
+ return new InheritanceTranslator(INHERITANCE, ECLIPSELINK_ORM_PKG.getXmlEntity_Inheritance());
+ }
+
+ private Translator createDiscriminatorValueTranslator() {
+ return new Translator(DISCRIMINATOR_VALUE, ECLIPSELINK_ORM_PKG.getXmlEntity_DiscriminatorValue());
+ }
+
+ private Translator createDiscriminatorColumnTranslator() {
+ return new DiscriminatorColumnTranslator(DISCRIMINATOR_COLUMN, ECLIPSELINK_ORM_PKG.getXmlEntity_DiscriminatorColumn());
+ }
+
+ private Translator createSequenceGeneratorTranslator() {
+ return new SequenceGeneratorTranslator(SEQUENCE_GENERATOR, ECLIPSELINK_ORM_PKG.getXmlEntity_SequenceGenerator());
+ }
+
+ private Translator createTableGeneratorTranslator() {
+ return new TableGeneratorTranslator(TABLE_GENERATOR, ECLIPSELINK_ORM_PKG.getXmlEntity_TableGenerator());
+ }
+
+ private Translator createNamedQueryTranslator() {
+ return new NamedQueryTranslator(NAMED_QUERY, ECLIPSELINK_ORM_PKG.getXmlEntity_NamedQueries());
+ }
+
+ private Translator createNamedNativeQueryTranslator() {
+ return new NamedNativeQueryTranslator(NAMED_NATIVE_QUERY, ECLIPSELINK_ORM_PKG.getXmlEntity_NamedNativeQueries());
+ }
+
+ private Translator createSqlResultSetMappingTranslator() {
+ return new SqlResultSetMappingTranslator(SQL_RESULT_SET_MAPPING, ECLIPSELINK_ORM_PKG.getXmlEntity_SqlResultSetMappings());
+ }
+
+ private Translator createExcludeDefaultListenersTranslator() {
+ return new EmptyTagBooleanTranslator(EXCLUDE_DEFAULT_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlEntity_ExcludeDefaultListeners());
+ }
+
+ private Translator createExcludeSuperclassListenersTranslator() {
+ return new EmptyTagBooleanTranslator(EXCLUDE_SUPERCLASS_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlEntity_ExcludeSuperclassListeners());
+ }
+
+ private Translator createEntityListenersTranslator() {
+ return new EntityListenersTranslator(ENTITY_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlEntity_EntityListeners());
+ }
+
+ private Translator createPrePersistTranslator() {
+ return new EventMethodTranslator(PRE_PERSIST, ECLIPSELINK_ORM_PKG.getXmlEntity_PrePersist());
+ }
+
+ private Translator createPostPersistTranslator() {
+ return new EventMethodTranslator(POST_PERSIST, ECLIPSELINK_ORM_PKG.getXmlEntity_PostPersist());
+ }
+
+ private Translator createPreRemoveTranslator() {
+ return new EventMethodTranslator(PRE_REMOVE, ECLIPSELINK_ORM_PKG.getXmlEntity_PreRemove());
+ }
+
+ private Translator createPostRemoveTranslator() {
+ return new EventMethodTranslator(POST_REMOVE, ECLIPSELINK_ORM_PKG.getXmlEntity_PostRemove());
+ }
+
+ private Translator createPreUpdateTranslator() {
+ return new EventMethodTranslator(PRE_UPDATE, ECLIPSELINK_ORM_PKG.getXmlEntity_PreUpdate());
+ }
+
+ private Translator createPostUpdateTranslator() {
+ return new EventMethodTranslator(POST_UPDATE, ECLIPSELINK_ORM_PKG.getXmlEntity_PostUpdate());
+ }
+
+ private Translator createPostLoadTranslator() {
+ return new EventMethodTranslator(POST_LOAD, ECLIPSELINK_ORM_PKG.getXmlEntity_PostLoad());
+ }
+
+ private Translator createAttributeOverrideTranslator() {
+ return new AttributeOverrideTranslator(ATTRIBUTE_OVERRIDE, ECLIPSELINK_ORM_PKG.getXmlEntity_AttributeOverrides());
+ }
+
+ private Translator createAssociationOverrideTranslator() {
+ return new AssociationOverrideTranslator(ASSOCIATION_OVERRIDE, ECLIPSELINK_ORM_PKG.getXmlEntity_AssociationOverrides());
+ }
+
+ private Translator createAttributesTranslator() {
+ return new AttributesTranslator(ATTRIBUTES, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Attributes());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EventMethodTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EventMethodTranslator.java
new file mode 100644
index 0000000000..520ba3293a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EventMethodTranslator.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EventMethodTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EventMethodTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ private Translator[] createChildren() {
+ return new Translator[] {
+ createMethodNameTranslator()
+ };
+ }
+
+ private Translator createMethodNameTranslator() {
+ return new Translator(METHOD_NAME, ECLIPSELINK_ORM_PKG.getEventMethod_MethodName(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/FieldResultTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/FieldResultTranslator.java
new file mode 100644
index 0000000000..f890b43eb5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/FieldResultTranslator.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class FieldResultTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public FieldResultTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createColumnTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getFieldResult_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnTranslator() {
+ return new Translator(COLUMN, ECLIPSELINK_ORM_PKG.getFieldResult_Column(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/GeneratedValueTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/GeneratedValueTranslator.java
new file mode 100644
index 0000000000..2f304ebb6a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/GeneratedValueTranslator.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class GeneratedValueTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public GeneratedValueTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlGeneratedValueImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createStrategyTranslator(),
+ createGeneratorTranslator()
+ };
+ }
+
+ protected Translator createStrategyTranslator() {
+ return new Translator(STRATEGY, ECLIPSELINK_ORM_PKG.getXmlGeneratedValue_Strategy(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createGeneratorTranslator() {
+ return new Translator(GENERATOR, ECLIPSELINK_ORM_PKG.getXmlGeneratedValue_Generator(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdClassTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdClassTranslator.java
new file mode 100644
index 0000000000..f6db4896ac
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdClassTranslator.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class IdClassTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public IdClassTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createClassTranslator()
+ };
+ }
+
+ protected Translator createClassTranslator() {
+ return new Translator(CLASS, ECLIPSELINK_ORM_PKG.getXmlIdClass_ClassName(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdTranslator.java
new file mode 100644
index 0000000000..52cce976fe
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdTranslator.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class IdTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public IdTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlIdImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createColumnTranslator(),
+ createGeneratedValueTranslator(),
+ createTemporalTranslator(),
+ createTableGeneratorTranslator(),
+ createSequenceGeneratorTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnTranslator() {
+ return new ColumnTranslator(COLUMN, ECLIPSELINK_ORM_PKG.getColumnMapping_Column());
+ }
+
+ private Translator createGeneratedValueTranslator() {
+ return new GeneratedValueTranslator(GENERATED_VALUE, ECLIPSELINK_ORM_PKG.getXmlId_GeneratedValue());
+ }
+
+ private Translator createTemporalTranslator() {
+ return new Translator(TEMPORAL, ECLIPSELINK_ORM_PKG.getXmlId_Temporal());
+ }
+
+ private Translator createTableGeneratorTranslator() {
+ return new TableGeneratorTranslator(TABLE_GENERATOR, ECLIPSELINK_ORM_PKG.getXmlId_TableGenerator());
+ }
+
+ private Translator createSequenceGeneratorTranslator() {
+ return new SequenceGeneratorTranslator(SEQUENCE_GENERATOR, ECLIPSELINK_ORM_PKG.getXmlId_SequenceGenerator());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/InheritanceTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/InheritanceTranslator.java
new file mode 100644
index 0000000000..e8cc7c05f7
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/InheritanceTranslator.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class InheritanceTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public InheritanceTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createStrategyTranslator(),
+ };
+ }
+
+ private Translator createStrategyTranslator() {
+ return new Translator(STRATEGY, ECLIPSELINK_ORM_PKG.getInheritance_Strategy(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinColumnTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinColumnTranslator.java
new file mode 100644
index 0000000000..7d231e39b6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinColumnTranslator.java
@@ -0,0 +1,85 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.BooleanTranslator;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class JoinColumnTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public JoinColumnTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlJoinColumnImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createReferencedColumnNameTranslator(),
+ createUniqueTranslator(),
+ createNullableTranslator(),
+ createInsertableTranslator(),
+ createUpdatableTranslator(),
+ createColumnDefinitionTranslator(),
+ createTableTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createReferencedColumnNameTranslator() {
+ return new Translator(REFERENCED_COLUMN_NAME, ECLIPSELINK_ORM_PKG.getXmlJoinColumn_ReferencedColumnName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createUniqueTranslator() {
+ return new BooleanTranslator(UNIQUE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Unique(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createNullableTranslator() {
+ return new BooleanTranslator(NULLABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Nullable(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createInsertableTranslator() {
+ return new BooleanTranslator(INSERTABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Insertable(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createUpdatableTranslator() {
+ return new BooleanTranslator(UPDATABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Updatable(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnDefinitionTranslator() {
+ return new Translator(COLUMN_DEFINITION, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_ColumnDefinition(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTableTranslator() {
+ return new Translator(TABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Table(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinTableTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinTableTranslator.java
new file mode 100644
index 0000000000..e3400f4ae6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinTableTranslator.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class JoinTableTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public JoinTableTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlJoinTableImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createCatalogTranslator(),
+ createSchemaTranslator(),
+ createJoinColumnTranslator(),
+ createInverseJoinColumnTranslator(),
+ createUniqueConstraintTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createCatalogTranslator() {
+ return new Translator(CATALOG, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Catalog(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createSchemaTranslator() {
+ return new Translator(SCHEMA, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Schema(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createJoinColumnTranslator() {
+ return new JoinColumnTranslator(JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlJoinTable_JoinColumns());
+ }
+
+ private Translator createInverseJoinColumnTranslator() {
+ return new JoinColumnTranslator(INVERSE_JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlJoinTable_InverseJoinColumns());
+ }
+
+ private Translator createUniqueConstraintTranslator() {
+ return new UniqueConstraintTranslator(UNIQUE_CONSTRAINT, ECLIPSELINK_ORM_PKG.getXmlBaseTable_UniqueConstraints());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToManyTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToManyTranslator.java
new file mode 100644
index 0000000000..f3aea5b218
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToManyTranslator.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class ManyToManyTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public ManyToManyTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlManyToManyImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createTargetEntityTranslator(),
+ createFetchTranslator(),
+ createMappedByTranslator(),
+ createOrderByTranslator(),
+ createMapKeyTranslator(),
+ createJoinTableTranslator(),
+ createCascadeTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTargetEntityTranslator() {
+ return new Translator(TARGET_ENTITY, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_TargetEntity(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createFetchTranslator() {
+ return new Translator(FETCH, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Fetch(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createMappedByTranslator() {
+ return new Translator(MAPPED_BY, ECLIPSELINK_ORM_PKG.getXmlMultiRelationshipMapping_MappedBy(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createOrderByTranslator() {
+ return new Translator(ORDER_BY, ECLIPSELINK_ORM_PKG.getXmlMultiRelationshipMapping_OrderBy());
+ }
+
+ private Translator createMapKeyTranslator() {
+ return new MapKeyTranslator(MAP_KEY, ECLIPSELINK_ORM_PKG.getXmlMultiRelationshipMapping_MapKey());
+ }
+
+ private Translator createJoinTableTranslator() {
+ return new JoinTableTranslator(JOIN_TABLE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_JoinTable());
+ }
+
+ private Translator createCascadeTranslator() {
+ return new CascadeTypeTranslator(CASCADE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Cascade());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToOneTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToOneTranslator.java
new file mode 100644
index 0000000000..f013418eaa
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToOneTranslator.java
@@ -0,0 +1,78 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class ManyToOneTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public ManyToOneTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlManyToOneImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createTargetEntityTranslator(),
+ createFetchTranslator(),
+ createOptionalTranslator(),
+ createJoinColumnTranslator(),
+ createJoinTableTranslator(),
+ createCascadeTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTargetEntityTranslator() {
+ return new Translator(TARGET_ENTITY, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_TargetEntity(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createFetchTranslator() {
+ return new Translator(FETCH, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Fetch(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createOptionalTranslator() {
+ return new Translator(OPTIONAL, ECLIPSELINK_ORM_PKG.getXmlSingleRelationshipMapping_Optional(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createJoinColumnTranslator() {
+ return new JoinColumnTranslator(JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlSingleRelationshipMapping_JoinColumns());
+ }
+
+ private Translator createJoinTableTranslator() {
+ return new JoinTableTranslator(JOIN_TABLE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_JoinTable());
+ }
+
+ private Translator createCascadeTranslator() {
+ return new CascadeTypeTranslator(CASCADE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Cascade());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MapKeyTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MapKeyTranslator.java
new file mode 100644
index 0000000000..9b18e0ab63
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MapKeyTranslator.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+
+public class MapKeyTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public MapKeyTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator()
+ };
+ }
+
+ protected Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getMapKey_Name(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MappedSuperclassTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MappedSuperclassTranslator.java
new file mode 100644
index 0000000000..8c3c6a42f6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MappedSuperclassTranslator.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.EmptyTagBooleanTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class MappedSuperclassTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public MappedSuperclassTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createClassTranslator(),
+ createAccessTranslator(),
+ createMetadataCompleteTranslator(),
+ createDescriptionTranslator(),
+ createIdClassTranslator(),
+ createExcludeDefaultListenersTranslator(),
+ createExcludeSuperclassListenersTranslator(),
+ createEntityListenersTranslator(),
+ createPrePersistTranslator(),
+ createPostPersistTranslator(),
+ createPreRemoveTranslator(),
+ createPostRemoveTranslator(),
+ createPreUpdateTranslator(),
+ createPostUpdateTranslator(),
+ createPostLoadTranslator(),
+ createAttributesTranslator()
+ };
+ }
+
+ private Translator createClassTranslator() {
+ return new Translator(CLASS, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_ClassName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAccessTranslator() {
+ return new Translator(ACCESS, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Access(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createMetadataCompleteTranslator() {
+ return new Translator(METADATA_COMPLETE, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_MetadataComplete(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createDescriptionTranslator() {
+ return new Translator(DESCRIPTION, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Description());
+ }
+
+ private Translator createIdClassTranslator() {
+ return new IdClassTranslator(ID_CLASS, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_IdClass());
+ }
+
+ private Translator createExcludeDefaultListenersTranslator() {
+ return new EmptyTagBooleanTranslator(EXCLUDE_DEFAULT_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_ExcludeDefaultListeners());
+ }
+
+ private Translator createExcludeSuperclassListenersTranslator() {
+ return new EmptyTagBooleanTranslator(EXCLUDE_SUPERCLASS_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_ExcludeSuperclassListeners());
+ }
+
+ private Translator createEntityListenersTranslator() {
+ return new EntityListenersTranslator(ENTITY_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_EntityListeners());
+ }
+
+ private Translator createPrePersistTranslator() {
+ return new EventMethodTranslator(PRE_PERSIST, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PrePersist());
+ }
+
+ private Translator createPostPersistTranslator() {
+ return new EventMethodTranslator(POST_PERSIST, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PostPersist());
+ }
+
+ private Translator createPreRemoveTranslator() {
+ return new EventMethodTranslator(PRE_REMOVE, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PreRemove());
+ }
+
+ private Translator createPostRemoveTranslator() {
+ return new EventMethodTranslator(POST_REMOVE, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PostRemove());
+ }
+
+ private Translator createPreUpdateTranslator() {
+ return new EventMethodTranslator(PRE_UPDATE, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PreUpdate());
+ }
+
+ private Translator createPostUpdateTranslator() {
+ return new EventMethodTranslator(POST_UPDATE, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PostUpdate());
+ }
+
+ private Translator createPostLoadTranslator() {
+ return new EventMethodTranslator(POST_LOAD, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PostLoad());
+ }
+
+ private Translator createAttributesTranslator() {
+ return new AttributesTranslator(ATTRIBUTES, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Attributes());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedNativeQueryTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedNativeQueryTranslator.java
new file mode 100644
index 0000000000..3e46b8d2c5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedNativeQueryTranslator.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class NamedNativeQueryTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public NamedNativeQueryTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createResultClassTranslator(),
+ createResultSetMappingTranslator(),
+ createQueryTranslator(),
+ createHintTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlQuery_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createResultClassTranslator() {
+ return new Translator(RESULT_CLASS, ECLIPSELINK_ORM_PKG.getXmlNamedNativeQuery_ResultClass(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createResultSetMappingTranslator() {
+ return new Translator(RESULT_SET_MAPPING, ECLIPSELINK_ORM_PKG.getXmlNamedNativeQuery_ResultSetMapping(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createQueryTranslator() {
+ return new Translator(QUERY, ECLIPSELINK_ORM_PKG.getXmlQuery_Query());
+ }
+
+ private Translator createHintTranslator() {
+ return new QueryHintTranslator(HINT, ECLIPSELINK_ORM_PKG.getXmlQuery_Hints());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedQueryTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedQueryTranslator.java
new file mode 100644
index 0000000000..cd89030f31
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedQueryTranslator.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class NamedQueryTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public NamedQueryTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createQueryTranslator(),
+ createHintTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlQuery_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createQueryTranslator() {
+ return new Translator(QUERY, ECLIPSELINK_ORM_PKG.getXmlQuery_Query());
+ }
+
+ private Translator createHintTranslator() {
+ return new QueryHintTranslator(HINT, ECLIPSELINK_ORM_PKG.getXmlQuery_Hints());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToManyTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToManyTranslator.java
new file mode 100644
index 0000000000..979276185f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToManyTranslator.java
@@ -0,0 +1,88 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class OneToManyTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public OneToManyTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlOneToManyImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createTargetEntityTranslator(),
+ createFetchTranslator(),
+ createMappedByTranslator(),
+ createOrderByTranslator(),
+ createMapKeyTranslator(),
+ createJoinTableTranslator(),
+ createJoinColumnTranslator(),
+ createCascadeTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTargetEntityTranslator() {
+ return new Translator(TARGET_ENTITY, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_TargetEntity(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createFetchTranslator() {
+ return new Translator(FETCH, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Fetch(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createMappedByTranslator() {
+ return new Translator(MAPPED_BY, ECLIPSELINK_ORM_PKG.getXmlMultiRelationshipMapping_MappedBy(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createOrderByTranslator() {
+ return new Translator(ORDER_BY, ECLIPSELINK_ORM_PKG.getXmlMultiRelationshipMapping_OrderBy());
+ }
+
+ private Translator createMapKeyTranslator() {
+ return new MapKeyTranslator(MAP_KEY, ECLIPSELINK_ORM_PKG.getXmlMultiRelationshipMapping_MapKey());
+ }
+
+ private Translator createJoinTableTranslator() {
+ return new JoinTableTranslator(JOIN_TABLE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_JoinTable());
+ }
+
+ private Translator createJoinColumnTranslator() {
+ return new JoinColumnTranslator(JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlOneToMany_JoinColumns());
+ }
+
+ private Translator createCascadeTranslator() {
+ return new CascadeTypeTranslator(CASCADE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Cascade());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToOneTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToOneTranslator.java
new file mode 100644
index 0000000000..fd33fcc3f7
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToOneTranslator.java
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class OneToOneTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public OneToOneTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlOneToOneImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createTargetEntityTranslator(),
+ createFetchTranslator(),
+ createOptionalTranslator(),
+ createMappedByTranslator(),
+ createPrimaryKeyJoinColumnTranslator(),
+ createJoinColumnTranslator(),
+ createJoinTableTranslator(),
+ createCascadeTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTargetEntityTranslator() {
+ return new Translator(TARGET_ENTITY, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_TargetEntity(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createFetchTranslator() {
+ return new Translator(FETCH, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Fetch(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createOptionalTranslator() {
+ return new Translator(OPTIONAL, ECLIPSELINK_ORM_PKG.getXmlSingleRelationshipMapping_Optional(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createMappedByTranslator() {
+ return new Translator(MAPPED_BY, ECLIPSELINK_ORM_PKG.getXmlOneToOne_MappedBy(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createPrimaryKeyJoinColumnTranslator() {
+ return new PrimaryKeyJoinColumnTranslator(PRIMARY_KEY_JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlOneToOne_PrimaryKeyJoinColumns());
+ }
+
+ private Translator createJoinColumnTranslator() {
+ return new JoinColumnTranslator(JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlSingleRelationshipMapping_JoinColumns());
+ }
+
+ private Translator createJoinTableTranslator() {
+ return new JoinTableTranslator(JOIN_TABLE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_JoinTable());
+ }
+
+ private Translator createCascadeTranslator() {
+ return new CascadeTypeTranslator(CASCADE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Cascade());
+ }
+
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitDefaultsTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitDefaultsTranslator.java
new file mode 100644
index 0000000000..eba1381c6c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitDefaultsTranslator.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.EmptyTagBooleanTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class PersistenceUnitDefaultsTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public PersistenceUnitDefaultsTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ private Translator[] createChildren() {
+ return new Translator[] {
+ createSchemaTranslator(),
+ createCatalogTranslator(),
+ createAccessTranslator(),
+ createCascadePersistTranslator(),
+ createEntityListenersTranslator()
+ };
+ }
+
+ private Translator createSchemaTranslator() {
+ return new Translator(SCHEMA, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitDefaults_Schema());
+ }
+
+ private Translator createCatalogTranslator() {
+ return new Translator(CATALOG, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitDefaults_Catalog());
+ }
+
+ private Translator createAccessTranslator() {
+ return new Translator(ACCESS, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitDefaults_Access());
+ }
+
+ private Translator createCascadePersistTranslator() {
+ return new EmptyTagBooleanTranslator(CASCADE_PERSIST, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitDefaults_CascadePersist());
+ }
+
+ private Translator createEntityListenersTranslator() {
+ return new EntityListenersTranslator(ENTITY_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitDefaults_EntityListeners());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitMetadataTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitMetadataTranslator.java
new file mode 100644
index 0000000000..4273110a8b
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitMetadataTranslator.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.EmptyTagBooleanTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class PersistenceUnitMetadataTranslator extends Translator implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public PersistenceUnitMetadataTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ private Translator[] createChildren() {
+ return new Translator[] {
+ createXmlMappingMetadataCompleteTranslator(),
+ createPersistenceUnitDefaultsTranslator(),
+ };
+ }
+
+ private Translator createXmlMappingMetadataCompleteTranslator() {
+ return new EmptyTagBooleanTranslator(XML_MAPPING_METADATA_COMPLETE, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitMetadata_XmlMappingMetadataComplete());
+ }
+
+ private Translator createPersistenceUnitDefaultsTranslator() {
+ return new PersistenceUnitDefaultsTranslator(PERSISTENCE_UNIT_DEFAULTS, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitMetadata_PersistenceUnitDefaults());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PrimaryKeyJoinColumnTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PrimaryKeyJoinColumnTranslator.java
new file mode 100644
index 0000000000..81ea9afcc4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PrimaryKeyJoinColumnTranslator.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class PrimaryKeyJoinColumnTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public PrimaryKeyJoinColumnTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlPrimaryKeyJoinColumnImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createReferencedColumnNameTranslator(),
+ createColumnDefinitionTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createReferencedColumnNameTranslator() {
+ return new Translator(REFERENCED_COLUMN_NAME, ECLIPSELINK_ORM_PKG.getXmlPrimaryKeyJoinColumn_ReferencedColumnName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnDefinitionTranslator() {
+ return new Translator(COLUMN_DEFINITION, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_ColumnDefinition(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/QueryHintTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/QueryHintTranslator.java
new file mode 100644
index 0000000000..76d2d02596
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/QueryHintTranslator.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class QueryHintTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public QueryHintTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createValueTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlQueryHint_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createValueTranslator() {
+ return new Translator(VALUE, ECLIPSELINK_ORM_PKG.getXmlQueryHint_Value(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SecondaryTableTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SecondaryTableTranslator.java
new file mode 100644
index 0000000000..5d311abd42
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SecondaryTableTranslator.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class SecondaryTableTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public SecondaryTableTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlSecondaryTableImpl();
+ }
+
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createCatalogTranslator(),
+ createSchemaTranslator(),
+ createPrimaryKeyJoinColumnsTranslator(),
+ createUniqueConstraintTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createCatalogTranslator() {
+ return new Translator(CATALOG, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Catalog(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createSchemaTranslator() {
+ return new Translator(SCHEMA, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Schema(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createPrimaryKeyJoinColumnsTranslator() {
+ return new PrimaryKeyJoinColumnTranslator(PRIMARY_KEY_JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlSecondaryTable_PrimaryKeyJoinColumns());
+ }
+
+ private Translator createUniqueConstraintTranslator() {
+ return new UniqueConstraintTranslator(UNIQUE_CONSTRAINT, ECLIPSELINK_ORM_PKG.getXmlBaseTable_UniqueConstraints());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SequenceGeneratorTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SequenceGeneratorTranslator.java
new file mode 100644
index 0000000000..fa2a995580
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SequenceGeneratorTranslator.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class SequenceGeneratorTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public SequenceGeneratorTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlSequenceGeneratorImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createSequenceNameTranslator(),
+ createInitialValueTranslator(),
+ createAllocationSizeTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlGenerator_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createSequenceNameTranslator() {
+ return new Translator(SEQUENCE_NAME, ECLIPSELINK_ORM_PKG.getXmlSequenceGenerator_SequenceName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createInitialValueTranslator() {
+ return new Translator(INITIAL_VALUE, ECLIPSELINK_ORM_PKG.getXmlGenerator_InitialValue(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAllocationSizeTranslator() {
+ return new Translator(ALLOCATION_SIZE, ECLIPSELINK_ORM_PKG.getXmlGenerator_AllocationSize(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SqlResultSetMappingTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SqlResultSetMappingTranslator.java
new file mode 100644
index 0000000000..239fd2025a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SqlResultSetMappingTranslator.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class SqlResultSetMappingTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public SqlResultSetMappingTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createEntityResultTranslator(),
+ createColumnResultTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getSqlResultSetMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createEntityResultTranslator() {
+ return new EntityResultTranslator(ENTITY_RESULT, ECLIPSELINK_ORM_PKG.getSqlResultSetMapping_EntityResults());
+ }
+
+ private Translator createColumnResultTranslator() {
+ return new ColumnResultTranslator(COLUMN_RESULT, ECLIPSELINK_ORM_PKG.getSqlResultSetMapping_ColumnResults());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableGeneratorTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableGeneratorTranslator.java
new file mode 100644
index 0000000000..888bb241fc
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableGeneratorTranslator.java
@@ -0,0 +1,93 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class TableGeneratorTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public TableGeneratorTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlTableGeneratorImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createTableTranslator(),
+ createCatalogTranslator(),
+ createSchemaTranslator(),
+ createPkColumnNameTranslator(),
+ createValueColumnNameTranslator(),
+ createPkColumnValueTranslator(),
+ createInitialValueTranslator(),
+ createAllocationSizeTranslator(),
+ createUniqueConstraintTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlGenerator_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTableTranslator() {
+ return new Translator(TABLE, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_Table(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createCatalogTranslator() {
+ return new Translator(CATALOG, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_Catalog(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createSchemaTranslator() {
+ return new Translator(SCHEMA, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_Schema(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createPkColumnNameTranslator() {
+ return new Translator(PK_COLUMN_NAME, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_PkColumnName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createValueColumnNameTranslator() {
+ return new Translator(VALUE_COLUMN_NAME, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_ValueColumnName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createPkColumnValueTranslator() {
+ return new Translator(PK_COLUMN_VALUE, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_PkColumnValue(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createInitialValueTranslator() {
+ return new Translator(INITIAL_VALUE, ECLIPSELINK_ORM_PKG.getXmlGenerator_InitialValue(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAllocationSizeTranslator() {
+ return new Translator(ALLOCATION_SIZE, ECLIPSELINK_ORM_PKG.getXmlGenerator_AllocationSize(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createUniqueConstraintTranslator() {
+ return new UniqueConstraintTranslator(UNIQUE_CONSTRAINT, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_UniqueConstraints());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableTranslator.java
new file mode 100644
index 0000000000..30decdda2a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableTranslator.java
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class TableTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public TableTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createCatalogTranslator(),
+ createSchemaTranslator(),
+ createUniqueConstraintTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createCatalogTranslator() {
+ return new Translator(CATALOG, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Catalog(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createSchemaTranslator() {
+ return new Translator(SCHEMA, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Schema(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createUniqueConstraintTranslator() {
+ return new UniqueConstraintTranslator(UNIQUE_CONSTRAINT, ECLIPSELINK_ORM_PKG.getXmlBaseTable_UniqueConstraints());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TransientTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TransientTranslator.java
new file mode 100644
index 0000000000..51d6f22e46
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TransientTranslator.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class TransientTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public TransientTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlTransientImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/UniqueConstraintTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/UniqueConstraintTranslator.java
new file mode 100644
index 0000000000..fbe31840bb
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/UniqueConstraintTranslator.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class UniqueConstraintTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public UniqueConstraintTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlUniqueConstraintImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createColumnNameTranslator(),
+ };
+ }
+
+ private Translator createColumnNameTranslator() {
+ return new Translator(COLUMN_NAME, ECLIPSELINK_ORM_PKG.getXmlUniqueConstraint_ColumnNames());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/VersionTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/VersionTranslator.java
new file mode 100644
index 0000000000..15de5b5463
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/VersionTranslator.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * 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.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class VersionTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public VersionTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlVersionImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createColumnTranslator(),
+ createTemporalTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnTranslator() {
+ return new ColumnTranslator(COLUMN, ECLIPSELINK_ORM_PKG.getColumnMapping_Column());
+ }
+
+ private Translator createTemporalTranslator() {
+ return new Translator(TEMPORAL, ECLIPSELINK_ORM_PKG.getXmlVersion_Temporal());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlAbstractColumn.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlAbstractColumn.java
new file mode 100644
index 0000000000..90253a3865
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlAbstractColumn.java
@@ -0,0 +1,504 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Xml Abstract Column</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlAbstractColumn()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlAbstractColumn extends AbstractXmlNamedColumn implements XmlAbstractColumn
+{
+ /**
+ * 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 AbstractXmlAbstractColumn()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.ABSTRACT_XML_ABSTRACT_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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAbstractColumn_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.eclipselink.core.resource.elorm.AbstractXmlAbstractColumn#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, EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAbstractColumn_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.eclipselink.core.resource.elorm.AbstractXmlAbstractColumn#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, EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAbstractColumn_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.eclipselink.core.resource.elorm.AbstractXmlAbstractColumn#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, EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAbstractColumn_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.eclipselink.core.resource.elorm.AbstractXmlAbstractColumn#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, EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAbstractColumn_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.eclipselink.core.resource.elorm.AbstractXmlAbstractColumn#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, EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UPDATABLE, oldUpdatable, updatable));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE:
+ return getInsertable();
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE:
+ return getNullable();
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__TABLE:
+ return getTable();
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE:
+ return getUnique();
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_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 EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE:
+ setInsertable((Boolean)newValue);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE:
+ setNullable((Boolean)newValue);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__TABLE:
+ setTable((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE:
+ setUnique((Boolean)newValue);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_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 EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE:
+ setInsertable(INSERTABLE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE:
+ setNullable(NULLABLE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__TABLE:
+ setTable(TABLE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE:
+ setUnique(UNIQUE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_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 EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE:
+ return INSERTABLE_EDEFAULT == null ? insertable != null : !INSERTABLE_EDEFAULT.equals(insertable);
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE:
+ return NULLABLE_EDEFAULT == null ? nullable != null : !NULLABLE_EDEFAULT.equals(nullable);
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__TABLE:
+ return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table);
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE:
+ return UNIQUE_EDEFAULT == null ? unique != null : !UNIQUE_EDEFAULT.equals(unique);
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_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 == XmlAbstractColumn.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE: return EclipseLinkOrmPackage.XML_ABSTRACT_COLUMN__INSERTABLE;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE: return EclipseLinkOrmPackage.XML_ABSTRACT_COLUMN__NULLABLE;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__TABLE: return EclipseLinkOrmPackage.XML_ABSTRACT_COLUMN__TABLE;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE: return EclipseLinkOrmPackage.XML_ABSTRACT_COLUMN__UNIQUE;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UPDATABLE: return EclipseLinkOrmPackage.XML_ABSTRACT_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 == XmlAbstractColumn.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ABSTRACT_COLUMN__INSERTABLE: return EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE;
+ case EclipseLinkOrmPackage.XML_ABSTRACT_COLUMN__NULLABLE: return EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE;
+ case EclipseLinkOrmPackage.XML_ABSTRACT_COLUMN__TABLE: return EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__TABLE;
+ case EclipseLinkOrmPackage.XML_ABSTRACT_COLUMN__UNIQUE: return EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE;
+ case EclipseLinkOrmPackage.XML_ABSTRACT_COLUMN__UPDATABLE: return EclipseLinkOrmPackage.ABSTRACT_XML_ABSTRACT_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();
+ }
+
+} // AbstractXmlAbstractColumn
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlAttributeMapping.java
new file mode 100644
index 0000000000..9ec90925b0
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlAttributeMapping.java
@@ -0,0 +1,192 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Xml Attribute Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlAttributeMapping()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlAttributeMapping extends AbstractJpaEObject implements XmlAttributeMapping
+{
+ /**
+ * 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 EclipseLinkOrmPackage.Literals.ABSTRACT_XML_ATTRIBUTE_MAPPING;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // AbstractXmlAttributeMapping
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlBaseTable.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlBaseTable.java
new file mode 100644
index 0000000000..e117bd3a90
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlBaseTable.java
@@ -0,0 +1,396 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.core.resource.common.AbstractJpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Xml Base Table</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlBaseTable()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlBaseTable extends AbstractJpaEObject implements XmlBaseTable
+{
+ /**
+ * 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 AbstractXmlBaseTable()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.ABSTRACT_XML_BASE_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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBaseTable_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.eclipselink.core.resource.elorm.AbstractXmlBaseTable#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, EclipseLinkOrmPackage.ABSTRACT_XML_BASE_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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBaseTable_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.eclipselink.core.resource.elorm.AbstractXmlBaseTable#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, EclipseLinkOrmPackage.ABSTRACT_XML_BASE_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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBaseTable_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.eclipselink.core.resource.elorm.AbstractXmlBaseTable#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, EclipseLinkOrmPackage.ABSTRACT_XML_BASE_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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBaseTable_UniqueConstraints()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlUniqueConstraint> getUniqueConstraints()
+ {
+ if (uniqueConstraints == null)
+ {
+ uniqueConstraints = new EObjectContainmentEList<XmlUniqueConstraint>(XmlUniqueConstraint.class, this, EclipseLinkOrmPackage.ABSTRACT_XML_BASE_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 EclipseLinkOrmPackage.ABSTRACT_XML_BASE_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 EclipseLinkOrmPackage.ABSTRACT_XML_BASE_TABLE__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.ABSTRACT_XML_BASE_TABLE__CATALOG:
+ return getCatalog();
+ case EclipseLinkOrmPackage.ABSTRACT_XML_BASE_TABLE__SCHEMA:
+ return getSchema();
+ case EclipseLinkOrmPackage.ABSTRACT_XML_BASE_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 EclipseLinkOrmPackage.ABSTRACT_XML_BASE_TABLE__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_BASE_TABLE__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_BASE_TABLE__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_BASE_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 EclipseLinkOrmPackage.ABSTRACT_XML_BASE_TABLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_BASE_TABLE__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_BASE_TABLE__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_BASE_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 EclipseLinkOrmPackage.ABSTRACT_XML_BASE_TABLE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.ABSTRACT_XML_BASE_TABLE__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case EclipseLinkOrmPackage.ABSTRACT_XML_BASE_TABLE__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case EclipseLinkOrmPackage.ABSTRACT_XML_BASE_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();
+ }
+
+} // AbstractXmlBaseTable
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlNamedColumn.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlNamedColumn.java
new file mode 100644
index 0000000000..814986c2a9
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlNamedColumn.java
@@ -0,0 +1,259 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Xml Named Column</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlNamedColumn()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlNamedColumn extends AbstractJpaEObject 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 EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION:
+ return getColumnDefinition();
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition(COLUMN_DEFINITION_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION:
+ return COLUMN_DEFINITION_EDEFAULT == null ? columnDefinition != null : !COLUMN_DEFINITION_EDEFAULT.equals(columnDefinition);
+ case EclipseLinkOrmPackage.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();
+ }
+
+} // AbstractXmlNamedColumn
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlTypeMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlTypeMapping.java
new file mode 100644
index 0000000000..ffc42ac288
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AbstractXmlTypeMapping.java
@@ -0,0 +1,507 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Xml Type Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#getClassName <em>Class Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#getAccess <em>Access</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#getMetadataComplete <em>Metadata Complete</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#getAttributes <em>Attributes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlTypeMapping()
+ * @model kind="class" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public abstract class AbstractXmlTypeMapping extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * 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 #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected static final AccessType ACCESS_EDEFAULT = AccessType.PROPERTY;
+
+ /**
+ * The cached value of the '{@link #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected AccessType access = ACCESS_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 EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlTypeMapping_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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME, oldClassName, className));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Access</b></em>' attribute.
+ * The default value is <code>"PROPERTY"</code>.
+ * The literals are from the enumeration {@link org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType}.
+ * <!-- 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 org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType
+ * @see #setAccess(AccessType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlTypeMapping_Access()
+ * @model default="PROPERTY"
+ * @generated
+ */
+ public AccessType getAccess()
+ {
+ return access;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#getAccess <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access</em>' attribute.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType
+ * @see #getAccess()
+ * @generated
+ */
+ public void setAccess(AccessType newAccess)
+ {
+ AccessType oldAccess = access;
+ access = newAccess == null ? ACCESS_EDEFAULT : newAccess;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlTypeMapping_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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlTypeMapping_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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlTypeMapping_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES, null, msgs);
+ if (newAttributes != null)
+ msgs = ((InternalEObject)newAttributes).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.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, EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME:
+ return getClassName();
+ case EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS:
+ return getAccess();
+ case EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE:
+ return getMetadataComplete();
+ case EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION:
+ return getDescription();
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME:
+ setClassName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS:
+ setAccess((AccessType)newValue);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE:
+ setMetadataComplete((Boolean)newValue);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME:
+ setClassName(CLASS_NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS:
+ setAccess(ACCESS_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE:
+ setMetadataComplete(METADATA_COMPLETE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME:
+ return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
+ case EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS:
+ return access != ACCESS_EDEFAULT;
+ case EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE:
+ return METADATA_COMPLETE_EDEFAULT == null ? metadataComplete != null : !METADATA_COMPLETE_EDEFAULT.equals(metadataComplete);
+ case EclipseLinkOrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case EclipseLinkOrmPackage.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(" (className: ");
+ result.append(className);
+ result.append(", access: ");
+ result.append(access);
+ result.append(", metadataComplete: ");
+ result.append(metadataComplete);
+ result.append(", description: ");
+ result.append(description);
+ result.append(')');
+ return result.toString();
+ }
+
+} // AbstractXmlTypeMapping
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AccessType.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AccessType.java
new file mode 100644
index 0000000000..340a0407fa
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/AccessType.java
@@ -0,0 +1,231 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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>Access Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAccessType()
+ * @model
+ * @generated
+ */
+public enum AccessType implements Enumerator
+{
+ /**
+ * The '<em><b>PROPERTY</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PROPERTY_VALUE
+ * @generated
+ * @ordered
+ */
+ PROPERTY(0, "PROPERTY", "PROPERTY"),
+
+ /**
+ * The '<em><b>FIELD</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FIELD_VALUE
+ * @generated
+ * @ordered
+ */
+ FIELD(1, "FIELD", "FIELD");
+
+ /**
+ * The '<em><b>PROPERTY</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PROPERTY</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PROPERTY
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PROPERTY_VALUE = 0;
+
+ /**
+ * The '<em><b>FIELD</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>FIELD</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FIELD
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int FIELD_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Access Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final AccessType[] VALUES_ARRAY =
+ new AccessType[]
+ {
+ PROPERTY,
+ FIELD,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Access Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<AccessType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Access Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AccessType get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ AccessType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Access Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AccessType getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ AccessType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Access Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AccessType get(int value)
+ {
+ switch (value)
+ {
+ case PROPERTY_VALUE: return PROPERTY;
+ case FIELD_VALUE: return FIELD;
+ }
+ 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 AccessType(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;
+ }
+
+} //AccessType
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/Attributes.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/Attributes.java
new file mode 100644
index 0000000000..99cdaa9181
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/Attributes.java
@@ -0,0 +1,608 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attributes</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes#getIds <em>Ids</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes#getEmbeddedIds <em>Embedded Ids</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes#getBasics <em>Basics</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes#getVersions <em>Versions</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes#getManyToOnes <em>Many To Ones</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes#getOneToManys <em>One To Manys</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes#getOneToOnes <em>One To Ones</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes#getManyToManys <em>Many To Manys</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes#getEmbeddeds <em>Embeddeds</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes#getTransients <em>Transients</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAttributes()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class Attributes extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * 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 EclipseLinkOrmPackage.Literals.ATTRIBUTES;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Ids</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAttributes_Ids()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlId> getIds()
+ {
+ if (ids == null)
+ {
+ ids = new EObjectContainmentEList<XmlId>(XmlId.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAttributes_EmbeddedIds()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlEmbeddedId> getEmbeddedIds()
+ {
+ if (embeddedIds == null)
+ {
+ embeddedIds = new EObjectContainmentEList<XmlEmbeddedId>(XmlEmbeddedId.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAttributes_Basics()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlBasic> getBasics()
+ {
+ if (basics == null)
+ {
+ basics = new EObjectContainmentEList<XmlBasic>(XmlBasic.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAttributes_Versions()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlVersion> getVersions()
+ {
+ if (versions == null)
+ {
+ versions = new EObjectContainmentEList<XmlVersion>(XmlVersion.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAttributes_ManyToOnes()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlManyToOne> getManyToOnes()
+ {
+ if (manyToOnes == null)
+ {
+ manyToOnes = new EObjectContainmentEList<XmlManyToOne>(XmlManyToOne.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAttributes_OneToManys()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlOneToMany> getOneToManys()
+ {
+ if (oneToManys == null)
+ {
+ oneToManys = new EObjectContainmentEList<XmlOneToMany>(XmlOneToMany.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAttributes_OneToOnes()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlOneToOne> getOneToOnes()
+ {
+ if (oneToOnes == null)
+ {
+ oneToOnes = new EObjectContainmentEList<XmlOneToOne>(XmlOneToOne.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAttributes_ManyToManys()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlManyToMany> getManyToManys()
+ {
+ if (manyToManys == null)
+ {
+ manyToManys = new EObjectContainmentEList<XmlManyToMany>(XmlManyToMany.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAttributes_Embeddeds()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlEmbedded> getEmbeddeds()
+ {
+ if (embeddeds == null)
+ {
+ embeddeds = new EObjectContainmentEList<XmlEmbedded>(XmlEmbedded.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAttributes_Transients()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlTransient> getTransients()
+ {
+ if (transients == null)
+ {
+ transients = new EObjectContainmentEList<XmlTransient>(XmlTransient.class, this, EclipseLinkOrmPackage.ATTRIBUTES__TRANSIENTS);
+ }
+ return transients;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.ATTRIBUTES__IDS:
+ return ((InternalEList<?>)getIds()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.ATTRIBUTES__EMBEDDED_IDS:
+ return ((InternalEList<?>)getEmbeddedIds()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.ATTRIBUTES__BASICS:
+ return ((InternalEList<?>)getBasics()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.ATTRIBUTES__VERSIONS:
+ return ((InternalEList<?>)getVersions()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.ATTRIBUTES__MANY_TO_ONES:
+ return ((InternalEList<?>)getManyToOnes()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.ATTRIBUTES__ONE_TO_MANYS:
+ return ((InternalEList<?>)getOneToManys()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.ATTRIBUTES__ONE_TO_ONES:
+ return ((InternalEList<?>)getOneToOnes()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.ATTRIBUTES__MANY_TO_MANYS:
+ return ((InternalEList<?>)getManyToManys()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.ATTRIBUTES__EMBEDDEDS:
+ return ((InternalEList<?>)getEmbeddeds()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ATTRIBUTES__IDS:
+ return getIds();
+ case EclipseLinkOrmPackage.ATTRIBUTES__EMBEDDED_IDS:
+ return getEmbeddedIds();
+ case EclipseLinkOrmPackage.ATTRIBUTES__BASICS:
+ return getBasics();
+ case EclipseLinkOrmPackage.ATTRIBUTES__VERSIONS:
+ return getVersions();
+ case EclipseLinkOrmPackage.ATTRIBUTES__MANY_TO_ONES:
+ return getManyToOnes();
+ case EclipseLinkOrmPackage.ATTRIBUTES__ONE_TO_MANYS:
+ return getOneToManys();
+ case EclipseLinkOrmPackage.ATTRIBUTES__ONE_TO_ONES:
+ return getOneToOnes();
+ case EclipseLinkOrmPackage.ATTRIBUTES__MANY_TO_MANYS:
+ return getManyToManys();
+ case EclipseLinkOrmPackage.ATTRIBUTES__EMBEDDEDS:
+ return getEmbeddeds();
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ATTRIBUTES__IDS:
+ getIds().clear();
+ getIds().addAll((Collection<? extends XmlId>)newValue);
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__EMBEDDED_IDS:
+ getEmbeddedIds().clear();
+ getEmbeddedIds().addAll((Collection<? extends XmlEmbeddedId>)newValue);
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__BASICS:
+ getBasics().clear();
+ getBasics().addAll((Collection<? extends XmlBasic>)newValue);
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__VERSIONS:
+ getVersions().clear();
+ getVersions().addAll((Collection<? extends XmlVersion>)newValue);
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__MANY_TO_ONES:
+ getManyToOnes().clear();
+ getManyToOnes().addAll((Collection<? extends XmlManyToOne>)newValue);
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__ONE_TO_MANYS:
+ getOneToManys().clear();
+ getOneToManys().addAll((Collection<? extends XmlOneToMany>)newValue);
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__ONE_TO_ONES:
+ getOneToOnes().clear();
+ getOneToOnes().addAll((Collection<? extends XmlOneToOne>)newValue);
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__MANY_TO_MANYS:
+ getManyToManys().clear();
+ getManyToManys().addAll((Collection<? extends XmlManyToMany>)newValue);
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__EMBEDDEDS:
+ getEmbeddeds().clear();
+ getEmbeddeds().addAll((Collection<? extends XmlEmbedded>)newValue);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ATTRIBUTES__IDS:
+ getIds().clear();
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__EMBEDDED_IDS:
+ getEmbeddedIds().clear();
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__BASICS:
+ getBasics().clear();
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__VERSIONS:
+ getVersions().clear();
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__MANY_TO_ONES:
+ getManyToOnes().clear();
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__ONE_TO_MANYS:
+ getOneToManys().clear();
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__ONE_TO_ONES:
+ getOneToOnes().clear();
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__MANY_TO_MANYS:
+ getManyToManys().clear();
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__EMBEDDEDS:
+ getEmbeddeds().clear();
+ return;
+ case EclipseLinkOrmPackage.ATTRIBUTES__TRANSIENTS:
+ getTransients().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.ATTRIBUTES__IDS:
+ return ids != null && !ids.isEmpty();
+ case EclipseLinkOrmPackage.ATTRIBUTES__EMBEDDED_IDS:
+ return embeddedIds != null && !embeddedIds.isEmpty();
+ case EclipseLinkOrmPackage.ATTRIBUTES__BASICS:
+ return basics != null && !basics.isEmpty();
+ case EclipseLinkOrmPackage.ATTRIBUTES__VERSIONS:
+ return versions != null && !versions.isEmpty();
+ case EclipseLinkOrmPackage.ATTRIBUTES__MANY_TO_ONES:
+ return manyToOnes != null && !manyToOnes.isEmpty();
+ case EclipseLinkOrmPackage.ATTRIBUTES__ONE_TO_MANYS:
+ return oneToManys != null && !oneToManys.isEmpty();
+ case EclipseLinkOrmPackage.ATTRIBUTES__ONE_TO_ONES:
+ return oneToOnes != null && !oneToOnes.isEmpty();
+ case EclipseLinkOrmPackage.ATTRIBUTES__MANY_TO_MANYS:
+ return manyToManys != null && !manyToManys.isEmpty();
+ case EclipseLinkOrmPackage.ATTRIBUTES__EMBEDDEDS:
+ return embeddeds != null && !embeddeds.isEmpty();
+ case EclipseLinkOrmPackage.ATTRIBUTES__TRANSIENTS:
+ return transients != null && !transients.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // Attributes
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/BaseXmlEmbedded.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/BaseXmlEmbedded.java
new file mode 100644
index 0000000000..3909a7ff05
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/BaseXmlEmbedded.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Base Xml Embedded</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.BaseXmlEmbedded#getAttributeOverrides <em>Attribute Overrides</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getBaseXmlEmbedded()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface BaseXmlEmbedded extends XmlAttributeMapping
+{
+ /**
+ * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getBaseXmlEmbedded_AttributeOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlAttributeOverride> getAttributeOverrides();
+
+} // BaseXmlEmbedded
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/CascadeType.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/CascadeType.java
new file mode 100644
index 0000000000..c5839a7ee4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/CascadeType.java
@@ -0,0 +1,168 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cascade Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.CascadeType#isCascadeAll <em>Cascade All</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.CascadeType#isCascadePersist <em>Cascade Persist</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.CascadeType#isCascadeMerge <em>Cascade Merge</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.CascadeType#isCascadeRemove <em>Cascade Remove</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.CascadeType#isCascadeRefresh <em>Cascade Refresh</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getCascadeType()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface CascadeType extends JpaEObject
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getCascadeType_CascadeAll()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isCascadeAll();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setCascadeAll(boolean value);
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getCascadeType_CascadePersist()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isCascadePersist();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setCascadePersist(boolean value);
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getCascadeType_CascadeMerge()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isCascadeMerge();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setCascadeMerge(boolean value);
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getCascadeType_CascadeRemove()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isCascadeRemove();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setCascadeRemove(boolean value);
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getCascadeType_CascadeRefresh()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isCascadeRefresh();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setCascadeRefresh(boolean value);
+
+} // CascadeType
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/CascadeTypeImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/CascadeTypeImpl.java
new file mode 100644
index 0000000000..2da801933c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/CascadeTypeImpl.java
@@ -0,0 +1,460 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cascade Type Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getCascadeTypeImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class CascadeTypeImpl extends AbstractJpaEObject implements CascadeType
+{
+ /**
+ * 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 CascadeTypeImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.CASCADE_TYPE_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.CascadeTypeImpl#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, EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.CascadeTypeImpl#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, EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.CascadeTypeImpl#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, EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.CascadeTypeImpl#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, EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.CascadeTypeImpl#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, EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_REFRESH, oldCascadeRefresh, cascadeRefresh));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_ALL:
+ return isCascadeAll() ? Boolean.TRUE : Boolean.FALSE;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_PERSIST:
+ return isCascadePersist() ? Boolean.TRUE : Boolean.FALSE;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_MERGE:
+ return isCascadeMerge() ? Boolean.TRUE : Boolean.FALSE;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_REMOVE:
+ return isCascadeRemove() ? Boolean.TRUE : Boolean.FALSE;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_REFRESH:
+ return isCascadeRefresh() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_ALL:
+ setCascadeAll(((Boolean)newValue).booleanValue());
+ return;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_PERSIST:
+ setCascadePersist(((Boolean)newValue).booleanValue());
+ return;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_MERGE:
+ setCascadeMerge(((Boolean)newValue).booleanValue());
+ return;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_REMOVE:
+ setCascadeRemove(((Boolean)newValue).booleanValue());
+ return;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_REFRESH:
+ setCascadeRefresh(((Boolean)newValue).booleanValue());
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_ALL:
+ setCascadeAll(CASCADE_ALL_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_PERSIST:
+ setCascadePersist(CASCADE_PERSIST_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_MERGE:
+ setCascadeMerge(CASCADE_MERGE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_REMOVE:
+ setCascadeRemove(CASCADE_REMOVE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__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 EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_ALL:
+ return cascadeAll != CASCADE_ALL_EDEFAULT;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_PERSIST:
+ return cascadePersist != CASCADE_PERSIST_EDEFAULT;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_MERGE:
+ return cascadeMerge != CASCADE_MERGE_EDEFAULT;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__CASCADE_REMOVE:
+ return cascadeRemove != CASCADE_REMOVE_EDEFAULT;
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL__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(" (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();
+ }
+
+} // CascadeTypeImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/ColumnMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/ColumnMapping.java
new file mode 100644
index 0000000000..2261460edb
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/ColumnMapping.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Column Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.ColumnMapping#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getColumnMapping()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface ColumnMapping extends JpaEObject
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getColumnMapping_Column()
+ * @model containment="true"
+ * @generated
+ */
+ XmlColumn getColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/ColumnResult.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/ColumnResult.java
new file mode 100644
index 0000000000..947724ca4f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/ColumnResult.java
@@ -0,0 +1,200 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Column Result</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.ColumnResult#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getColumnResult()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class ColumnResult extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * 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 EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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();
+ }
+
+} // ColumnResult
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/DiscriminatorType.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/DiscriminatorType.java
new file mode 100644
index 0000000000..50da58ac9f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/DiscriminatorType.java
@@ -0,0 +1,258 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Discriminator Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmArtifactEdit.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmArtifactEdit.java
new file mode 100644
index 0000000000..e1232af596
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmArtifactEdit.java
@@ -0,0 +1,100 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import java.io.IOException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jpt.core.resource.common.JpaArtifactEdit;
+import org.eclipse.jpt.eclipselink.core.internal.JptEclipseLinkCorePlugin;
+
+/**
+ * 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.
+ */
+public class EclipseLinkOrmArtifactEdit extends JpaArtifactEdit
+{
+ /**
+ * @param aProject
+ * @return an eclipselink orm artifact for the project aProject.
+ * Opened only for read access (no write)
+ */
+ public static EclipseLinkOrmArtifactEdit getArtifactEditForRead(IProject aProject) {
+ EclipseLinkOrmArtifactEdit artifactEdit = null;
+ try {
+ artifactEdit = new EclipseLinkOrmArtifactEdit(aProject, true);
+ }
+ catch (IllegalArgumentException iae) {
+ // suppress illegal argument exception
+ JptEclipseLinkCorePlugin.log(iae);
+ }
+ return artifactEdit;
+ }
+
+ /**
+ * @param aProject
+ * @return an eclipselink orm artifact for the project aProject.
+ * Opened for both write and read access
+ */
+ public static EclipseLinkOrmArtifactEdit getArtifactEditForWrite(IProject aProject) {
+ EclipseLinkOrmArtifactEdit artifactEdit = null;
+ try {
+ artifactEdit = new EclipseLinkOrmArtifactEdit(aProject, false);
+ }
+ catch (IllegalArgumentException iae) {
+ // suppress illegal argument exception
+ JptEclipseLinkCorePlugin.log(iae);
+ }
+ return artifactEdit;
+ }
+
+
+ public EclipseLinkOrmArtifactEdit(IProject aProject, boolean toAccessAsReadOnly)
+ throws IllegalArgumentException {
+ super(aProject, toAccessAsReadOnly);
+ }
+
+
+ @Override
+ public EclipseLinkOrmResource getResource(IFile file) {
+ // This *seems* to do the same basic thing as below, but circumvents the
+ // URI munging that ArtifactEditModel does (see bug 209093)
+ try {
+ EclipseLinkOrmResource resource =
+ (EclipseLinkOrmResource) getArtifactEditModel().createResource(URI.createPlatformResourceURI(file.getFullPath().toString()));
+ if (! resource.isLoaded()) {
+ resource.load(getArtifactEditModel().getResourceSet().getLoadOptions());
+ }
+ return resource;
+ }
+ catch (ClassCastException cce) {
+ return null;
+ }
+ catch (IOException ioe) {
+ JptEclipseLinkCorePlugin.log(ioe);
+ return null;
+ }
+ }
+
+ @Override
+ public EclipseLinkOrmResource getResource(String fileURI) {
+ try {
+ return (EclipseLinkOrmResource) getArtifactEditModel().getResource(URI.createURI(fileURI));
+ }
+ catch (ClassCastException cce) {
+ return null;
+ }
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmFactory.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmFactory.java
new file mode 100644
index 0000000000..ff15c194d0
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmFactory.java
@@ -0,0 +1,1041 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EclipseLinkOrmFactory.java,v 1.1 2008/08/11 00:27:47 pfullbright Exp $
+ */
+package org.eclipse.jpt.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage
+ * @generated
+ */
+public class EclipseLinkOrmFactory extends EFactoryImpl
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EclipseLinkOrmFactory eINSTANCE = init();
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EclipseLinkOrmFactory init()
+ {
+ try
+ {
+ EclipseLinkOrmFactory theEclipseLinkOrmFactory = (EclipseLinkOrmFactory)EPackage.Registry.INSTANCE.getEFactory("jpt.elorm.xmi");
+ if (theEclipseLinkOrmFactory != null)
+ {
+ return theEclipseLinkOrmFactory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new EclipseLinkOrmFactory();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EclipseLinkOrmFactory()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS: return (EObject)createXmlEntityMappings();
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_METADATA: return (EObject)createXmlPersistenceUnitMetadata();
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS: return (EObject)createXmlPersistenceUnitDefaults();
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS: return (EObject)createXmlMappedSuperclass();
+ case EclipseLinkOrmPackage.XML_ENTITY: return (EObject)createXmlEntity();
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE: return (EObject)createXmlEmbeddable();
+ case EclipseLinkOrmPackage.ATTRIBUTES: return (EObject)createAttributes();
+ case EclipseLinkOrmPackage.XML_ID_IMPL: return (EObject)createXmlIdImpl();
+ case EclipseLinkOrmPackage.XML_EMBEDDED_ID_IMPL: return (EObject)createXmlEmbeddedIdImpl();
+ case EclipseLinkOrmPackage.XML_EMBEDDED_IMPL: return (EObject)createXmlEmbeddedImpl();
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL: return (EObject)createXmlBasicImpl();
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL: return (EObject)createXmlVersionImpl();
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL: return (EObject)createXmlManyToOneImpl();
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL: return (EObject)createXmlOneToManyImpl();
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL: return (EObject)createXmlOneToOneImpl();
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL: return (EObject)createXmlManyToManyImpl();
+ case EclipseLinkOrmPackage.XML_TRANSIENT_IMPL: return (EObject)createXmlTransientImpl();
+ case EclipseLinkOrmPackage.XML_ASSOCIATION_OVERRIDE_IMPL: return (EObject)createXmlAssociationOverrideImpl();
+ case EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL: return (EObject)createXmlAttributeOverrideImpl();
+ case EclipseLinkOrmPackage.CASCADE_TYPE_IMPL: return (EObject)createCascadeTypeImpl();
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL: return (EObject)createXmlColumnImpl();
+ case EclipseLinkOrmPackage.COLUMN_RESULT: return (EObject)createColumnResult();
+ case EclipseLinkOrmPackage.XML_DISCRIMINATOR_COLUMN: return (EObject)createXmlDiscriminatorColumn();
+ case EclipseLinkOrmPackage.ENTITY_LISTENERS: return (EObject)createEntityListeners();
+ case EclipseLinkOrmPackage.ENTITY_LISTENER: return (EObject)createEntityListener();
+ case EclipseLinkOrmPackage.ENTITY_RESULT: return (EObject)createEntityResult();
+ case EclipseLinkOrmPackage.EVENT_METHOD: return (EObject)createEventMethod();
+ case EclipseLinkOrmPackage.FIELD_RESULT: return (EObject)createFieldResult();
+ case EclipseLinkOrmPackage.XML_GENERATED_VALUE_IMPL: return (EObject)createXmlGeneratedValueImpl();
+ case EclipseLinkOrmPackage.XML_ID_CLASS: return (EObject)createXmlIdClass();
+ case EclipseLinkOrmPackage.INHERITANCE: return (EObject)createInheritance();
+ case EclipseLinkOrmPackage.XML_JOIN_COLUMN_IMPL: return (EObject)createXmlJoinColumnImpl();
+ case EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL: return (EObject)createXmlJoinTableImpl();
+ case EclipseLinkOrmPackage.LOB: return (EObject)createLob();
+ case EclipseLinkOrmPackage.MAP_KEY_IMPL: return (EObject)createMapKeyImpl();
+ case EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY: return (EObject)createXmlNamedNativeQuery();
+ case EclipseLinkOrmPackage.XML_NAMED_QUERY: return (EObject)createXmlNamedQuery();
+ case EclipseLinkOrmPackage.POST_LOAD: return (EObject)createPostLoad();
+ case EclipseLinkOrmPackage.POST_PERSIST: return (EObject)createPostPersist();
+ case EclipseLinkOrmPackage.POST_REMOVE: return (EObject)createPostRemove();
+ case EclipseLinkOrmPackage.POST_UPDATE: return (EObject)createPostUpdate();
+ case EclipseLinkOrmPackage.PRE_PERSIST: return (EObject)createPrePersist();
+ case EclipseLinkOrmPackage.PRE_REMOVE: return (EObject)createPreRemove();
+ case EclipseLinkOrmPackage.PRE_UPDATE: return (EObject)createPreUpdate();
+ case EclipseLinkOrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN_IMPL: return (EObject)createXmlPrimaryKeyJoinColumnImpl();
+ case EclipseLinkOrmPackage.XML_QUERY_HINT: return (EObject)createXmlQueryHint();
+ case EclipseLinkOrmPackage.XML_TABLE: return (EObject)createXmlTable();
+ case EclipseLinkOrmPackage.XML_SECONDARY_TABLE_IMPL: return (EObject)createXmlSecondaryTableImpl();
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL: return (EObject)createXmlSequenceGeneratorImpl();
+ case EclipseLinkOrmPackage.SQL_RESULT_SET_MAPPING: return (EObject)createSqlResultSetMapping();
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL: return (EObject)createXmlTableGeneratorImpl();
+ case EclipseLinkOrmPackage.XML_UNIQUE_CONSTRAINT_IMPL: return (EObject)createXmlUniqueConstraintImpl();
+ 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 EclipseLinkOrmPackage.ACCESS_TYPE:
+ return createAccessTypeFromString(eDataType, initialValue);
+ case EclipseLinkOrmPackage.DISCRIMINATOR_TYPE:
+ return createDiscriminatorTypeFromString(eDataType, initialValue);
+ case EclipseLinkOrmPackage.ENUM_TYPE:
+ return createEnumTypeFromString(eDataType, initialValue);
+ case EclipseLinkOrmPackage.FETCH_TYPE:
+ return createFetchTypeFromString(eDataType, initialValue);
+ case EclipseLinkOrmPackage.GENERATION_TYPE:
+ return createGenerationTypeFromString(eDataType, initialValue);
+ case EclipseLinkOrmPackage.INHERITANCE_TYPE:
+ return createInheritanceTypeFromString(eDataType, initialValue);
+ case EclipseLinkOrmPackage.TEMPORAL_TYPE:
+ return createTemporalTypeFromString(eDataType, initialValue);
+ case EclipseLinkOrmPackage.DISCRIMINATOR_VALUE:
+ return createDiscriminatorValueFromString(eDataType, initialValue);
+ case EclipseLinkOrmPackage.ENUMERATED:
+ return createEnumeratedFromString(eDataType, initialValue);
+ case EclipseLinkOrmPackage.ORDER_BY:
+ return createOrderByFromString(eDataType, initialValue);
+ case EclipseLinkOrmPackage.VERSION_TYPE:
+ return createVersionTypeFromString(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 EclipseLinkOrmPackage.ACCESS_TYPE:
+ return convertAccessTypeToString(eDataType, instanceValue);
+ case EclipseLinkOrmPackage.DISCRIMINATOR_TYPE:
+ return convertDiscriminatorTypeToString(eDataType, instanceValue);
+ case EclipseLinkOrmPackage.ENUM_TYPE:
+ return convertEnumTypeToString(eDataType, instanceValue);
+ case EclipseLinkOrmPackage.FETCH_TYPE:
+ return convertFetchTypeToString(eDataType, instanceValue);
+ case EclipseLinkOrmPackage.GENERATION_TYPE:
+ return convertGenerationTypeToString(eDataType, instanceValue);
+ case EclipseLinkOrmPackage.INHERITANCE_TYPE:
+ return convertInheritanceTypeToString(eDataType, instanceValue);
+ case EclipseLinkOrmPackage.TEMPORAL_TYPE:
+ return convertTemporalTypeToString(eDataType, instanceValue);
+ case EclipseLinkOrmPackage.DISCRIMINATOR_VALUE:
+ return convertDiscriminatorValueToString(eDataType, instanceValue);
+ case EclipseLinkOrmPackage.ENUMERATED:
+ return convertEnumeratedToString(eDataType, instanceValue);
+ case EclipseLinkOrmPackage.ORDER_BY:
+ return convertOrderByToString(eDataType, instanceValue);
+ case EclipseLinkOrmPackage.VERSION_TYPE:
+ return convertVersionTypeToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlEntityMappings createXmlEntityMappings()
+ {
+ XmlEntityMappings xmlEntityMappings = new XmlEntityMappings();
+ return xmlEntityMappings;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlPersistenceUnitMetadata createXmlPersistenceUnitMetadata()
+ {
+ XmlPersistenceUnitMetadata xmlPersistenceUnitMetadata = new XmlPersistenceUnitMetadata();
+ return xmlPersistenceUnitMetadata;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlPersistenceUnitDefaults createXmlPersistenceUnitDefaults()
+ {
+ XmlPersistenceUnitDefaults xmlPersistenceUnitDefaults = new XmlPersistenceUnitDefaults();
+ return xmlPersistenceUnitDefaults;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlMappedSuperclass createXmlMappedSuperclass()
+ {
+ XmlMappedSuperclass xmlMappedSuperclass = new XmlMappedSuperclass();
+ return xmlMappedSuperclass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlEntity createXmlEntity()
+ {
+ XmlEntity xmlEntity = new XmlEntity();
+ return xmlEntity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlEmbeddable createXmlEmbeddable()
+ {
+ XmlEmbeddable xmlEmbeddable = new XmlEmbeddable();
+ return xmlEmbeddable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Attributes createAttributes()
+ {
+ Attributes attributes = new Attributes();
+ return attributes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlIdImpl createXmlIdImpl()
+ {
+ XmlIdImpl xmlIdImpl = new XmlIdImpl();
+ return xmlIdImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlEmbeddedIdImpl createXmlEmbeddedIdImpl()
+ {
+ XmlEmbeddedIdImpl xmlEmbeddedIdImpl = new XmlEmbeddedIdImpl();
+ return xmlEmbeddedIdImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlEmbeddedImpl createXmlEmbeddedImpl()
+ {
+ XmlEmbeddedImpl xmlEmbeddedImpl = new XmlEmbeddedImpl();
+ return xmlEmbeddedImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlBasicImpl createXmlBasicImpl()
+ {
+ XmlBasicImpl xmlBasicImpl = new XmlBasicImpl();
+ return xmlBasicImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlVersionImpl createXmlVersionImpl()
+ {
+ XmlVersionImpl xmlVersionImpl = new XmlVersionImpl();
+ return xmlVersionImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlManyToOneImpl createXmlManyToOneImpl()
+ {
+ XmlManyToOneImpl xmlManyToOneImpl = new XmlManyToOneImpl();
+ return xmlManyToOneImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlOneToManyImpl createXmlOneToManyImpl()
+ {
+ XmlOneToManyImpl xmlOneToManyImpl = new XmlOneToManyImpl();
+ return xmlOneToManyImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlOneToOneImpl createXmlOneToOneImpl()
+ {
+ XmlOneToOneImpl xmlOneToOneImpl = new XmlOneToOneImpl();
+ return xmlOneToOneImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlManyToManyImpl createXmlManyToManyImpl()
+ {
+ XmlManyToManyImpl xmlManyToManyImpl = new XmlManyToManyImpl();
+ return xmlManyToManyImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlTransientImpl createXmlTransientImpl()
+ {
+ XmlTransientImpl xmlTransientImpl = new XmlTransientImpl();
+ return xmlTransientImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlAssociationOverrideImpl createXmlAssociationOverrideImpl()
+ {
+ XmlAssociationOverrideImpl xmlAssociationOverrideImpl = new XmlAssociationOverrideImpl();
+ return xmlAssociationOverrideImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlAttributeOverrideImpl createXmlAttributeOverrideImpl()
+ {
+ XmlAttributeOverrideImpl xmlAttributeOverrideImpl = new XmlAttributeOverrideImpl();
+ return xmlAttributeOverrideImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CascadeTypeImpl createCascadeTypeImpl()
+ {
+ CascadeTypeImpl cascadeTypeImpl = new CascadeTypeImpl();
+ return cascadeTypeImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlColumnImpl createXmlColumnImpl()
+ {
+ XmlColumnImpl xmlColumnImpl = new XmlColumnImpl();
+ return xmlColumnImpl;
+ }
+
+ /**
+ * <!-- 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 EntityListeners createEntityListeners()
+ {
+ EntityListeners entityListeners = new EntityListeners();
+ return entityListeners;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EntityListener createEntityListener()
+ {
+ EntityListener entityListener = new EntityListener();
+ return entityListener;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EntityResult createEntityResult()
+ {
+ EntityResult entityResult = new EntityResult();
+ return entityResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventMethod createEventMethod()
+ {
+ EventMethod eventMethod = new EventMethod();
+ return eventMethod;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FieldResult createFieldResult()
+ {
+ FieldResult fieldResult = new FieldResult();
+ return fieldResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlGeneratedValueImpl createXmlGeneratedValueImpl()
+ {
+ XmlGeneratedValueImpl xmlGeneratedValueImpl = new XmlGeneratedValueImpl();
+ return xmlGeneratedValueImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlIdClass createXmlIdClass()
+ {
+ XmlIdClass xmlIdClass = new XmlIdClass();
+ return xmlIdClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Inheritance createInheritance()
+ {
+ Inheritance inheritance = new Inheritance();
+ return inheritance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlJoinColumnImpl createXmlJoinColumnImpl()
+ {
+ XmlJoinColumnImpl xmlJoinColumnImpl = new XmlJoinColumnImpl();
+ return xmlJoinColumnImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlJoinTableImpl createXmlJoinTableImpl()
+ {
+ XmlJoinTableImpl xmlJoinTableImpl = new XmlJoinTableImpl();
+ return xmlJoinTableImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lob createLob()
+ {
+ Lob lob = new Lob();
+ return lob;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MapKeyImpl createMapKeyImpl()
+ {
+ MapKeyImpl mapKeyImpl = new MapKeyImpl();
+ return mapKeyImpl;
+ }
+
+ /**
+ * <!-- 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 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 XmlPrimaryKeyJoinColumnImpl createXmlPrimaryKeyJoinColumnImpl()
+ {
+ XmlPrimaryKeyJoinColumnImpl xmlPrimaryKeyJoinColumnImpl = new XmlPrimaryKeyJoinColumnImpl();
+ return xmlPrimaryKeyJoinColumnImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlQueryHint createXmlQueryHint()
+ {
+ XmlQueryHint xmlQueryHint = new XmlQueryHint();
+ return xmlQueryHint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlTable createXmlTable()
+ {
+ XmlTable xmlTable = new XmlTable();
+ return xmlTable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlSecondaryTableImpl createXmlSecondaryTableImpl()
+ {
+ XmlSecondaryTableImpl xmlSecondaryTableImpl = new XmlSecondaryTableImpl();
+ return xmlSecondaryTableImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlSequenceGeneratorImpl createXmlSequenceGeneratorImpl()
+ {
+ XmlSequenceGeneratorImpl xmlSequenceGeneratorImpl = new XmlSequenceGeneratorImpl();
+ return xmlSequenceGeneratorImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SqlResultSetMapping createSqlResultSetMapping()
+ {
+ SqlResultSetMapping sqlResultSetMapping = new SqlResultSetMapping();
+ return sqlResultSetMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlTableGeneratorImpl createXmlTableGeneratorImpl()
+ {
+ XmlTableGeneratorImpl xmlTableGeneratorImpl = new XmlTableGeneratorImpl();
+ return xmlTableGeneratorImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlUniqueConstraintImpl createXmlUniqueConstraintImpl()
+ {
+ XmlUniqueConstraintImpl xmlUniqueConstraintImpl = new XmlUniqueConstraintImpl();
+ return xmlUniqueConstraintImpl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AccessType createAccessTypeFromString(EDataType eDataType, String initialValue)
+ {
+ AccessType result = AccessType.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 convertAccessTypeToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DiscriminatorType createDiscriminatorTypeFromString(EDataType eDataType, String initialValue)
+ {
+ DiscriminatorType result = DiscriminatorType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertDiscriminatorTypeToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnumType createEnumTypeFromString(EDataType eDataType, String initialValue)
+ {
+ EnumType result = EnumType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertEnumTypeToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FetchType createFetchTypeFromString(EDataType eDataType, String initialValue)
+ {
+ FetchType result = FetchType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertFetchTypeToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenerationType createGenerationTypeFromString(EDataType eDataType, String initialValue)
+ {
+ GenerationType result = GenerationType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertGenerationTypeToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InheritanceType createInheritanceTypeFromString(EDataType eDataType, String initialValue)
+ {
+ InheritanceType result = InheritanceType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertInheritanceTypeToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemporalType createTemporalTypeFromString(EDataType eDataType, String initialValue)
+ {
+ TemporalType result = TemporalType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertTemporalTypeToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String createDiscriminatorValueFromString(EDataType eDataType, String initialValue)
+ {
+ return (String)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertDiscriminatorValueToString(EDataType eDataType, Object instanceValue)
+ {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumerator createEnumeratedFromString(EDataType eDataType, String initialValue)
+ {
+ return (Enumerator)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertEnumeratedToString(EDataType eDataType, Object instanceValue)
+ {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String createOrderByFromString(EDataType eDataType, String initialValue)
+ {
+ return (String)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertOrderByToString(EDataType eDataType, Object instanceValue)
+ {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String createVersionTypeFromString(EDataType eDataType, String initialValue)
+ {
+ return (String)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertVersionTypeToString(EDataType eDataType, Object instanceValue)
+ {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EclipseLinkOrmPackage getEclipseLinkOrmPackage()
+ {
+ return (EclipseLinkOrmPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static EclipseLinkOrmPackage getPackage()
+ {
+ return EclipseLinkOrmPackage.eINSTANCE;
+ }
+
+} //EclipseLinkOrmFactory
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmPackage.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmPackage.java
new file mode 100644
index 0000000000..b52430a580
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmPackage.java
@@ -0,0 +1,13559 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EclipseLinkOrmPackage.java,v 1.1 2008/08/11 00:27:47 pfullbright Exp $
+ */
+package org.eclipse.jpt.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+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;
+
+/**
+ * <!-- 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.eclipselink.core.resource.elorm.EclipseLinkOrmFactory
+ * @model kind="package"
+ * @generated
+ */
+public class EclipseLinkOrmPackage extends EPackageImpl
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNAME = "elorm";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_URI = "jpt.elorm.xmi";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_PREFIX = "org.eclipse.jpt.eclipselink.core.resource.elorm";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EclipseLinkOrmPackage eINSTANCE = org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings <em>Xml Entity Mappings</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntityMappings()
+ * @generated
+ */
+ public static final int XML_ENTITY_MAPPINGS = 0;
+
+ /**
+ * 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 = 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_ENTITY_MAPPINGS__DESCRIPTION = 1;
+
+ /**
+ * 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 = 2;
+
+ /**
+ * 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 = 3;
+
+ /**
+ * 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 = 4;
+
+ /**
+ * 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 = 5;
+
+ /**
+ * 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 = 6;
+
+ /**
+ * 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 = 7;
+
+ /**
+ * 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 = 8;
+
+ /**
+ * 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 = 9;
+
+ /**
+ * 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 = 10;
+
+ /**
+ * 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 = 11;
+
+ /**
+ * 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 = 12;
+
+ /**
+ * 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 = 13;
+
+ /**
+ * 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 = 14;
+
+ /**
+ * 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 = 15;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitMetadata <em>Xml Persistence Unit Metadata</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitMetadata
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlPersistenceUnitMetadata()
+ * @generated
+ */
+ public static final int XML_PERSISTENCE_UNIT_METADATA = 1;
+
+ /**
+ * 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 = 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 = 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 = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults <em>Xml Persistence Unit Defaults</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlPersistenceUnitDefaults()
+ * @generated
+ */
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS = 2;
+
+ /**
+ * 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 = 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_PERSISTENCE_UNIT_DEFAULTS__CATALOG = 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_PERSISTENCE_UNIT_DEFAULTS__ACCESS = 2;
+
+ /**
+ * 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 = 3;
+
+ /**
+ * 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 = 4;
+
+ /**
+ * 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 = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping <em>Abstract Xml Type Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlTypeMapping()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_TYPE_MAPPING = 3;
+
+ /**
+ * 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 = 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_TYPE_MAPPING__ACCESS = 1;
+
+ /**
+ * 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 = 2;
+
+ /**
+ * 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 = 3;
+
+ /**
+ * 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 = 4;
+
+ /**
+ * 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 = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass <em>Xml Mapped Superclass</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMappedSuperclass()
+ * @generated
+ */
+ public static final int XML_MAPPED_SUPERCLASS = 4;
+
+ /**
+ * 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>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>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 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_MAPPED_SUPERCLASS__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_MAPPED_SUPERCLASS__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_MAPPED_SUPERCLASS__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_MAPPED_SUPERCLASS__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_MAPPED_SUPERCLASS__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_MAPPED_SUPERCLASS__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_MAPPED_SUPERCLASS__POST_LOAD = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 10;
+
+ /**
+ * 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 + 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity <em>Xml Entity</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity()
+ * @generated
+ */
+ public static final int XML_ENTITY = 5;
+
+ /**
+ * 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>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>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>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 + 0;
+
+ /**
+ * 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 + 1;
+
+ /**
+ * 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 + 2;
+
+ /**
+ * 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 + 3;
+
+ /**
+ * 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 + 4;
+
+ /**
+ * 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 + 5;
+
+ /**
+ * 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 + 6;
+
+ /**
+ * 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 + 7;
+
+ /**
+ * 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 + 8;
+
+ /**
+ * 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 + 9;
+
+ /**
+ * 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 + 10;
+
+ /**
+ * 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 + 11;
+
+ /**
+ * 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 + 12;
+
+ /**
+ * 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 + 13;
+
+ /**
+ * 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 + 14;
+
+ /**
+ * 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 + 15;
+
+ /**
+ * 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 + 16;
+
+ /**
+ * 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 + 17;
+
+ /**
+ * 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 + 18;
+
+ /**
+ * 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 + 19;
+
+ /**
+ * 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 + 20;
+
+ /**
+ * 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 + 21;
+
+ /**
+ * 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 + 22;
+
+ /**
+ * 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 + 23;
+
+ /**
+ * 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 + 24;
+
+ /**
+ * 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 + 25;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddable <em>Xml Embeddable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddable
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbeddable()
+ * @generated
+ */
+ public static final int XML_EMBEDDABLE = 6;
+
+ /**
+ * 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>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>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.eclipselink.core.resource.elorm.Attributes <em>Attributes</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAttributes()
+ * @generated
+ */
+ public static final int ATTRIBUTES = 7;
+
+ /**
+ * 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeMapping <em>Xml Attribute Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAttributeMapping()
+ * @generated
+ */
+ public static final int XML_ATTRIBUTE_MAPPING = 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_ATTRIBUTE_MAPPING__NAME = 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 = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlAttributeMapping <em>Abstract Xml Attribute Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlAttributeMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlAttributeMapping()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_ATTRIBUTE_MAPPING = 9;
+
+ /**
+ * 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.eclipselink.core.resource.elorm.XmlNullAttributeMapping <em>Xml Null Attribute Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNullAttributeMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlNullAttributeMapping()
+ * @generated
+ */
+ public static final int XML_NULL_ATTRIBUTE_MAPPING = 10;
+
+ /**
+ * 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 = 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 = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.ColumnMapping <em>Column Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.ColumnMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getColumnMapping()
+ * @generated
+ */
+ public static final int COLUMN_MAPPING = 11;
+
+ /**
+ * 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.eclipselink.core.resource.elorm.XmlRelationshipMapping <em>Xml Relationship Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping()
+ * @generated
+ */
+ public static final int XML_RELATIONSHIP_MAPPING = 12;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_RELATIONSHIP_MAPPING__NAME = 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 XML_RELATIONSHIP_MAPPING__TARGET_ENTITY = 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 XML_RELATIONSHIP_MAPPING__FETCH = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * 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_RELATIONSHIP_MAPPING__JOIN_TABLE = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * 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_RELATIONSHIP_MAPPING__CASCADE = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Xml Relationship Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_RELATIONSHIP_MAPPING_FEATURE_COUNT = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping <em>Xml Multi Relationship Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMultiRelationshipMapping()
+ * @generated
+ */
+ public static final int XML_MULTI_RELATIONSHIP_MAPPING = 13;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MULTI_RELATIONSHIP_MAPPING__NAME = 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 XML_MULTI_RELATIONSHIP_MAPPING__TARGET_ENTITY = 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 XML_MULTI_RELATIONSHIP_MAPPING__FETCH = XML_RELATIONSHIP_MAPPING__FETCH;
+
+ /**
+ * 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_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE = XML_RELATIONSHIP_MAPPING__JOIN_TABLE;
+
+ /**
+ * 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_MULTI_RELATIONSHIP_MAPPING__CASCADE = 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 XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY = XML_RELATIONSHIP_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_MULTI_RELATIONSHIP_MAPPING__ORDER_BY = XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * 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_MULTI_RELATIONSHIP_MAPPING__MAP_KEY = XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Xml Multi Relationship Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT = XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSingleRelationshipMapping <em>Xml Single Relationship Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSingleRelationshipMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSingleRelationshipMapping()
+ * @generated
+ */
+ public static final int XML_SINGLE_RELATIONSHIP_MAPPING = 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_SINGLE_RELATIONSHIP_MAPPING__NAME = 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 XML_SINGLE_RELATIONSHIP_MAPPING__TARGET_ENTITY = 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 XML_SINGLE_RELATIONSHIP_MAPPING__FETCH = XML_RELATIONSHIP_MAPPING__FETCH;
+
+ /**
+ * 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_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE = XML_RELATIONSHIP_MAPPING__JOIN_TABLE;
+
+ /**
+ * 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_SINGLE_RELATIONSHIP_MAPPING__CASCADE = XML_RELATIONSHIP_MAPPING__CASCADE;
+
+ /**
+ * The feature id for the '<em><b>Optional</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL = 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 XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS = XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Single Relationship Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT = XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlId <em>Xml Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlId
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlId()
+ * @generated
+ */
+ public static final int XML_ID = 15;
+
+ /**
+ * 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 = 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 = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * 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 = 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 = XML_ATTRIBUTE_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_ID__TABLE_GENERATOR = 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 = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * 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 = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdImpl <em>Xml Id Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlIdImpl()
+ * @generated
+ */
+ public static final int XML_ID_IMPL = 16;
+
+ /**
+ * 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_IMPL__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_IMPL__COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * 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_IMPL__GENERATED_VALUE = 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_IMPL__TEMPORAL = ABSTRACT_XML_ATTRIBUTE_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_ID_IMPL__TABLE_GENERATOR = 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_IMPL__SEQUENCE_GENERATOR = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Xml Id Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID_IMPL_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.BaseXmlEmbedded <em>Base Xml Embedded</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.BaseXmlEmbedded
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getBaseXmlEmbedded()
+ * @generated
+ */
+ public static final int BASE_XML_EMBEDDED = 17;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int BASE_XML_EMBEDDED__NAME = 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 BASE_XML_EMBEDDED__ATTRIBUTE_OVERRIDES = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Base Xml Embedded</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int BASE_XML_EMBEDDED_FEATURE_COUNT = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedId <em>Xml Embedded Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedId
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbeddedId()
+ * @generated
+ */
+ public static final int XML_EMBEDDED_ID = 18;
+
+ /**
+ * 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 = 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 XML_EMBEDDED_ID__ATTRIBUTE_OVERRIDES = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * 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 = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedIdImpl <em>Xml Embedded Id Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedIdImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbeddedIdImpl()
+ * @generated
+ */
+ public static final int XML_EMBEDDED_ID_IMPL = 19;
+
+ /**
+ * 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_IMPL__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 XML_EMBEDDED_ID_IMPL__ATTRIBUTE_OVERRIDES = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Embedded Id Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDED_ID_IMPL_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbedded <em>Xml Embedded</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbedded
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbedded()
+ * @generated
+ */
+ public static final int XML_EMBEDDED = 20;
+
+ /**
+ * 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 = BASE_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 = BASE_XML_EMBEDDED__ATTRIBUTE_OVERRIDES;
+
+ /**
+ * 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 = BASE_XML_EMBEDDED_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedImpl <em>Xml Embedded Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbeddedImpl()
+ * @generated
+ */
+ public static final int XML_EMBEDDED_IMPL = 21;
+
+ /**
+ * 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_IMPL__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 XML_EMBEDDED_IMPL__ATTRIBUTE_OVERRIDES = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Embedded Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDED_IMPL_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic <em>Xml Basic</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasic()
+ * @generated
+ */
+ public static final int XML_BASIC = 22;
+
+ /**
+ * 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 = 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 = 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 XML_BASIC__FETCH = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * 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 = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * 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 = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * 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 = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * 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 = 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 = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasicImpl <em>Xml Basic Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasicImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasicImpl()
+ * @generated
+ */
+ public static final int XML_BASIC_IMPL = 23;
+
+ /**
+ * 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_IMPL__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_IMPL__COLUMN = 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 XML_BASIC_IMPL__FETCH = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * 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_IMPL__OPTIONAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * 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_IMPL__LOB = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * 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_IMPL__TEMPORAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * 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_IMPL__ENUMERATED = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Xml Basic Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_IMPL_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersion <em>Xml Version</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersion
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlVersion()
+ * @generated
+ */
+ public static final int XML_VERSION = 24;
+
+ /**
+ * 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 = 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 = 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_VERSION__TEMPORAL = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * 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 = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersionImpl <em>Xml Version Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersionImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlVersionImpl()
+ * @generated
+ */
+ public static final int XML_VERSION_IMPL = 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_VERSION_IMPL__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_IMPL__COLUMN = 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_VERSION_IMPL__TEMPORAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Version Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION_IMPL_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToOne <em>Xml Many To One</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToOne
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlManyToOne()
+ * @generated
+ */
+ public static final int XML_MANY_TO_ONE = 26;
+
+ /**
+ * 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 = 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 = 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 = XML_SINGLE_RELATIONSHIP_MAPPING__FETCH;
+
+ /**
+ * 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 = XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE;
+
+ /**
+ * 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 = XML_SINGLE_RELATIONSHIP_MAPPING__CASCADE;
+
+ /**
+ * 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 = XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL;
+
+ /**
+ * 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 = XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS;
+
+ /**
+ * 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 = XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToOneImpl <em>Xml Many To One Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToOneImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlManyToOneImpl()
+ * @generated
+ */
+ public static final int XML_MANY_TO_ONE_IMPL = 27;
+
+ /**
+ * 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_IMPL__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 XML_MANY_TO_ONE_IMPL__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 XML_MANY_TO_ONE_IMPL__FETCH = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * 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_IMPL__JOIN_TABLE = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * 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_IMPL__CASCADE = ABSTRACT_XML_ATTRIBUTE_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 XML_MANY_TO_ONE_IMPL__OPTIONAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_ONE_IMPL__JOIN_COLUMNS = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Xml Many To One Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_ONE_IMPL_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToMany <em>Xml One To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToMany
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToMany()
+ * @generated
+ */
+ public static final int XML_ONE_TO_MANY = 28;
+
+ /**
+ * 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 = 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 = 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 = XML_MULTI_RELATIONSHIP_MAPPING__FETCH;
+
+ /**
+ * 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 = XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE;
+
+ /**
+ * 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 = 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 = XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY;
+
+ /**
+ * 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 = XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY;
+
+ /**
+ * 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 = 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 = XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * 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 = XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToManyImpl <em>Xml One To Many Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToManyImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToManyImpl()
+ * @generated
+ */
+ public static final int XML_ONE_TO_MANY_IMPL = 29;
+
+ /**
+ * 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_IMPL__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 XML_ONE_TO_MANY_IMPL__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 XML_ONE_TO_MANY_IMPL__FETCH = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * 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_IMPL__JOIN_TABLE = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * 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_IMPL__CASCADE = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * 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_IMPL__MAPPED_BY = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * 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_IMPL__ORDER_BY = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * 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_IMPL__MAP_KEY = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * 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_IMPL__JOIN_COLUMNS = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Xml One To Many Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY_IMPL_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOne <em>Xml One To One</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOne
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToOne()
+ * @generated
+ */
+ public static final int XML_ONE_TO_ONE = 30;
+
+ /**
+ * 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 = 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 = 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 = XML_SINGLE_RELATIONSHIP_MAPPING__FETCH;
+
+ /**
+ * 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 = XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE;
+
+ /**
+ * 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 = XML_SINGLE_RELATIONSHIP_MAPPING__CASCADE;
+
+ /**
+ * 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 = XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL;
+
+ /**
+ * 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 = XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS;
+
+ /**
+ * 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 = 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 = XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * 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 = XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOneImpl <em>Xml One To One Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOneImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToOneImpl()
+ * @generated
+ */
+ public static final int XML_ONE_TO_ONE_IMPL = 31;
+
+ /**
+ * 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_IMPL__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 XML_ONE_TO_ONE_IMPL__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 XML_ONE_TO_ONE_IMPL__FETCH = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * 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_IMPL__JOIN_TABLE = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * 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_IMPL__CASCADE = ABSTRACT_XML_ATTRIBUTE_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 XML_ONE_TO_ONE_IMPL__OPTIONAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE_IMPL__JOIN_COLUMNS = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * 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_IMPL__MAPPED_BY = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * 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_IMPL__PRIMARY_KEY_JOIN_COLUMNS = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Xml One To One Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE_IMPL_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToMany <em>Xml Many To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToMany
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlManyToMany()
+ * @generated
+ */
+ public static final int XML_MANY_TO_MANY = 32;
+
+ /**
+ * 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 = 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 = 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 = XML_MULTI_RELATIONSHIP_MAPPING__FETCH;
+
+ /**
+ * 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 = XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE;
+
+ /**
+ * 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 = 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 = XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY;
+
+ /**
+ * 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 = XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY;
+
+ /**
+ * 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 = 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 = XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToManyImpl <em>Xml Many To Many Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToManyImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlManyToManyImpl()
+ * @generated
+ */
+ public static final int XML_MANY_TO_MANY_IMPL = 33;
+
+ /**
+ * 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_IMPL__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 XML_MANY_TO_MANY_IMPL__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 XML_MANY_TO_MANY_IMPL__FETCH = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
+ * 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_IMPL__JOIN_TABLE = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+
+ /**
+ * 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_IMPL__CASCADE = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3;
+
+ /**
+ * 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_IMPL__MAPPED_BY = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
+
+ /**
+ * 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_IMPL__ORDER_BY = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5;
+
+ /**
+ * 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_IMPL__MAP_KEY = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Xml Many To Many Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY_IMPL_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTransient <em>Xml Transient</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTransient
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTransient()
+ * @generated
+ */
+ public static final int XML_TRANSIENT = 34;
+
+ /**
+ * 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 = 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 = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTransientImpl <em>Xml Transient Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTransientImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTransientImpl()
+ * @generated
+ */
+ public static final int XML_TRANSIENT_IMPL = 35;
+
+ /**
+ * 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_IMPL__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME;
+
+ /**
+ * The number of structural features of the '<em>Xml Transient Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TRANSIENT_IMPL_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverride <em>Xml Association Override</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverride
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAssociationOverride()
+ * @generated
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE = 36;
+
+ /**
+ * 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 = 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_ASSOCIATION_OVERRIDE__NAME = 1;
+
+ /**
+ * 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 = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverrideImpl <em>Xml Association Override Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverrideImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAssociationOverrideImpl()
+ * @generated
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE_IMPL = 37;
+
+ /**
+ * 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_IMPL__JOIN_COLUMNS = XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS;
+
+ /**
+ * 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_IMPL__NAME = XML_ASSOCIATION_OVERRIDE__NAME;
+
+ /**
+ * The number of structural features of the '<em>Xml Association Override Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ASSOCIATION_OVERRIDE_IMPL_FEATURE_COUNT = XML_ASSOCIATION_OVERRIDE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverride <em>Xml Attribute Override</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverride
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAttributeOverride()
+ * @generated
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE = 38;
+
+ /**
+ * 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 = 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_ATTRIBUTE_OVERRIDE__NAME = 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 = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverrideImpl <em>Xml Attribute Override Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverrideImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAttributeOverrideImpl()
+ * @generated
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE_IMPL = 39;
+
+ /**
+ * 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_IMPL__COLUMN = XML_ATTRIBUTE_OVERRIDE__COLUMN;
+
+ /**
+ * 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_IMPL__NAME = XML_ATTRIBUTE_OVERRIDE__NAME;
+
+ /**
+ * The number of structural features of the '<em>Xml Attribute Override Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ATTRIBUTE_OVERRIDE_IMPL_FEATURE_COUNT = XML_ATTRIBUTE_OVERRIDE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.CascadeType <em>Cascade Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.CascadeType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getCascadeType()
+ * @generated
+ */
+ public static final int CASCADE_TYPE = 40;
+
+ /**
+ * 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 = 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 = 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 = 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 = 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 = 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 = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.CascadeTypeImpl <em>Cascade Type Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.CascadeTypeImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getCascadeTypeImpl()
+ * @generated
+ */
+ public static final int CASCADE_TYPE_IMPL = 41;
+
+ /**
+ * 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_IMPL__CASCADE_ALL = CASCADE_TYPE__CASCADE_ALL;
+
+ /**
+ * 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_IMPL__CASCADE_PERSIST = CASCADE_TYPE__CASCADE_PERSIST;
+
+ /**
+ * 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_IMPL__CASCADE_MERGE = CASCADE_TYPE__CASCADE_MERGE;
+
+ /**
+ * 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_IMPL__CASCADE_REMOVE = CASCADE_TYPE__CASCADE_REMOVE;
+
+ /**
+ * 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_IMPL__CASCADE_REFRESH = CASCADE_TYPE__CASCADE_REFRESH;
+
+ /**
+ * The number of structural features of the '<em>Cascade Type Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int CASCADE_TYPE_IMPL_FEATURE_COUNT = CASCADE_TYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedColumn <em>Xml Named Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlNamedColumn()
+ * @generated
+ */
+ public static final int XML_NAMED_COLUMN = 42;
+
+ /**
+ * 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.eclipselink.core.resource.elorm.AbstractXmlNamedColumn <em>Abstract Xml Named Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlNamedColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlNamedColumn()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_NAMED_COLUMN = 43;
+
+ /**
+ * 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.eclipselink.core.resource.elorm.XmlAbstractColumn <em>Xml Abstract Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAbstractColumn()
+ * @generated
+ */
+ public static final int XML_ABSTRACT_COLUMN = 44;
+
+ /**
+ * 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_ABSTRACT_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_ABSTRACT_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_ABSTRACT_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_ABSTRACT_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_ABSTRACT_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_ABSTRACT_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_ABSTRACT_COLUMN__UPDATABLE = XML_NAMED_COLUMN_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Xml Abstract Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ABSTRACT_COLUMN_FEATURE_COUNT = XML_NAMED_COLUMN_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlAbstractColumn <em>Abstract Xml Abstract Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlAbstractColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlAbstractColumn()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_ABSTRACT_COLUMN = 45;
+
+ /**
+ * 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_ABSTRACT_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_ABSTRACT_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_ABSTRACT_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_ABSTRACT_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_ABSTRACT_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_ABSTRACT_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_ABSTRACT_COLUMN__UPDATABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Abstract Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_ABSTRACT_COLUMN_FEATURE_COUNT = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlColumn <em>Xml Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlColumn()
+ * @generated
+ */
+ public static final int XML_COLUMN = 46;
+
+ /**
+ * 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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_COLUMN_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlColumnImpl <em>Xml Column Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlColumnImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlColumnImpl()
+ * @generated
+ */
+ public static final int XML_COLUMN_IMPL = 47;
+
+ /**
+ * 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_IMPL__COLUMN_DEFINITION = ABSTRACT_XML_ABSTRACT_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_IMPL__NAME = ABSTRACT_XML_ABSTRACT_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_IMPL__INSERTABLE = ABSTRACT_XML_ABSTRACT_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_IMPL__NULLABLE = ABSTRACT_XML_ABSTRACT_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_IMPL__TABLE = ABSTRACT_XML_ABSTRACT_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_IMPL__UNIQUE = ABSTRACT_XML_ABSTRACT_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_IMPL__UPDATABLE = ABSTRACT_XML_ABSTRACT_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_IMPL__LENGTH = ABSTRACT_XML_ABSTRACT_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_IMPL__PRECISION = ABSTRACT_XML_ABSTRACT_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_IMPL__SCALE = ABSTRACT_XML_ABSTRACT_COLUMN_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Xml Column Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_COLUMN_IMPL_FEATURE_COUNT = ABSTRACT_XML_ABSTRACT_COLUMN_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.ColumnResult <em>Column Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.ColumnResult
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getColumnResult()
+ * @generated
+ */
+ public static final int COLUMN_RESULT = 48;
+
+ /**
+ * 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.eclipselink.core.resource.elorm.XmlDiscriminatorColumn <em>Xml Discriminator Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlDiscriminatorColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlDiscriminatorColumn()
+ * @generated
+ */
+ public static final int XML_DISCRIMINATOR_COLUMN = 49;
+
+ /**
+ * 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_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_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 XML_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 XML_DISCRIMINATOR_COLUMN__LENGTH = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * 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_NAMED_COLUMN_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListeners <em>Entity Listeners</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListeners
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityListeners()
+ * @generated
+ */
+ public static final int ENTITY_LISTENERS = 50;
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EntityListener <em>Entity Listener</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityListener()
+ * @generated
+ */
+ public static final int ENTITY_LISTENER = 51;
+
+ /**
+ * 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 = 0;
+
+ /**
+ * 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 = 1;
+
+ /**
+ * 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 = 2;
+
+ /**
+ * 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 = 3;
+
+ /**
+ * 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 = 4;
+
+ /**
+ * 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 = 5;
+
+ /**
+ * 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 = 6;
+
+ /**
+ * 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 = 7;
+
+ /**
+ * 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 = 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityResult <em>Entity Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EntityResult
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityResult()
+ * @generated
+ */
+ public static final int ENTITY_RESULT = 52;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EventMethod <em>Event Method</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EventMethod
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEventMethod()
+ * @generated
+ */
+ public static final int EVENT_METHOD = 53;
+
+ /**
+ * 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 = 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 = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.FieldResult <em>Field Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.FieldResult
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getFieldResult()
+ * @generated
+ */
+ public static final int FIELD_RESULT = 54;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGeneratedValue <em>Xml Generated Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGeneratedValue
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlGeneratedValue()
+ * @generated
+ */
+ public static final int XML_GENERATED_VALUE = 55;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGeneratedValueImpl <em>Xml Generated Value Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGeneratedValueImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlGeneratedValueImpl()
+ * @generated
+ */
+ public static final int XML_GENERATED_VALUE_IMPL = 56;
+
+ /**
+ * 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_IMPL__GENERATOR = XML_GENERATED_VALUE__GENERATOR;
+
+ /**
+ * 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_IMPL__STRATEGY = XML_GENERATED_VALUE__STRATEGY;
+
+ /**
+ * The number of structural features of the '<em>Xml Generated Value Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_GENERATED_VALUE_IMPL_FEATURE_COUNT = XML_GENERATED_VALUE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdClass <em>Xml Id Class</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdClass
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlIdClass()
+ * @generated
+ */
+ public static final int XML_ID_CLASS = 57;
+
+ /**
+ * 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_ID_CLASS__CLASS_NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Id Class</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID_CLASS_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Inheritance <em>Inheritance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.Inheritance
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getInheritance()
+ * @generated
+ */
+ public static final int INHERITANCE = 58;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinColumn <em>Xml Join Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinColumn()
+ * @generated
+ */
+ public static final int XML_JOIN_COLUMN = 59;
+
+ /**
+ * 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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_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 = XML_ABSTRACT_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinColumnImpl <em>Xml Join Column Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinColumnImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinColumnImpl()
+ * @generated
+ */
+ public static final int XML_JOIN_COLUMN_IMPL = 60;
+
+ /**
+ * 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_IMPL__COLUMN_DEFINITION = ABSTRACT_XML_ABSTRACT_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_IMPL__NAME = ABSTRACT_XML_ABSTRACT_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_IMPL__INSERTABLE = ABSTRACT_XML_ABSTRACT_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_IMPL__NULLABLE = ABSTRACT_XML_ABSTRACT_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_IMPL__TABLE = ABSTRACT_XML_ABSTRACT_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_IMPL__UNIQUE = ABSTRACT_XML_ABSTRACT_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_IMPL__UPDATABLE = ABSTRACT_XML_ABSTRACT_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_IMPL__REFERENCED_COLUMN_NAME = ABSTRACT_XML_ABSTRACT_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Join Column Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_COLUMN_IMPL_FEATURE_COUNT = ABSTRACT_XML_ABSTRACT_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable <em>Xml Base Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBaseTable()
+ * @generated
+ */
+ public static final int XML_BASE_TABLE = 80;
+
+ /**
+ * 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_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 XML_BASE_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 XML_BASE_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 XML_BASE_TABLE__UNIQUE_CONSTRAINTS = 3;
+
+ /**
+ * The number of structural features of the '<em>Xml Base Table</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASE_TABLE_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinTable <em>Xml Join Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinTable
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinTable()
+ * @generated
+ */
+ public static final int XML_JOIN_TABLE = 61;
+
+ /**
+ * 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 = XML_BASE_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 = XML_BASE_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 = XML_BASE_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 = XML_BASE_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 = XML_BASE_TABLE_FEATURE_COUNT + 0;
+
+ /**
+ * 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 = XML_BASE_TABLE_FEATURE_COUNT + 1;
+
+ /**
+ * 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 = XML_BASE_TABLE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlBaseTable <em>Abstract Xml Base Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlBaseTable
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlBaseTable()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_BASE_TABLE = 79;
+
+ /**
+ * 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_TABLE__NAME = XML_BASE_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_BASE_TABLE__CATALOG = XML_BASE_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_BASE_TABLE__SCHEMA = XML_BASE_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_BASE_TABLE__UNIQUE_CONSTRAINTS = XML_BASE_TABLE__UNIQUE_CONSTRAINTS;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Base Table</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_BASE_TABLE_FEATURE_COUNT = XML_BASE_TABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinTableImpl <em>Xml Join Table Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinTableImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinTableImpl()
+ * @generated
+ */
+ public static final int XML_JOIN_TABLE_IMPL = 62;
+
+ /**
+ * 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_IMPL__NAME = ABSTRACT_XML_BASE_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_IMPL__CATALOG = ABSTRACT_XML_BASE_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_IMPL__SCHEMA = ABSTRACT_XML_BASE_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_IMPL__UNIQUE_CONSTRAINTS = ABSTRACT_XML_BASE_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_IMPL__JOIN_COLUMNS = ABSTRACT_XML_BASE_TABLE_FEATURE_COUNT + 0;
+
+ /**
+ * 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_IMPL__INVERSE_JOIN_COLUMNS = ABSTRACT_XML_BASE_TABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Join Table Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_TABLE_IMPL_FEATURE_COUNT = ABSTRACT_XML_BASE_TABLE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Lob <em>Lob</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.Lob
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getLob()
+ * @generated
+ */
+ public static final int LOB = 63;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.MapKey <em>Map Key</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.MapKey
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getMapKey()
+ * @generated
+ */
+ public static final int MAP_KEY = 64;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.MapKeyImpl <em>Map Key Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.MapKeyImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getMapKeyImpl()
+ * @generated
+ */
+ public static final int MAP_KEY_IMPL = 65;
+
+ /**
+ * 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_IMPL__NAME = MAP_KEY__NAME;
+
+ /**
+ * The number of structural features of the '<em>Map Key Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int MAP_KEY_IMPL_FEATURE_COUNT = MAP_KEY_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlQuery <em>Xml Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlQuery
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlQuery()
+ * @generated
+ */
+ public static final int XML_QUERY = 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_QUERY__NAME = 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 = 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 = 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 = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedNativeQuery <em>Xml Named Native Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedNativeQuery
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlNamedNativeQuery()
+ * @generated
+ */
+ public static final int XML_NAMED_NATIVE_QUERY = 67;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedQuery <em>Xml Named Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedQuery
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlNamedQuery()
+ * @generated
+ */
+ public static final int XML_NAMED_QUERY = 68;
+
+ /**
+ * 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 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 + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PostLoad <em>Post Load</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PostLoad
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPostLoad()
+ * @generated
+ */
+ public static final int POST_LOAD = 69;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PostPersist <em>Post Persist</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PostPersist
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPostPersist()
+ * @generated
+ */
+ public static final int POST_PERSIST = 70;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PostRemove <em>Post Remove</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PostRemove
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPostRemove()
+ * @generated
+ */
+ public static final int POST_REMOVE = 71;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PostUpdate <em>Post Update</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PostUpdate
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPostUpdate()
+ * @generated
+ */
+ public static final int POST_UPDATE = 72;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PrePersist <em>Pre Persist</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PrePersist
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPrePersist()
+ * @generated
+ */
+ public static final int PRE_PERSIST = 73;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PreRemove <em>Pre Remove</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PreRemove
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPreRemove()
+ * @generated
+ */
+ public static final int PRE_REMOVE = 74;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PreUpdate <em>Pre Update</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PreUpdate
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPreUpdate()
+ * @generated
+ */
+ public static final int PRE_UPDATE = 75;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumn <em>Xml Primary Key Join Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlPrimaryKeyJoinColumn()
+ * @generated
+ */
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN = 76;
+
+ /**
+ * 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 = 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 = 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 = 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 = XML_NAMED_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumnImpl <em>Xml Primary Key Join Column Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumnImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlPrimaryKeyJoinColumnImpl()
+ * @generated
+ */
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN_IMPL = 77;
+
+ /**
+ * 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_IMPL__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_IMPL__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_IMPL__REFERENCED_COLUMN_NAME = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Primary Key Join Column Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN_IMPL_FEATURE_COUNT = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlQueryHint <em>Xml Query Hint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlQueryHint
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlQueryHint()
+ * @generated
+ */
+ public static final int XML_QUERY_HINT = 78;
+
+ /**
+ * 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 = 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 = 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 = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTable <em>Xml Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTable
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTable()
+ * @generated
+ */
+ public static final int XML_TABLE = 81;
+
+ /**
+ * 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_BASE_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_BASE_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_BASE_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_BASE_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_BASE_TABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSecondaryTable <em>Xml Secondary Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSecondaryTable
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSecondaryTable()
+ * @generated
+ */
+ public static final int XML_SECONDARY_TABLE = 82;
+
+ /**
+ * 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 = XML_BASE_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 = XML_BASE_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 = XML_BASE_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 = XML_BASE_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 = XML_BASE_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 = XML_BASE_TABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSecondaryTableImpl <em>Xml Secondary Table Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSecondaryTableImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSecondaryTableImpl()
+ * @generated
+ */
+ public static final int XML_SECONDARY_TABLE_IMPL = 83;
+
+ /**
+ * 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_IMPL__NAME = ABSTRACT_XML_BASE_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_IMPL__CATALOG = ABSTRACT_XML_BASE_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_IMPL__SCHEMA = ABSTRACT_XML_BASE_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_IMPL__UNIQUE_CONSTRAINTS = ABSTRACT_XML_BASE_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_IMPL__PRIMARY_KEY_JOIN_COLUMNS = ABSTRACT_XML_BASE_TABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Secondary Table Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SECONDARY_TABLE_IMPL_FEATURE_COUNT = ABSTRACT_XML_BASE_TABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGenerator <em>Xml Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGenerator
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlGenerator()
+ * @generated
+ */
+ public static final int XML_GENERATOR = 84;
+
+ /**
+ * 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 = 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 = 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 = 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 = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSequenceGenerator <em>Xml Sequence Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSequenceGenerator
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSequenceGenerator()
+ * @generated
+ */
+ public static final int XML_SEQUENCE_GENERATOR = 85;
+
+ /**
+ * 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>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 + 0;
+
+ /**
+ * 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 + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSequenceGeneratorImpl <em>Xml Sequence Generator Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSequenceGeneratorImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSequenceGeneratorImpl()
+ * @generated
+ */
+ public static final int XML_SEQUENCE_GENERATOR_IMPL = 86;
+
+ /**
+ * 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_IMPL__NAME = XML_SEQUENCE_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_IMPL__INITIAL_VALUE = XML_SEQUENCE_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_IMPL__ALLOCATION_SIZE = XML_SEQUENCE_GENERATOR__ALLOCATION_SIZE;
+
+ /**
+ * 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_IMPL__SEQUENCE_NAME = XML_SEQUENCE_GENERATOR__SEQUENCE_NAME;
+
+ /**
+ * The number of structural features of the '<em>Xml Sequence Generator Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_SEQUENCE_GENERATOR_IMPL_FEATURE_COUNT = XML_SEQUENCE_GENERATOR_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.SqlResultSetMapping <em>Sql Result Set Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.SqlResultSetMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getSqlResultSetMapping()
+ * @generated
+ */
+ public static final int SQL_RESULT_SET_MAPPING = 87;
+
+ /**
+ * 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 = 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 = 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 = 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 = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGenerator <em>Xml Table Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGenerator
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTableGenerator()
+ * @generated
+ */
+ public static final int XML_TABLE_GENERATOR = 88;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGeneratorImpl <em>Xml Table Generator Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGeneratorImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTableGeneratorImpl()
+ * @generated
+ */
+ public static final int XML_TABLE_GENERATOR_IMPL = 89;
+
+ /**
+ * 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_IMPL__NAME = XML_TABLE_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_IMPL__INITIAL_VALUE = XML_TABLE_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_IMPL__ALLOCATION_SIZE = XML_TABLE_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_IMPL__TABLE = XML_TABLE_GENERATOR__TABLE;
+
+ /**
+ * 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_IMPL__CATALOG = XML_TABLE_GENERATOR__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_GENERATOR_IMPL__SCHEMA = XML_TABLE_GENERATOR__SCHEMA;
+
+ /**
+ * 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_IMPL__PK_COLUMN_NAME = XML_TABLE_GENERATOR__PK_COLUMN_NAME;
+
+ /**
+ * 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_IMPL__VALUE_COLUMN_NAME = XML_TABLE_GENERATOR__VALUE_COLUMN_NAME;
+
+ /**
+ * 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_IMPL__PK_COLUMN_VALUE = XML_TABLE_GENERATOR__PK_COLUMN_VALUE;
+
+ /**
+ * 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_IMPL__UNIQUE_CONSTRAINTS = XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS;
+
+ /**
+ * The number of structural features of the '<em>Xml Table Generator Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TABLE_GENERATOR_IMPL_FEATURE_COUNT = XML_TABLE_GENERATOR_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlUniqueConstraint <em>Xml Unique Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlUniqueConstraint
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlUniqueConstraint()
+ * @generated
+ */
+ public static final int XML_UNIQUE_CONSTRAINT = 90;
+
+ /**
+ * 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 = 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 = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlUniqueConstraintImpl <em>Xml Unique Constraint Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlUniqueConstraintImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlUniqueConstraintImpl()
+ * @generated
+ */
+ public static final int XML_UNIQUE_CONSTRAINT_IMPL = 91;
+
+ /**
+ * 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_IMPL__COLUMN_NAMES = XML_UNIQUE_CONSTRAINT__COLUMN_NAMES;
+
+ /**
+ * The number of structural features of the '<em>Xml Unique Constraint Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_UNIQUE_CONSTRAINT_IMPL_FEATURE_COUNT = XML_UNIQUE_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType <em>Access Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAccessType()
+ * @generated
+ */
+ public static final int ACCESS_TYPE = 92;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.DiscriminatorType <em>Discriminator Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.DiscriminatorType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getDiscriminatorType()
+ * @generated
+ */
+ public static final int DISCRIMINATOR_TYPE = 93;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EnumType <em>Enum Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EnumType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEnumType()
+ * @generated
+ */
+ public static final int ENUM_TYPE = 94;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.FetchType <em>Fetch Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.FetchType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getFetchType()
+ * @generated
+ */
+ public static final int FETCH_TYPE = 95;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.GenerationType <em>Generation Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.GenerationType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getGenerationType()
+ * @generated
+ */
+ public static final int GENERATION_TYPE = 96;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.InheritanceType <em>Inheritance Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.InheritanceType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getInheritanceType()
+ * @generated
+ */
+ public static final int INHERITANCE_TYPE = 97;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.TemporalType <em>Temporal Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.TemporalType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getTemporalType()
+ * @generated
+ */
+ public static final int TEMPORAL_TYPE = 98;
+
+ /**
+ * The meta object id for the '<em>Discriminator Value</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getDiscriminatorValue()
+ * @generated
+ */
+ public static final int DISCRIMINATOR_VALUE = 99;
+
+ /**
+ * The meta object id for the '<em>Enumerated</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.common.util.Enumerator
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEnumerated()
+ * @generated
+ */
+ public static final int ENUMERATED = 100;
+
+ /**
+ * The meta object id for the '<em>Order By</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getOrderBy()
+ * @generated
+ */
+ public static final int ORDER_BY = 101;
+
+ /**
+ * The meta object id for the '<em>Version Type</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getVersionType()
+ * @generated
+ */
+ public static final int VERSION_TYPE = 102;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEntityMappingsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlPersistenceUnitMetadataEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlPersistenceUnitDefaultsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlTypeMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlMappedSuperclassEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEntityEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEmbeddableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass attributesEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAttributeMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlAttributeMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlNullAttributeMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass columnMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlRelationshipMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlMultiRelationshipMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlSingleRelationshipMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlIdEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlIdImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass baseXmlEmbeddedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEmbeddedIdEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEmbeddedIdImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEmbeddedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEmbeddedImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlBasicEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlBasicImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlVersionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlVersionImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlManyToOneEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlManyToOneImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOneToManyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOneToManyImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOneToOneEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOneToOneImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlManyToManyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlManyToManyImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlTransientEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlTransientImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAssociationOverrideEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAssociationOverrideImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAttributeOverrideEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAttributeOverrideImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass cascadeTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass cascadeTypeImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlNamedColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlNamedColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAbstractColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlAbstractColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlColumnImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass columnResultEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlDiscriminatorColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass entityListenersEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass entityListenerEClass = 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 fieldResultEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlGeneratedValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlGeneratedValueImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlIdClassEClass = 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 xmlJoinColumnImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlJoinTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlJoinTableImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lobEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass mapKeyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass mapKeyImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlQueryEClass = 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 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 xmlPrimaryKeyJoinColumnImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlQueryHintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractXmlBaseTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlBaseTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlSecondaryTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlSecondaryTableImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlGeneratorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlSequenceGeneratorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlSequenceGeneratorImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sqlResultSetMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlTableGeneratorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlTableGeneratorImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlUniqueConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlUniqueConstraintImplEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum accessTypeEEnum = 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType discriminatorValueEDataType = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType enumeratedEDataType = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType orderByEDataType = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType versionTypeEDataType = 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private EclipseLinkOrmPackage()
+ {
+ super(eNS_URI, EclipseLinkOrmFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this
+ * model, and for any others upon which it depends. Simple
+ * dependencies are satisfied by calling this method on all
+ * dependent packages before doing anything else. This method drives
+ * initialization for interdependent packages directly, in parallel
+ * with this package, itself.
+ * <p>Of this package and its interdependencies, all packages which
+ * have not yet been registered by their URI values are first created
+ * and registered. The packages are then initialized in two steps:
+ * meta-model objects for all of the packages are created before any
+ * are initialized, since one package's meta-model objects may refer to
+ * those of another.
+ * <p>Invocation of this method will not affect any packages that have
+ * already been initialized.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static EclipseLinkOrmPackage init()
+ {
+ if (isInited) return (EclipseLinkOrmPackage)EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmPackage.eNS_URI);
+
+ // Obtain or create and register package
+ EclipseLinkOrmPackage theEclipseLinkOrmPackage = (EclipseLinkOrmPackage)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof EclipseLinkOrmPackage ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new EclipseLinkOrmPackage());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+ XMLTypePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theEclipseLinkOrmPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theEclipseLinkOrmPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theEclipseLinkOrmPackage.freeze();
+
+ return theEclipseLinkOrmPackage;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntityMappings
+ * @generated
+ */
+ public EClass getXmlEntityMappings()
+ {
+ return xmlEntityMappingsEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getVersion()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EAttribute getXmlEntityMappings_Version()
+ {
+ return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntityMappings#getDescription()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EAttribute getXmlEntityMappings_Description()
+ {
+ return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntityMappings#getPersistenceUnitMetadata()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_PersistenceUnitMetadata()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntityMappings#getPackage()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EAttribute getXmlEntityMappings_Package()
+ {
+ return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntityMappings#getSchema()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EAttribute getXmlEntityMappings_Schema()
+ {
+ return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntityMappings#getCatalog()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EAttribute getXmlEntityMappings_Catalog()
+ {
+ return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getAccess <em>Access</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Access</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getAccess()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EAttribute getXmlEntityMappings_Access()
+ {
+ return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntityMappings#getSequenceGenerators()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_SequenceGenerators()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntityMappings#getTableGenerators()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_TableGenerators()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#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.eclipselink.core.resource.elorm.XmlEntityMappings#getNamedQueries()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_NamedQueries()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#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.eclipselink.core.resource.elorm.XmlEntityMappings#getNamedNativeQueries()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_NamedNativeQueries()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntityMappings#getSqlResultSetMappings()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_SqlResultSetMappings()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntityMappings#getMappedSuperclasses()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_MappedSuperclasses()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntityMappings#getEntities()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_Entities()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntityMappings#getEmbeddables()
+ * @see #getXmlEntityMappings()
+ * @generated
+ */
+ public EReference getXmlEntityMappings_Embeddables()
+ {
+ return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(14);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlPersistenceUnitMetadata
+ * @generated
+ */
+ public EClass getXmlPersistenceUnitMetadata()
+ {
+ return xmlPersistenceUnitMetadataEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults
+ * @generated
+ */
+ public EClass getXmlPersistenceUnitDefaults()
+ {
+ return xmlPersistenceUnitDefaultsEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults#getAccess <em>Access</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Access</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults#getAccess()
+ * @see #getXmlPersistenceUnitDefaults()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnitDefaults_Access()
+ {
+ return (EAttribute)xmlPersistenceUnitDefaultsEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults#isCascadePersist()
+ * @see #getXmlPersistenceUnitDefaults()
+ * @generated
+ */
+ public EAttribute getXmlPersistenceUnitDefaults_CascadePersist()
+ {
+ return (EAttribute)xmlPersistenceUnitDefaultsEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults#getEntityListeners()
+ * @see #getXmlPersistenceUnitDefaults()
+ * @generated
+ */
+ public EReference getXmlPersistenceUnitDefaults_EntityListeners()
+ {
+ return (EReference)xmlPersistenceUnitDefaultsEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.AbstractXmlTypeMapping
+ * @generated
+ */
+ public EClass getAbstractXmlTypeMapping()
+ {
+ return abstractXmlTypeMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#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.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#getClassName()
+ * @see #getAbstractXmlTypeMapping()
+ * @generated
+ */
+ public EAttribute getAbstractXmlTypeMapping_ClassName()
+ {
+ return (EAttribute)abstractXmlTypeMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#getAccess <em>Access</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Access</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#getAccess()
+ * @see #getAbstractXmlTypeMapping()
+ * @generated
+ */
+ public EAttribute getAbstractXmlTypeMapping_Access()
+ {
+ return (EAttribute)abstractXmlTypeMappingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#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.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#getMetadataComplete()
+ * @see #getAbstractXmlTypeMapping()
+ * @generated
+ */
+ public EAttribute getAbstractXmlTypeMapping_MetadataComplete()
+ {
+ return (EAttribute)abstractXmlTypeMappingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#getDescription()
+ * @see #getAbstractXmlTypeMapping()
+ * @generated
+ */
+ public EAttribute getAbstractXmlTypeMapping_Description()
+ {
+ return (EAttribute)abstractXmlTypeMappingEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#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.eclipselink.core.resource.elorm.AbstractXmlTypeMapping#getAttributes()
+ * @see #getAbstractXmlTypeMapping()
+ * @generated
+ */
+ public EReference getAbstractXmlTypeMapping_Attributes()
+ {
+ return (EReference)abstractXmlTypeMappingEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlMappedSuperclass
+ * @generated
+ */
+ public EClass getXmlMappedSuperclass()
+ {
+ return xmlMappedSuperclassEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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.eclipselink.core.resource.elorm.XmlMappedSuperclass#getIdClass()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EReference getXmlMappedSuperclass_IdClass()
+ {
+ return (EReference)xmlMappedSuperclassEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlMappedSuperclass#isExcludeDefaultListeners()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EAttribute getXmlMappedSuperclass_ExcludeDefaultListeners()
+ {
+ return (EAttribute)xmlMappedSuperclassEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlMappedSuperclass#isExcludeSuperclassListeners()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EAttribute getXmlMappedSuperclass_ExcludeSuperclassListeners()
+ {
+ return (EAttribute)xmlMappedSuperclassEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlMappedSuperclass#getEntityListeners()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EReference getXmlMappedSuperclass_EntityListeners()
+ {
+ return (EReference)xmlMappedSuperclassEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPrePersist()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EReference getXmlMappedSuperclass_PrePersist()
+ {
+ return (EReference)xmlMappedSuperclassEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPostPersist()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EReference getXmlMappedSuperclass_PostPersist()
+ {
+ return (EReference)xmlMappedSuperclassEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPreRemove()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EReference getXmlMappedSuperclass_PreRemove()
+ {
+ return (EReference)xmlMappedSuperclassEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPostRemove()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EReference getXmlMappedSuperclass_PostRemove()
+ {
+ return (EReference)xmlMappedSuperclassEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPreUpdate()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EReference getXmlMappedSuperclass_PreUpdate()
+ {
+ return (EReference)xmlMappedSuperclassEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPostUpdate()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EReference getXmlMappedSuperclass_PostUpdate()
+ {
+ return (EReference)xmlMappedSuperclassEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPostLoad()
+ * @see #getXmlMappedSuperclass()
+ * @generated
+ */
+ public EReference getXmlMappedSuperclass_PostLoad()
+ {
+ return (EReference)xmlMappedSuperclassEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntity
+ * @generated
+ */
+ public EClass getXmlEntity()
+ {
+ return xmlEntityEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getIdClass()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_IdClass()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntity#getInheritance()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_Inheritance()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntity#getDiscriminatorValue()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EAttribute getXmlEntity_DiscriminatorValue()
+ {
+ return (EAttribute)xmlEntityEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntity#getDiscriminatorColumn()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_DiscriminatorColumn()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getSequenceGenerator()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_SequenceGenerator()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getTableGenerator()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_TableGenerator()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getNamedQueries()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_NamedQueries()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getNamedNativeQueries()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_NamedNativeQueries()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntity#getSqlResultSetMappings()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_SqlResultSetMappings()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntity#isExcludeDefaultListeners()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EAttribute getXmlEntity_ExcludeDefaultListeners()
+ {
+ return (EAttribute)xmlEntityEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntity#isExcludeSuperclassListeners()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EAttribute getXmlEntity_ExcludeSuperclassListeners()
+ {
+ return (EAttribute)xmlEntityEClass.getEStructuralFeatures().get(14);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEntity#getEntityListeners()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_EntityListeners()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(15);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getPrePersist()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_PrePersist()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(16);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getPostPersist()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_PostPersist()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(17);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getPreRemove()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_PreRemove()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(18);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getPostRemove()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_PostRemove()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(19);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getPreUpdate()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_PreUpdate()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(20);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getPostUpdate()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_PostUpdate()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(21);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getPostLoad()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_PostLoad()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(22);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getAttributeOverrides()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_AttributeOverrides()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(23);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#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.eclipselink.core.resource.elorm.XmlEntity#getAssociationOverrides()
+ * @see #getXmlEntity()
+ * @generated
+ */
+ public EReference getXmlEntity_AssociationOverrides()
+ {
+ return (EReference)xmlEntityEClass.getEStructuralFeatures().get(24);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEmbeddable
+ * @generated
+ */
+ public EClass getXmlEmbeddable()
+ {
+ return xmlEmbeddableEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes <em>Attributes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Attributes</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes
+ * @generated
+ */
+ public EClass getAttributes()
+ {
+ return attributesEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlAttributeMapping
+ * @generated
+ */
+ public EClass getXmlAttributeMapping()
+ {
+ return xmlAttributeMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.AbstractXmlAttributeMapping
+ * @generated
+ */
+ public EClass getAbstractXmlAttributeMapping()
+ {
+ return abstractXmlAttributeMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlNullAttributeMapping
+ * @generated
+ */
+ public EClass getXmlNullAttributeMapping()
+ {
+ return xmlNullAttributeMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.ColumnMapping
+ * @generated
+ */
+ public EClass getColumnMapping()
+ {
+ return columnMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlRelationshipMapping <em>Xml Relationship Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Relationship Mapping</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping
+ * @generated
+ */
+ public EClass getXmlRelationshipMapping()
+ {
+ return xmlRelationshipMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping#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.eclipselink.core.resource.elorm.XmlRelationshipMapping#getTargetEntity()
+ * @see #getXmlRelationshipMapping()
+ * @generated
+ */
+ public EAttribute getXmlRelationshipMapping_TargetEntity()
+ {
+ return (EAttribute)xmlRelationshipMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping#getFetch <em>Fetch</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fetch</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping#getFetch()
+ * @see #getXmlRelationshipMapping()
+ * @generated
+ */
+ public EAttribute getXmlRelationshipMapping_Fetch()
+ {
+ return (EAttribute)xmlRelationshipMappingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping#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.eclipselink.core.resource.elorm.XmlRelationshipMapping#getJoinTable()
+ * @see #getXmlRelationshipMapping()
+ * @generated
+ */
+ public EReference getXmlRelationshipMapping_JoinTable()
+ {
+ return (EReference)xmlRelationshipMappingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping#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.eclipselink.core.resource.elorm.XmlRelationshipMapping#getCascade()
+ * @see #getXmlRelationshipMapping()
+ * @generated
+ */
+ public EReference getXmlRelationshipMapping_Cascade()
+ {
+ return (EReference)xmlRelationshipMappingEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping <em>Xml Multi Relationship Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Multi Relationship Mapping</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping
+ * @generated
+ */
+ public EClass getXmlMultiRelationshipMapping()
+ {
+ return xmlMultiRelationshipMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping#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.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping#getMappedBy()
+ * @see #getXmlMultiRelationshipMapping()
+ * @generated
+ */
+ public EAttribute getXmlMultiRelationshipMapping_MappedBy()
+ {
+ return (EAttribute)xmlMultiRelationshipMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping#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.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping#getOrderBy()
+ * @see #getXmlMultiRelationshipMapping()
+ * @generated
+ */
+ public EAttribute getXmlMultiRelationshipMapping_OrderBy()
+ {
+ return (EAttribute)xmlMultiRelationshipMappingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping#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.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping#getMapKey()
+ * @see #getXmlMultiRelationshipMapping()
+ * @generated
+ */
+ public EReference getXmlMultiRelationshipMapping_MapKey()
+ {
+ return (EReference)xmlMultiRelationshipMappingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSingleRelationshipMapping <em>Xml Single Relationship Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Single Relationship Mapping</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSingleRelationshipMapping
+ * @generated
+ */
+ public EClass getXmlSingleRelationshipMapping()
+ {
+ return xmlSingleRelationshipMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSingleRelationshipMapping#getOptional <em>Optional</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Optional</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSingleRelationshipMapping#getOptional()
+ * @see #getXmlSingleRelationshipMapping()
+ * @generated
+ */
+ public EAttribute getXmlSingleRelationshipMapping_Optional()
+ {
+ return (EAttribute)xmlSingleRelationshipMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSingleRelationshipMapping#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.eclipselink.core.resource.elorm.XmlSingleRelationshipMapping#getJoinColumns()
+ * @see #getXmlSingleRelationshipMapping()
+ * @generated
+ */
+ public EReference getXmlSingleRelationshipMapping_JoinColumns()
+ {
+ return (EReference)xmlSingleRelationshipMappingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlId
+ * @generated
+ */
+ public EClass getXmlId()
+ {
+ return xmlIdEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlId#getGeneratedValue()
+ * @see #getXmlId()
+ * @generated
+ */
+ public EReference getXmlId_GeneratedValue()
+ {
+ return (EReference)xmlIdEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlId#getTemporal <em>Temporal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Temporal</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlId#getTemporal()
+ * @see #getXmlId()
+ * @generated
+ */
+ public EAttribute getXmlId_Temporal()
+ {
+ return (EAttribute)xmlIdEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlId#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.eclipselink.core.resource.elorm.XmlId#getTableGenerator()
+ * @see #getXmlId()
+ * @generated
+ */
+ public EReference getXmlId_TableGenerator()
+ {
+ return (EReference)xmlIdEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlId#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.eclipselink.core.resource.elorm.XmlId#getSequenceGenerator()
+ * @see #getXmlId()
+ * @generated
+ */
+ public EReference getXmlId_SequenceGenerator()
+ {
+ return (EReference)xmlIdEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdImpl <em>Xml Id Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Id Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdImpl
+ * @generated
+ */
+ public EClass getXmlIdImpl()
+ {
+ return xmlIdImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.BaseXmlEmbedded <em>Base Xml Embedded</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Base Xml Embedded</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.BaseXmlEmbedded
+ * @generated
+ */
+ public EClass getBaseXmlEmbedded()
+ {
+ return baseXmlEmbeddedEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.BaseXmlEmbedded#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.eclipselink.core.resource.elorm.BaseXmlEmbedded#getAttributeOverrides()
+ * @see #getBaseXmlEmbedded()
+ * @generated
+ */
+ public EReference getBaseXmlEmbedded_AttributeOverrides()
+ {
+ return (EReference)baseXmlEmbeddedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEmbeddedId
+ * @generated
+ */
+ public EClass getXmlEmbeddedId()
+ {
+ return xmlEmbeddedIdEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedIdImpl <em>Xml Embedded Id Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Embedded Id Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedIdImpl
+ * @generated
+ */
+ public EClass getXmlEmbeddedIdImpl()
+ {
+ return xmlEmbeddedIdImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlEmbedded
+ * @generated
+ */
+ public EClass getXmlEmbedded()
+ {
+ return xmlEmbeddedEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedImpl <em>Xml Embedded Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Embedded Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedImpl
+ * @generated
+ */
+ public EClass getXmlEmbeddedImpl()
+ {
+ return xmlEmbeddedImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlBasic
+ * @generated
+ */
+ public EClass getXmlBasic()
+ {
+ return xmlBasicEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlBasic#getOptional()
+ * @see #getXmlBasic()
+ * @generated
+ */
+ public EAttribute getXmlBasic_Optional()
+ {
+ return (EAttribute)xmlBasicEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic#isLob <em>Lob</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Lob</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic#isLob()
+ * @see #getXmlBasic()
+ * @generated
+ */
+ public EAttribute getXmlBasic_Lob()
+ {
+ return (EAttribute)xmlBasicEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic#getTemporal <em>Temporal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Temporal</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic#getTemporal()
+ * @see #getXmlBasic()
+ * @generated
+ */
+ public EAttribute getXmlBasic_Temporal()
+ {
+ return (EAttribute)xmlBasicEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic#getEnumerated <em>Enumerated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Enumerated</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic#getEnumerated()
+ * @see #getXmlBasic()
+ * @generated
+ */
+ public EAttribute getXmlBasic_Enumerated()
+ {
+ return (EAttribute)xmlBasicEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasicImpl <em>Xml Basic Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Basic Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasicImpl
+ * @generated
+ */
+ public EClass getXmlBasicImpl()
+ {
+ return xmlBasicImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlVersion
+ * @generated
+ */
+ public EClass getXmlVersion()
+ {
+ return xmlVersionEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersion#getTemporal <em>Temporal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Temporal</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersion#getTemporal()
+ * @see #getXmlVersion()
+ * @generated
+ */
+ public EAttribute getXmlVersion_Temporal()
+ {
+ return (EAttribute)xmlVersionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersionImpl <em>Xml Version Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Version Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersionImpl
+ * @generated
+ */
+ public EClass getXmlVersionImpl()
+ {
+ return xmlVersionImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlManyToOne
+ * @generated
+ */
+ public EClass getXmlManyToOne()
+ {
+ return xmlManyToOneEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToOneImpl <em>Xml Many To One Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Many To One Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToOneImpl
+ * @generated
+ */
+ public EClass getXmlManyToOneImpl()
+ {
+ return xmlManyToOneImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlOneToMany
+ * @generated
+ */
+ public EClass getXmlOneToMany()
+ {
+ return xmlOneToManyEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToMany#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.eclipselink.core.resource.elorm.XmlOneToMany#getJoinColumns()
+ * @see #getXmlOneToMany()
+ * @generated
+ */
+ public EReference getXmlOneToMany_JoinColumns()
+ {
+ return (EReference)xmlOneToManyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToManyImpl <em>Xml One To Many Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml One To Many Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToManyImpl
+ * @generated
+ */
+ public EClass getXmlOneToManyImpl()
+ {
+ return xmlOneToManyImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlOneToOne
+ * @generated
+ */
+ public EClass getXmlOneToOne()
+ {
+ return xmlOneToOneEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOne#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.eclipselink.core.resource.elorm.XmlOneToOne#getMappedBy()
+ * @see #getXmlOneToOne()
+ * @generated
+ */
+ public EAttribute getXmlOneToOne_MappedBy()
+ {
+ return (EAttribute)xmlOneToOneEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOne#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.eclipselink.core.resource.elorm.XmlOneToOne#getPrimaryKeyJoinColumns()
+ * @see #getXmlOneToOne()
+ * @generated
+ */
+ public EReference getXmlOneToOne_PrimaryKeyJoinColumns()
+ {
+ return (EReference)xmlOneToOneEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOneImpl <em>Xml One To One Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml One To One Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOneImpl
+ * @generated
+ */
+ public EClass getXmlOneToOneImpl()
+ {
+ return xmlOneToOneImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlManyToMany
+ * @generated
+ */
+ public EClass getXmlManyToMany()
+ {
+ return xmlManyToManyEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToManyImpl <em>Xml Many To Many Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Many To Many Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToManyImpl
+ * @generated
+ */
+ public EClass getXmlManyToManyImpl()
+ {
+ return xmlManyToManyImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlTransient
+ * @generated
+ */
+ public EClass getXmlTransient()
+ {
+ return xmlTransientEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTransientImpl <em>Xml Transient Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Transient Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTransientImpl
+ * @generated
+ */
+ public EClass getXmlTransientImpl()
+ {
+ return xmlTransientImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlAssociationOverride
+ * @generated
+ */
+ public EClass getXmlAssociationOverride()
+ {
+ return xmlAssociationOverrideEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverride#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.eclipselink.core.resource.elorm.XmlAssociationOverride#getJoinColumns()
+ * @see #getXmlAssociationOverride()
+ * @generated
+ */
+ public EReference getXmlAssociationOverride_JoinColumns()
+ {
+ return (EReference)xmlAssociationOverrideEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverride#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverride#getName()
+ * @see #getXmlAssociationOverride()
+ * @generated
+ */
+ public EAttribute getXmlAssociationOverride_Name()
+ {
+ return (EAttribute)xmlAssociationOverrideEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverrideImpl <em>Xml Association Override Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Association Override Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverrideImpl
+ * @generated
+ */
+ public EClass getXmlAssociationOverrideImpl()
+ {
+ return xmlAssociationOverrideImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlAttributeOverride
+ * @generated
+ */
+ public EClass getXmlAttributeOverride()
+ {
+ return xmlAttributeOverrideEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlAttributeOverride#getColumn()
+ * @see #getXmlAttributeOverride()
+ * @generated
+ */
+ public EReference getXmlAttributeOverride_Column()
+ {
+ return (EReference)xmlAttributeOverrideEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverride#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverride#getName()
+ * @see #getXmlAttributeOverride()
+ * @generated
+ */
+ public EAttribute getXmlAttributeOverride_Name()
+ {
+ return (EAttribute)xmlAttributeOverrideEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverrideImpl <em>Xml Attribute Override Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Attribute Override Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverrideImpl
+ * @generated
+ */
+ public EClass getXmlAttributeOverrideImpl()
+ {
+ return xmlAttributeOverrideImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.CascadeType
+ * @generated
+ */
+ public EClass getCascadeType()
+ {
+ return cascadeTypeEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.CascadeTypeImpl <em>Cascade Type Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Cascade Type Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.CascadeTypeImpl
+ * @generated
+ */
+ public EClass getCascadeTypeImpl()
+ {
+ return cascadeTypeImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlNamedColumn
+ * @generated
+ */
+ public EClass getXmlNamedColumn()
+ {
+ return xmlNamedColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.AbstractXmlNamedColumn
+ * @generated
+ */
+ public EClass getAbstractXmlNamedColumn()
+ {
+ return abstractXmlNamedColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn <em>Xml Abstract Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Abstract Column</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn
+ * @generated
+ */
+ public EClass getXmlAbstractColumn()
+ {
+ return xmlAbstractColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getInsertable <em>Insertable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Insertable</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getInsertable()
+ * @see #getXmlAbstractColumn()
+ * @generated
+ */
+ public EAttribute getXmlAbstractColumn_Insertable()
+ {
+ return (EAttribute)xmlAbstractColumnEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getNullable <em>Nullable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nullable</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getNullable()
+ * @see #getXmlAbstractColumn()
+ * @generated
+ */
+ public EAttribute getXmlAbstractColumn_Nullable()
+ {
+ return (EAttribute)xmlAbstractColumnEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getTable <em>Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Table</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getTable()
+ * @see #getXmlAbstractColumn()
+ * @generated
+ */
+ public EAttribute getXmlAbstractColumn_Table()
+ {
+ return (EAttribute)xmlAbstractColumnEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getUnique <em>Unique</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unique</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getUnique()
+ * @see #getXmlAbstractColumn()
+ * @generated
+ */
+ public EAttribute getXmlAbstractColumn_Unique()
+ {
+ return (EAttribute)xmlAbstractColumnEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getUpdatable <em>Updatable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Updatable</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getUpdatable()
+ * @see #getXmlAbstractColumn()
+ * @generated
+ */
+ public EAttribute getXmlAbstractColumn_Updatable()
+ {
+ return (EAttribute)xmlAbstractColumnEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlAbstractColumn <em>Abstract Xml Abstract Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Abstract Column</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlAbstractColumn
+ * @generated
+ */
+ public EClass getAbstractXmlAbstractColumn()
+ {
+ return abstractXmlAbstractColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlColumn
+ * @generated
+ */
+ public EClass getXmlColumn()
+ {
+ return xmlColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlColumnImpl <em>Xml Column Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Column Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlColumnImpl
+ * @generated
+ */
+ public EClass getXmlColumnImpl()
+ {
+ return xmlColumnImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.ColumnResult
+ * @generated
+ */
+ public EClass getColumnResult()
+ {
+ return columnResultEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlDiscriminatorColumn
+ * @generated
+ */
+ public EClass getXmlDiscriminatorColumn()
+ {
+ return xmlDiscriminatorColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlDiscriminatorColumn#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.eclipselink.core.resource.elorm.XmlDiscriminatorColumn#getDiscriminatorType()
+ * @see #getXmlDiscriminatorColumn()
+ * @generated
+ */
+ public EAttribute getXmlDiscriminatorColumn_DiscriminatorType()
+ {
+ return (EAttribute)xmlDiscriminatorColumnEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlDiscriminatorColumn#getLength <em>Length</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Length</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlDiscriminatorColumn#getLength()
+ * @see #getXmlDiscriminatorColumn()
+ * @generated
+ */
+ public EAttribute getXmlDiscriminatorColumn_Length()
+ {
+ return (EAttribute)xmlDiscriminatorColumnEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EntityListeners
+ * @generated
+ */
+ public EClass getEntityListeners()
+ {
+ return entityListenersEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EntityListener
+ * @generated
+ */
+ public EClass getEntityListener()
+ {
+ return entityListenerEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EntityListener#getClassName()
+ * @see #getEntityListener()
+ * @generated
+ */
+ public EAttribute getEntityListener_ClassName()
+ {
+ return (EAttribute)entityListenerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#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.eclipselink.core.resource.elorm.EntityListener#getPrePersist()
+ * @see #getEntityListener()
+ * @generated
+ */
+ public EReference getEntityListener_PrePersist()
+ {
+ return (EReference)entityListenerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#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.eclipselink.core.resource.elorm.EntityListener#getPostPersist()
+ * @see #getEntityListener()
+ * @generated
+ */
+ public EReference getEntityListener_PostPersist()
+ {
+ return (EReference)entityListenerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#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.eclipselink.core.resource.elorm.EntityListener#getPreRemove()
+ * @see #getEntityListener()
+ * @generated
+ */
+ public EReference getEntityListener_PreRemove()
+ {
+ return (EReference)entityListenerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#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.eclipselink.core.resource.elorm.EntityListener#getPostRemove()
+ * @see #getEntityListener()
+ * @generated
+ */
+ public EReference getEntityListener_PostRemove()
+ {
+ return (EReference)entityListenerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#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.eclipselink.core.resource.elorm.EntityListener#getPreUpdate()
+ * @see #getEntityListener()
+ * @generated
+ */
+ public EReference getEntityListener_PreUpdate()
+ {
+ return (EReference)entityListenerEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#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.eclipselink.core.resource.elorm.EntityListener#getPostUpdate()
+ * @see #getEntityListener()
+ * @generated
+ */
+ public EReference getEntityListener_PostUpdate()
+ {
+ return (EReference)entityListenerEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#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.eclipselink.core.resource.elorm.EntityListener#getPostLoad()
+ * @see #getEntityListener()
+ * @generated
+ */
+ public EReference getEntityListener_PostLoad()
+ {
+ return (EReference)entityListenerEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EntityResult
+ * @generated
+ */
+ public EClass getEntityResult()
+ {
+ return entityResultEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EventMethod
+ * @generated
+ */
+ public EClass getEventMethod()
+ {
+ return eventMethodEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.FieldResult
+ * @generated
+ */
+ public EClass getFieldResult()
+ {
+ return fieldResultEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlGeneratedValue
+ * @generated
+ */
+ public EClass getXmlGeneratedValue()
+ {
+ return xmlGeneratedValueEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlGeneratedValueImpl <em>Xml Generated Value Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Generated Value Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGeneratedValueImpl
+ * @generated
+ */
+ public EClass getXmlGeneratedValueImpl()
+ {
+ return xmlGeneratedValueImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdClass <em>Xml Id Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Id Class</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdClass
+ * @generated
+ */
+ public EClass getXmlIdClass()
+ {
+ return xmlIdClassEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdClass#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.eclipselink.core.resource.elorm.XmlIdClass#getClassName()
+ * @see #getXmlIdClass()
+ * @generated
+ */
+ public EAttribute getXmlIdClass_ClassName()
+ {
+ return (EAttribute)xmlIdClassEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Inheritance <em>Inheritance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Inheritance</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.Inheritance
+ * @generated
+ */
+ public EClass getInheritance()
+ {
+ return inheritanceEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlJoinColumn
+ * @generated
+ */
+ public EClass getXmlJoinColumn()
+ {
+ return xmlJoinColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinColumn#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.eclipselink.core.resource.elorm.XmlJoinColumn#getReferencedColumnName()
+ * @see #getXmlJoinColumn()
+ * @generated
+ */
+ public EAttribute getXmlJoinColumn_ReferencedColumnName()
+ {
+ return (EAttribute)xmlJoinColumnEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinColumnImpl <em>Xml Join Column Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Join Column Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinColumnImpl
+ * @generated
+ */
+ public EClass getXmlJoinColumnImpl()
+ {
+ return xmlJoinColumnImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlJoinTable
+ * @generated
+ */
+ public EClass getXmlJoinTable()
+ {
+ return xmlJoinTableEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinTable#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.eclipselink.core.resource.elorm.XmlJoinTable#getJoinColumns()
+ * @see #getXmlJoinTable()
+ * @generated
+ */
+ public EReference getXmlJoinTable_JoinColumns()
+ {
+ return (EReference)xmlJoinTableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlJoinTable#getInverseJoinColumns()
+ * @see #getXmlJoinTable()
+ * @generated
+ */
+ public EReference getXmlJoinTable_InverseJoinColumns()
+ {
+ return (EReference)xmlJoinTableEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinTableImpl <em>Xml Join Table Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Join Table Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinTableImpl
+ * @generated
+ */
+ public EClass getXmlJoinTableImpl()
+ {
+ return xmlJoinTableImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Lob <em>Lob</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lob</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.Lob
+ * @generated
+ */
+ public EClass getLob()
+ {
+ return lobEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.MapKey
+ * @generated
+ */
+ public EClass getMapKey()
+ {
+ return mapKeyEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.MapKeyImpl <em>Map Key Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Map Key Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.MapKeyImpl
+ * @generated
+ */
+ public EClass getMapKeyImpl()
+ {
+ return mapKeyImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlQuery
+ * @generated
+ */
+ public EClass getXmlQuery()
+ {
+ return xmlQueryEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlNamedNativeQuery
+ * @generated
+ */
+ public EClass getXmlNamedNativeQuery()
+ {
+ return xmlNamedNativeQueryEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlNamedQuery
+ * @generated
+ */
+ public EClass getXmlNamedQuery()
+ {
+ return xmlNamedQueryEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.PostLoad
+ * @generated
+ */
+ public EClass getPostLoad()
+ {
+ return postLoadEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.PostPersist
+ * @generated
+ */
+ public EClass getPostPersist()
+ {
+ return postPersistEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.PostRemove
+ * @generated
+ */
+ public EClass getPostRemove()
+ {
+ return postRemoveEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.PostUpdate
+ * @generated
+ */
+ public EClass getPostUpdate()
+ {
+ return postUpdateEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.PrePersist
+ * @generated
+ */
+ public EClass getPrePersist()
+ {
+ return prePersistEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.PreRemove
+ * @generated
+ */
+ public EClass getPreRemove()
+ {
+ return preRemoveEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.PreUpdate
+ * @generated
+ */
+ public EClass getPreUpdate()
+ {
+ return preUpdateEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumn
+ * @generated
+ */
+ public EClass getXmlPrimaryKeyJoinColumn()
+ {
+ return xmlPrimaryKeyJoinColumnEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumn#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.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumn#getReferencedColumnName()
+ * @see #getXmlPrimaryKeyJoinColumn()
+ * @generated
+ */
+ public EAttribute getXmlPrimaryKeyJoinColumn_ReferencedColumnName()
+ {
+ return (EAttribute)xmlPrimaryKeyJoinColumnEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumnImpl <em>Xml Primary Key Join Column Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Primary Key Join Column Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumnImpl
+ * @generated
+ */
+ public EClass getXmlPrimaryKeyJoinColumnImpl()
+ {
+ return xmlPrimaryKeyJoinColumnImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlQueryHint
+ * @generated
+ */
+ public EClass getXmlQueryHint()
+ {
+ return xmlQueryHintEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.AbstractXmlBaseTable <em>Abstract Xml Base Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Base Table</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlBaseTable
+ * @generated
+ */
+ public EClass getAbstractXmlBaseTable()
+ {
+ return abstractXmlBaseTableEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable <em>Xml Base Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Base Table</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable
+ * @generated
+ */
+ public EClass getXmlBaseTable()
+ {
+ return xmlBaseTableEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#getName()
+ * @see #getXmlBaseTable()
+ * @generated
+ */
+ public EAttribute getXmlBaseTable_Name()
+ {
+ return (EAttribute)xmlBaseTableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#getCatalog <em>Catalog</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Catalog</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#getCatalog()
+ * @see #getXmlBaseTable()
+ * @generated
+ */
+ public EAttribute getXmlBaseTable_Catalog()
+ {
+ return (EAttribute)xmlBaseTableEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#getSchema <em>Schema</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Schema</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#getSchema()
+ * @see #getXmlBaseTable()
+ * @generated
+ */
+ public EAttribute getXmlBaseTable_Schema()
+ {
+ return (EAttribute)xmlBaseTableEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#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.eclipselink.core.resource.elorm.XmlBaseTable#getUniqueConstraints()
+ * @see #getXmlBaseTable()
+ * @generated
+ */
+ public EReference getXmlBaseTable_UniqueConstraints()
+ {
+ return (EReference)xmlBaseTableEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlTable
+ * @generated
+ */
+ public EClass getXmlTable()
+ {
+ return xmlTableEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlSecondaryTable
+ * @generated
+ */
+ public EClass getXmlSecondaryTable()
+ {
+ return xmlSecondaryTableEClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlSecondaryTableImpl <em>Xml Secondary Table Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Secondary Table Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSecondaryTableImpl
+ * @generated
+ */
+ public EClass getXmlSecondaryTableImpl()
+ {
+ return xmlSecondaryTableImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlGenerator
+ * @generated
+ */
+ public EClass getXmlGenerator()
+ {
+ return xmlGeneratorEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlSequenceGenerator
+ * @generated
+ */
+ public EClass getXmlSequenceGenerator()
+ {
+ return xmlSequenceGeneratorEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlSequenceGeneratorImpl <em>Xml Sequence Generator Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Sequence Generator Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSequenceGeneratorImpl
+ * @generated
+ */
+ public EClass getXmlSequenceGeneratorImpl()
+ {
+ return xmlSequenceGeneratorImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.SqlResultSetMapping
+ * @generated
+ */
+ public EClass getSqlResultSetMapping()
+ {
+ return sqlResultSetMappingEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlTableGenerator
+ * @generated
+ */
+ public EClass getXmlTableGenerator()
+ {
+ return xmlTableGeneratorEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlTableGeneratorImpl <em>Xml Table Generator Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Table Generator Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGeneratorImpl
+ * @generated
+ */
+ public EClass getXmlTableGeneratorImpl()
+ {
+ return xmlTableGeneratorImplEClass;
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlUniqueConstraint
+ * @generated
+ */
+ public EClass getXmlUniqueConstraint()
+ {
+ return xmlUniqueConstraintEClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.XmlUniqueConstraintImpl <em>Xml Unique Constraint Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Unique Constraint Impl</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlUniqueConstraintImpl
+ * @generated
+ */
+ public EClass getXmlUniqueConstraintImpl()
+ {
+ return xmlUniqueConstraintImplEClass;
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType <em>Access Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Access Type</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType
+ * @generated
+ */
+ public EEnum getAccessType()
+ {
+ return accessTypeEEnum;
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.DiscriminatorType
+ * @generated
+ */
+ public EEnum getDiscriminatorType()
+ {
+ return discriminatorTypeEEnum;
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EnumType
+ * @generated
+ */
+ public EEnum getEnumType()
+ {
+ return enumTypeEEnum;
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.FetchType
+ * @generated
+ */
+ public EEnum getFetchType()
+ {
+ return fetchTypeEEnum;
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.GenerationType
+ * @generated
+ */
+ public EEnum getGenerationType()
+ {
+ return generationTypeEEnum;
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.InheritanceType
+ * @generated
+ */
+ public EEnum getInheritanceType()
+ {
+ return inheritanceTypeEEnum;
+ }
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.TemporalType
+ * @generated
+ */
+ public EEnum getTemporalType()
+ {
+ return temporalTypeEEnum;
+ }
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>Discriminator Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Discriminator Value</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * @generated
+ */
+ public EDataType getDiscriminatorValue()
+ {
+ return discriminatorValueEDataType;
+ }
+
+ /**
+ * Returns the meta object for data type '{@link org.eclipse.emf.common.util.Enumerator <em>Enumerated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Enumerated</em>'.
+ * @see org.eclipse.emf.common.util.Enumerator
+ * @model instanceClass="org.eclipse.emf.common.util.Enumerator"
+ * @generated
+ */
+ public EDataType getEnumerated()
+ {
+ return enumeratedEDataType;
+ }
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>Order By</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Order By</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * @generated
+ */
+ public EDataType getOrderBy()
+ {
+ return orderByEDataType;
+ }
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>Version Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Version Type</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * @generated
+ */
+ public EDataType getVersionType()
+ {
+ return versionTypeEDataType;
+ }
+
+ /**
+ * 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 EclipseLinkOrmFactory getEclipseLinkOrmFactory()
+ {
+ return (EclipseLinkOrmFactory)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
+ xmlEntityMappingsEClass = createEClass(XML_ENTITY_MAPPINGS);
+ createEAttribute(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__VERSION);
+ 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);
+ createEAttribute(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__ACCESS);
+ createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS);
+ createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__TABLE_GENERATORS);
+ createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__NAMED_QUERIES);
+ createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES);
+ 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);
+
+ 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);
+
+ 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__ACCESS);
+ createEAttribute(xmlPersistenceUnitDefaultsEClass, XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST);
+ createEReference(xmlPersistenceUnitDefaultsEClass, XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS);
+
+ abstractXmlTypeMappingEClass = createEClass(ABSTRACT_XML_TYPE_MAPPING);
+ createEAttribute(abstractXmlTypeMappingEClass, ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME);
+ createEAttribute(abstractXmlTypeMappingEClass, ABSTRACT_XML_TYPE_MAPPING__ACCESS);
+ createEAttribute(abstractXmlTypeMappingEClass, ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE);
+ createEAttribute(abstractXmlTypeMappingEClass, ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION);
+ createEReference(abstractXmlTypeMappingEClass, ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES);
+
+ xmlMappedSuperclassEClass = createEClass(XML_MAPPED_SUPERCLASS);
+ createEReference(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__ID_CLASS);
+ createEAttribute(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS);
+ createEAttribute(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS);
+ createEReference(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS);
+ createEReference(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__PRE_PERSIST);
+ createEReference(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__POST_PERSIST);
+ createEReference(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__PRE_REMOVE);
+ createEReference(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__POST_REMOVE);
+ createEReference(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__PRE_UPDATE);
+ createEReference(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__POST_UPDATE);
+ createEReference(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__POST_LOAD);
+
+ 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__ID_CLASS);
+ createEReference(xmlEntityEClass, XML_ENTITY__INHERITANCE);
+ createEAttribute(xmlEntityEClass, XML_ENTITY__DISCRIMINATOR_VALUE);
+ createEReference(xmlEntityEClass, XML_ENTITY__DISCRIMINATOR_COLUMN);
+ createEReference(xmlEntityEClass, XML_ENTITY__SEQUENCE_GENERATOR);
+ createEReference(xmlEntityEClass, XML_ENTITY__TABLE_GENERATOR);
+ createEReference(xmlEntityEClass, XML_ENTITY__NAMED_QUERIES);
+ createEReference(xmlEntityEClass, XML_ENTITY__NAMED_NATIVE_QUERIES);
+ 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);
+ createEReference(xmlEntityEClass, XML_ENTITY__PRE_PERSIST);
+ createEReference(xmlEntityEClass, XML_ENTITY__POST_PERSIST);
+ createEReference(xmlEntityEClass, XML_ENTITY__PRE_REMOVE);
+ createEReference(xmlEntityEClass, XML_ENTITY__POST_REMOVE);
+ createEReference(xmlEntityEClass, XML_ENTITY__PRE_UPDATE);
+ createEReference(xmlEntityEClass, XML_ENTITY__POST_UPDATE);
+ createEReference(xmlEntityEClass, XML_ENTITY__POST_LOAD);
+ createEReference(xmlEntityEClass, XML_ENTITY__ATTRIBUTE_OVERRIDES);
+ createEReference(xmlEntityEClass, XML_ENTITY__ASSOCIATION_OVERRIDES);
+
+ xmlEmbeddableEClass = createEClass(XML_EMBEDDABLE);
+
+ 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);
+
+ xmlAttributeMappingEClass = createEClass(XML_ATTRIBUTE_MAPPING);
+ createEAttribute(xmlAttributeMappingEClass, XML_ATTRIBUTE_MAPPING__NAME);
+
+ abstractXmlAttributeMappingEClass = createEClass(ABSTRACT_XML_ATTRIBUTE_MAPPING);
+
+ xmlNullAttributeMappingEClass = createEClass(XML_NULL_ATTRIBUTE_MAPPING);
+
+ columnMappingEClass = createEClass(COLUMN_MAPPING);
+ createEReference(columnMappingEClass, COLUMN_MAPPING__COLUMN);
+
+ xmlRelationshipMappingEClass = createEClass(XML_RELATIONSHIP_MAPPING);
+ createEAttribute(xmlRelationshipMappingEClass, XML_RELATIONSHIP_MAPPING__TARGET_ENTITY);
+ createEAttribute(xmlRelationshipMappingEClass, XML_RELATIONSHIP_MAPPING__FETCH);
+ createEReference(xmlRelationshipMappingEClass, XML_RELATIONSHIP_MAPPING__JOIN_TABLE);
+ createEReference(xmlRelationshipMappingEClass, XML_RELATIONSHIP_MAPPING__CASCADE);
+
+ xmlMultiRelationshipMappingEClass = createEClass(XML_MULTI_RELATIONSHIP_MAPPING);
+ createEAttribute(xmlMultiRelationshipMappingEClass, XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY);
+ createEAttribute(xmlMultiRelationshipMappingEClass, XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY);
+ createEReference(xmlMultiRelationshipMappingEClass, XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY);
+
+ xmlSingleRelationshipMappingEClass = createEClass(XML_SINGLE_RELATIONSHIP_MAPPING);
+ createEAttribute(xmlSingleRelationshipMappingEClass, XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL);
+ createEReference(xmlSingleRelationshipMappingEClass, XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS);
+
+ xmlIdEClass = createEClass(XML_ID);
+ createEReference(xmlIdEClass, XML_ID__GENERATED_VALUE);
+ createEAttribute(xmlIdEClass, XML_ID__TEMPORAL);
+ createEReference(xmlIdEClass, XML_ID__TABLE_GENERATOR);
+ createEReference(xmlIdEClass, XML_ID__SEQUENCE_GENERATOR);
+
+ xmlIdImplEClass = createEClass(XML_ID_IMPL);
+
+ baseXmlEmbeddedEClass = createEClass(BASE_XML_EMBEDDED);
+ createEReference(baseXmlEmbeddedEClass, BASE_XML_EMBEDDED__ATTRIBUTE_OVERRIDES);
+
+ xmlEmbeddedIdEClass = createEClass(XML_EMBEDDED_ID);
+
+ xmlEmbeddedIdImplEClass = createEClass(XML_EMBEDDED_ID_IMPL);
+
+ xmlEmbeddedEClass = createEClass(XML_EMBEDDED);
+
+ xmlEmbeddedImplEClass = createEClass(XML_EMBEDDED_IMPL);
+
+ xmlBasicEClass = createEClass(XML_BASIC);
+ createEAttribute(xmlBasicEClass, XML_BASIC__FETCH);
+ createEAttribute(xmlBasicEClass, XML_BASIC__OPTIONAL);
+ createEAttribute(xmlBasicEClass, XML_BASIC__LOB);
+ createEAttribute(xmlBasicEClass, XML_BASIC__TEMPORAL);
+ createEAttribute(xmlBasicEClass, XML_BASIC__ENUMERATED);
+
+ xmlBasicImplEClass = createEClass(XML_BASIC_IMPL);
+
+ xmlVersionEClass = createEClass(XML_VERSION);
+ createEAttribute(xmlVersionEClass, XML_VERSION__TEMPORAL);
+
+ xmlVersionImplEClass = createEClass(XML_VERSION_IMPL);
+
+ xmlManyToOneEClass = createEClass(XML_MANY_TO_ONE);
+
+ xmlManyToOneImplEClass = createEClass(XML_MANY_TO_ONE_IMPL);
+
+ xmlOneToManyEClass = createEClass(XML_ONE_TO_MANY);
+ createEReference(xmlOneToManyEClass, XML_ONE_TO_MANY__JOIN_COLUMNS);
+
+ xmlOneToManyImplEClass = createEClass(XML_ONE_TO_MANY_IMPL);
+
+ xmlOneToOneEClass = createEClass(XML_ONE_TO_ONE);
+ createEAttribute(xmlOneToOneEClass, XML_ONE_TO_ONE__MAPPED_BY);
+ createEReference(xmlOneToOneEClass, XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS);
+
+ xmlOneToOneImplEClass = createEClass(XML_ONE_TO_ONE_IMPL);
+
+ xmlManyToManyEClass = createEClass(XML_MANY_TO_MANY);
+
+ xmlManyToManyImplEClass = createEClass(XML_MANY_TO_MANY_IMPL);
+
+ xmlTransientEClass = createEClass(XML_TRANSIENT);
+
+ xmlTransientImplEClass = createEClass(XML_TRANSIENT_IMPL);
+
+ xmlAssociationOverrideEClass = createEClass(XML_ASSOCIATION_OVERRIDE);
+ createEReference(xmlAssociationOverrideEClass, XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS);
+ createEAttribute(xmlAssociationOverrideEClass, XML_ASSOCIATION_OVERRIDE__NAME);
+
+ xmlAssociationOverrideImplEClass = createEClass(XML_ASSOCIATION_OVERRIDE_IMPL);
+
+ xmlAttributeOverrideEClass = createEClass(XML_ATTRIBUTE_OVERRIDE);
+ createEReference(xmlAttributeOverrideEClass, XML_ATTRIBUTE_OVERRIDE__COLUMN);
+ createEAttribute(xmlAttributeOverrideEClass, XML_ATTRIBUTE_OVERRIDE__NAME);
+
+ xmlAttributeOverrideImplEClass = createEClass(XML_ATTRIBUTE_OVERRIDE_IMPL);
+
+ 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);
+
+ cascadeTypeImplEClass = createEClass(CASCADE_TYPE_IMPL);
+
+ xmlNamedColumnEClass = createEClass(XML_NAMED_COLUMN);
+ createEAttribute(xmlNamedColumnEClass, XML_NAMED_COLUMN__COLUMN_DEFINITION);
+ createEAttribute(xmlNamedColumnEClass, XML_NAMED_COLUMN__NAME);
+
+ abstractXmlNamedColumnEClass = createEClass(ABSTRACT_XML_NAMED_COLUMN);
+
+ xmlAbstractColumnEClass = createEClass(XML_ABSTRACT_COLUMN);
+ createEAttribute(xmlAbstractColumnEClass, XML_ABSTRACT_COLUMN__INSERTABLE);
+ createEAttribute(xmlAbstractColumnEClass, XML_ABSTRACT_COLUMN__NULLABLE);
+ createEAttribute(xmlAbstractColumnEClass, XML_ABSTRACT_COLUMN__TABLE);
+ createEAttribute(xmlAbstractColumnEClass, XML_ABSTRACT_COLUMN__UNIQUE);
+ createEAttribute(xmlAbstractColumnEClass, XML_ABSTRACT_COLUMN__UPDATABLE);
+
+ abstractXmlAbstractColumnEClass = createEClass(ABSTRACT_XML_ABSTRACT_COLUMN);
+
+ xmlColumnEClass = createEClass(XML_COLUMN);
+ createEAttribute(xmlColumnEClass, XML_COLUMN__LENGTH);
+ createEAttribute(xmlColumnEClass, XML_COLUMN__PRECISION);
+ createEAttribute(xmlColumnEClass, XML_COLUMN__SCALE);
+
+ xmlColumnImplEClass = createEClass(XML_COLUMN_IMPL);
+
+ columnResultEClass = createEClass(COLUMN_RESULT);
+ createEAttribute(columnResultEClass, COLUMN_RESULT__NAME);
+
+ xmlDiscriminatorColumnEClass = createEClass(XML_DISCRIMINATOR_COLUMN);
+ createEAttribute(xmlDiscriminatorColumnEClass, XML_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE);
+ createEAttribute(xmlDiscriminatorColumnEClass, XML_DISCRIMINATOR_COLUMN__LENGTH);
+
+ entityListenersEClass = createEClass(ENTITY_LISTENERS);
+ createEReference(entityListenersEClass, ENTITY_LISTENERS__ENTITY_LISTENERS);
+
+ entityListenerEClass = createEClass(ENTITY_LISTENER);
+ createEAttribute(entityListenerEClass, ENTITY_LISTENER__CLASS_NAME);
+ createEReference(entityListenerEClass, ENTITY_LISTENER__PRE_PERSIST);
+ createEReference(entityListenerEClass, ENTITY_LISTENER__POST_PERSIST);
+ createEReference(entityListenerEClass, ENTITY_LISTENER__PRE_REMOVE);
+ createEReference(entityListenerEClass, ENTITY_LISTENER__POST_REMOVE);
+ createEReference(entityListenerEClass, ENTITY_LISTENER__PRE_UPDATE);
+ createEReference(entityListenerEClass, ENTITY_LISTENER__POST_UPDATE);
+ createEReference(entityListenerEClass, ENTITY_LISTENER__POST_LOAD);
+
+ 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);
+
+ 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);
+
+ xmlGeneratedValueImplEClass = createEClass(XML_GENERATED_VALUE_IMPL);
+
+ xmlIdClassEClass = createEClass(XML_ID_CLASS);
+ createEAttribute(xmlIdClassEClass, XML_ID_CLASS__CLASS_NAME);
+
+ inheritanceEClass = createEClass(INHERITANCE);
+ createEAttribute(inheritanceEClass, INHERITANCE__STRATEGY);
+
+ xmlJoinColumnEClass = createEClass(XML_JOIN_COLUMN);
+ createEAttribute(xmlJoinColumnEClass, XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME);
+
+ xmlJoinColumnImplEClass = createEClass(XML_JOIN_COLUMN_IMPL);
+
+ xmlJoinTableEClass = createEClass(XML_JOIN_TABLE);
+ createEReference(xmlJoinTableEClass, XML_JOIN_TABLE__JOIN_COLUMNS);
+ createEReference(xmlJoinTableEClass, XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS);
+
+ xmlJoinTableImplEClass = createEClass(XML_JOIN_TABLE_IMPL);
+
+ lobEClass = createEClass(LOB);
+
+ mapKeyEClass = createEClass(MAP_KEY);
+ createEAttribute(mapKeyEClass, MAP_KEY__NAME);
+
+ mapKeyImplEClass = createEClass(MAP_KEY_IMPL);
+
+ xmlQueryEClass = createEClass(XML_QUERY);
+ createEAttribute(xmlQueryEClass, XML_QUERY__NAME);
+ createEAttribute(xmlQueryEClass, XML_QUERY__QUERY);
+ createEReference(xmlQueryEClass, XML_QUERY__HINTS);
+
+ 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);
+
+ 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);
+ createEAttribute(xmlPrimaryKeyJoinColumnEClass, XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME);
+
+ xmlPrimaryKeyJoinColumnImplEClass = createEClass(XML_PRIMARY_KEY_JOIN_COLUMN_IMPL);
+
+ xmlQueryHintEClass = createEClass(XML_QUERY_HINT);
+ createEAttribute(xmlQueryHintEClass, XML_QUERY_HINT__NAME);
+ createEAttribute(xmlQueryHintEClass, XML_QUERY_HINT__VALUE);
+
+ abstractXmlBaseTableEClass = createEClass(ABSTRACT_XML_BASE_TABLE);
+
+ xmlBaseTableEClass = createEClass(XML_BASE_TABLE);
+ createEAttribute(xmlBaseTableEClass, XML_BASE_TABLE__NAME);
+ createEAttribute(xmlBaseTableEClass, XML_BASE_TABLE__CATALOG);
+ createEAttribute(xmlBaseTableEClass, XML_BASE_TABLE__SCHEMA);
+ createEReference(xmlBaseTableEClass, XML_BASE_TABLE__UNIQUE_CONSTRAINTS);
+
+ xmlTableEClass = createEClass(XML_TABLE);
+
+ xmlSecondaryTableEClass = createEClass(XML_SECONDARY_TABLE);
+ createEReference(xmlSecondaryTableEClass, XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS);
+
+ xmlSecondaryTableImplEClass = createEClass(XML_SECONDARY_TABLE_IMPL);
+
+ xmlGeneratorEClass = createEClass(XML_GENERATOR);
+ createEAttribute(xmlGeneratorEClass, XML_GENERATOR__NAME);
+ createEAttribute(xmlGeneratorEClass, XML_GENERATOR__INITIAL_VALUE);
+ createEAttribute(xmlGeneratorEClass, XML_GENERATOR__ALLOCATION_SIZE);
+
+ xmlSequenceGeneratorEClass = createEClass(XML_SEQUENCE_GENERATOR);
+ createEAttribute(xmlSequenceGeneratorEClass, XML_SEQUENCE_GENERATOR__SEQUENCE_NAME);
+
+ xmlSequenceGeneratorImplEClass = createEClass(XML_SEQUENCE_GENERATOR_IMPL);
+
+ 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);
+
+ 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);
+
+ xmlTableGeneratorImplEClass = createEClass(XML_TABLE_GENERATOR_IMPL);
+
+ xmlUniqueConstraintEClass = createEClass(XML_UNIQUE_CONSTRAINT);
+ createEAttribute(xmlUniqueConstraintEClass, XML_UNIQUE_CONSTRAINT__COLUMN_NAMES);
+
+ xmlUniqueConstraintImplEClass = createEClass(XML_UNIQUE_CONSTRAINT_IMPL);
+
+ // Create enums
+ accessTypeEEnum = createEEnum(ACCESS_TYPE);
+ discriminatorTypeEEnum = createEEnum(DISCRIMINATOR_TYPE);
+ enumTypeEEnum = createEEnum(ENUM_TYPE);
+ fetchTypeEEnum = createEEnum(FETCH_TYPE);
+ generationTypeEEnum = createEEnum(GENERATION_TYPE);
+ inheritanceTypeEEnum = createEEnum(INHERITANCE_TYPE);
+ temporalTypeEEnum = createEEnum(TEMPORAL_TYPE);
+
+ // Create data types
+ discriminatorValueEDataType = createEDataType(DISCRIMINATOR_VALUE);
+ enumeratedEDataType = createEDataType(ENUMERATED);
+ orderByEDataType = createEDataType(ORDER_BY);
+ versionTypeEDataType = createEDataType(VERSION_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
+ XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ xmlMappedSuperclassEClass.getESuperTypes().add(this.getAbstractXmlTypeMapping());
+ xmlEntityEClass.getESuperTypes().add(this.getAbstractXmlTypeMapping());
+ xmlEmbeddableEClass.getESuperTypes().add(this.getAbstractXmlTypeMapping());
+ abstractXmlAttributeMappingEClass.getESuperTypes().add(this.getXmlAttributeMapping());
+ xmlNullAttributeMappingEClass.getESuperTypes().add(this.getXmlAttributeMapping());
+ xmlRelationshipMappingEClass.getESuperTypes().add(this.getXmlAttributeMapping());
+ xmlMultiRelationshipMappingEClass.getESuperTypes().add(this.getXmlRelationshipMapping());
+ xmlSingleRelationshipMappingEClass.getESuperTypes().add(this.getXmlRelationshipMapping());
+ xmlIdEClass.getESuperTypes().add(this.getXmlAttributeMapping());
+ xmlIdEClass.getESuperTypes().add(this.getColumnMapping());
+ xmlIdImplEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlIdImplEClass.getESuperTypes().add(this.getXmlId());
+ baseXmlEmbeddedEClass.getESuperTypes().add(this.getXmlAttributeMapping());
+ xmlEmbeddedIdEClass.getESuperTypes().add(this.getXmlAttributeMapping());
+ xmlEmbeddedIdEClass.getESuperTypes().add(this.getBaseXmlEmbedded());
+ xmlEmbeddedIdImplEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlEmbeddedIdImplEClass.getESuperTypes().add(this.getXmlEmbeddedId());
+ xmlEmbeddedEClass.getESuperTypes().add(this.getBaseXmlEmbedded());
+ xmlEmbeddedImplEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlEmbeddedImplEClass.getESuperTypes().add(this.getXmlEmbedded());
+ xmlBasicEClass.getESuperTypes().add(this.getXmlAttributeMapping());
+ xmlBasicEClass.getESuperTypes().add(this.getColumnMapping());
+ xmlBasicImplEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlBasicImplEClass.getESuperTypes().add(this.getXmlBasic());
+ xmlVersionEClass.getESuperTypes().add(this.getXmlAttributeMapping());
+ xmlVersionEClass.getESuperTypes().add(this.getColumnMapping());
+ xmlVersionImplEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlVersionImplEClass.getESuperTypes().add(this.getXmlVersion());
+ xmlManyToOneEClass.getESuperTypes().add(this.getXmlSingleRelationshipMapping());
+ xmlManyToOneImplEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlManyToOneImplEClass.getESuperTypes().add(this.getXmlManyToOne());
+ xmlOneToManyEClass.getESuperTypes().add(this.getXmlMultiRelationshipMapping());
+ xmlOneToManyImplEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlOneToManyImplEClass.getESuperTypes().add(this.getXmlOneToMany());
+ xmlOneToOneEClass.getESuperTypes().add(this.getXmlSingleRelationshipMapping());
+ xmlOneToOneImplEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlOneToOneImplEClass.getESuperTypes().add(this.getXmlOneToOne());
+ xmlManyToManyEClass.getESuperTypes().add(this.getXmlMultiRelationshipMapping());
+ xmlManyToManyImplEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlManyToManyImplEClass.getESuperTypes().add(this.getXmlManyToMany());
+ xmlTransientEClass.getESuperTypes().add(this.getXmlAttributeMapping());
+ xmlTransientImplEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ xmlTransientImplEClass.getESuperTypes().add(this.getXmlTransient());
+ xmlAssociationOverrideImplEClass.getESuperTypes().add(this.getXmlAssociationOverride());
+ xmlAttributeOverrideImplEClass.getESuperTypes().add(this.getXmlAttributeOverride());
+ cascadeTypeImplEClass.getESuperTypes().add(this.getCascadeType());
+ abstractXmlNamedColumnEClass.getESuperTypes().add(this.getXmlNamedColumn());
+ xmlAbstractColumnEClass.getESuperTypes().add(this.getXmlNamedColumn());
+ abstractXmlAbstractColumnEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn());
+ abstractXmlAbstractColumnEClass.getESuperTypes().add(this.getXmlAbstractColumn());
+ xmlColumnEClass.getESuperTypes().add(this.getXmlAbstractColumn());
+ xmlColumnImplEClass.getESuperTypes().add(this.getAbstractXmlAbstractColumn());
+ xmlColumnImplEClass.getESuperTypes().add(this.getXmlColumn());
+ xmlDiscriminatorColumnEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn());
+ xmlGeneratedValueImplEClass.getESuperTypes().add(this.getXmlGeneratedValue());
+ xmlJoinColumnEClass.getESuperTypes().add(this.getXmlAbstractColumn());
+ xmlJoinColumnImplEClass.getESuperTypes().add(this.getAbstractXmlAbstractColumn());
+ xmlJoinColumnImplEClass.getESuperTypes().add(this.getXmlJoinColumn());
+ xmlJoinTableEClass.getESuperTypes().add(this.getXmlBaseTable());
+ xmlJoinTableImplEClass.getESuperTypes().add(this.getAbstractXmlBaseTable());
+ xmlJoinTableImplEClass.getESuperTypes().add(this.getXmlJoinTable());
+ mapKeyImplEClass.getESuperTypes().add(this.getMapKey());
+ xmlNamedNativeQueryEClass.getESuperTypes().add(this.getXmlQuery());
+ xmlNamedQueryEClass.getESuperTypes().add(this.getXmlQuery());
+ 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.getXmlNamedColumn());
+ xmlPrimaryKeyJoinColumnImplEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn());
+ xmlPrimaryKeyJoinColumnImplEClass.getESuperTypes().add(this.getXmlPrimaryKeyJoinColumn());
+ abstractXmlBaseTableEClass.getESuperTypes().add(this.getXmlBaseTable());
+ xmlTableEClass.getESuperTypes().add(this.getAbstractXmlBaseTable());
+ xmlSecondaryTableEClass.getESuperTypes().add(this.getXmlBaseTable());
+ xmlSecondaryTableImplEClass.getESuperTypes().add(this.getAbstractXmlBaseTable());
+ xmlSecondaryTableImplEClass.getESuperTypes().add(this.getXmlSecondaryTable());
+ xmlSequenceGeneratorEClass.getESuperTypes().add(this.getXmlGenerator());
+ xmlSequenceGeneratorImplEClass.getESuperTypes().add(this.getXmlSequenceGenerator());
+ xmlTableGeneratorEClass.getESuperTypes().add(this.getXmlGenerator());
+ xmlTableGeneratorImplEClass.getESuperTypes().add(this.getXmlTableGenerator());
+ xmlUniqueConstraintImplEClass.getESuperTypes().add(this.getXmlUniqueConstraint());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(xmlEntityMappingsEClass, XmlEntityMappings.class, "XmlEntityMappings", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlEntityMappings_Version(), this.getVersionType(), "version", "1.0", 1, 1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ 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);
+ initEAttribute(getXmlEntityMappings_Access(), this.getAccessType(), "access", "PROPERTY", 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_NamedQueries(), this.getXmlNamedQuery(), null, "namedQueries", 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_NamedNativeQueries(), this.getXmlNamedNativeQuery(), null, "namedNativeQueries", 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(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(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_Access(), this.getAccessType(), "access", "PROPERTY", 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(abstractXmlTypeMappingEClass, AbstractXmlTypeMapping.class, "AbstractXmlTypeMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAbstractXmlTypeMapping_ClassName(), theXMLTypePackage.getString(), "className", null, 1, 1, AbstractXmlTypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAbstractXmlTypeMapping_Access(), this.getAccessType(), "access", "PROPERTY", 0, 1, AbstractXmlTypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAbstractXmlTypeMapping_MetadataComplete(), theXMLTypePackage.getBooleanObject(), "metadataComplete", null, 0, 1, AbstractXmlTypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAbstractXmlTypeMapping_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, AbstractXmlTypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAbstractXmlTypeMapping_Attributes(), this.getAttributes(), null, "attributes", null, 0, 1, AbstractXmlTypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlMappedSuperclassEClass, XmlMappedSuperclass.class, "XmlMappedSuperclass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlMappedSuperclass_IdClass(), this.getXmlIdClass(), null, "idClass", null, 0, 1, XmlMappedSuperclass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ 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);
+ initEReference(getXmlMappedSuperclass_PrePersist(), this.getPrePersist(), null, "prePersist", null, 0, 1, XmlMappedSuperclass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlMappedSuperclass_PostPersist(), this.getPostPersist(), null, "postPersist", null, 0, 1, XmlMappedSuperclass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlMappedSuperclass_PreRemove(), this.getPreRemove(), null, "preRemove", null, 0, 1, XmlMappedSuperclass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlMappedSuperclass_PostRemove(), this.getPostRemove(), null, "postRemove", null, 0, 1, XmlMappedSuperclass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlMappedSuperclass_PreUpdate(), this.getPreUpdate(), null, "preUpdate", null, 0, 1, XmlMappedSuperclass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlMappedSuperclass_PostUpdate(), this.getPostUpdate(), null, "postUpdate", null, 0, 1, XmlMappedSuperclass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlMappedSuperclass_PostLoad(), this.getPostLoad(), null, "postLoad", 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(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_IdClass(), this.getXmlIdClass(), null, "idClass", 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(), this.getDiscriminatorValue(), "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_SequenceGenerator(), this.getXmlSequenceGenerator(), null, "sequenceGenerator", 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_TableGenerator(), this.getXmlTableGenerator(), null, "tableGenerator", 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_NamedQueries(), this.getXmlNamedQuery(), null, "namedQueries", 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_NamedNativeQueries(), this.getXmlNamedNativeQuery(), null, "namedNativeQueries", 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);
+ initEReference(getXmlEntity_PrePersist(), this.getPrePersist(), null, "prePersist", 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_PostPersist(), this.getPostPersist(), null, "postPersist", 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_PreRemove(), this.getPreRemove(), null, "preRemove", 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_PostRemove(), this.getPostRemove(), null, "postRemove", 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_PreUpdate(), this.getPreUpdate(), null, "preUpdate", 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_PostUpdate(), this.getPostUpdate(), null, "postUpdate", 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_PostLoad(), this.getPostLoad(), null, "postLoad", 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_AttributeOverrides(), this.getXmlAttributeOverride(), null, "attributeOverrides", 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_AssociationOverrides(), this.getXmlAssociationOverride(), null, "associationOverrides", 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(xmlEmbeddableEClass, XmlEmbeddable.class, "XmlEmbeddable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ 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(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(abstractXmlAttributeMappingEClass, AbstractXmlAttributeMapping.class, "AbstractXmlAttributeMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlNullAttributeMappingEClass, XmlNullAttributeMapping.class, "XmlNullAttributeMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ 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(xmlRelationshipMappingEClass, XmlRelationshipMapping.class, "XmlRelationshipMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlRelationshipMapping_TargetEntity(), theXMLTypePackage.getString(), "targetEntity", null, 0, 1, XmlRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlRelationshipMapping_Fetch(), this.getFetchType(), "fetch", "LAZY", 0, 1, XmlRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlRelationshipMapping_JoinTable(), this.getXmlJoinTable(), null, "joinTable", null, 0, 1, XmlRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlRelationshipMapping_Cascade(), this.getCascadeType(), null, "cascade", null, 0, 1, XmlRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlMultiRelationshipMappingEClass, XmlMultiRelationshipMapping.class, "XmlMultiRelationshipMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlMultiRelationshipMapping_MappedBy(), theXMLTypePackage.getString(), "mappedBy", null, 0, 1, XmlMultiRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlMultiRelationshipMapping_OrderBy(), this.getOrderBy(), "orderBy", null, 0, 1, XmlMultiRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlMultiRelationshipMapping_MapKey(), this.getMapKey(), null, "mapKey", null, 0, 1, XmlMultiRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlSingleRelationshipMappingEClass, XmlSingleRelationshipMapping.class, "XmlSingleRelationshipMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlSingleRelationshipMapping_Optional(), theXMLTypePackage.getBooleanObject(), "optional", null, 0, 1, XmlSingleRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlSingleRelationshipMapping_JoinColumns(), this.getXmlJoinColumn(), null, "joinColumns", null, 0, -1, XmlSingleRelationshipMapping.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);
+ initEAttribute(getXmlId_Temporal(), this.getTemporalType(), "temporal", null, 0, 1, XmlId.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlId_TableGenerator(), this.getXmlTableGenerator(), null, "tableGenerator", null, 0, 1, XmlId.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlId_SequenceGenerator(), this.getXmlSequenceGenerator(), null, "sequenceGenerator", 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(xmlIdImplEClass, XmlIdImpl.class, "XmlIdImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(baseXmlEmbeddedEClass, BaseXmlEmbedded.class, "BaseXmlEmbedded", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBaseXmlEmbedded_AttributeOverrides(), this.getXmlAttributeOverride(), null, "attributeOverrides", null, 0, -1, BaseXmlEmbedded.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlEmbeddedIdEClass, XmlEmbeddedId.class, "XmlEmbeddedId", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlEmbeddedIdImplEClass, XmlEmbeddedIdImpl.class, "XmlEmbeddedIdImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlEmbeddedEClass, XmlEmbedded.class, "XmlEmbedded", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlEmbeddedImplEClass, XmlEmbeddedImpl.class, "XmlEmbeddedImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ 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);
+ initEAttribute(getXmlBasic_Lob(), theXMLTypePackage.getBoolean(), "lob", null, 0, 1, XmlBasic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlBasic_Temporal(), this.getTemporalType(), "temporal", null, 0, 1, XmlBasic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlBasic_Enumerated(), this.getEnumType(), "enumerated", null, 0, 1, XmlBasic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlBasicImplEClass, XmlBasicImpl.class, "XmlBasicImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlVersionEClass, XmlVersion.class, "XmlVersion", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlVersion_Temporal(), this.getTemporalType(), "temporal", null, 0, 1, XmlVersion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlVersionImplEClass, XmlVersionImpl.class, "XmlVersionImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlManyToOneEClass, XmlManyToOne.class, "XmlManyToOne", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlManyToOneImplEClass, XmlManyToOneImpl.class, "XmlManyToOneImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlOneToManyEClass, XmlOneToMany.class, "XmlOneToMany", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlOneToMany_JoinColumns(), this.getXmlJoinColumn(), null, "joinColumns", null, 0, -1, XmlOneToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlOneToManyImplEClass, XmlOneToManyImpl.class, "XmlOneToManyImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlOneToOneEClass, XmlOneToOne.class, "XmlOneToOne", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlOneToOne_MappedBy(), theXMLTypePackage.getString(), "mappedBy", null, 0, 1, XmlOneToOne.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlOneToOne_PrimaryKeyJoinColumns(), this.getXmlPrimaryKeyJoinColumn(), null, "primaryKeyJoinColumns", null, 0, -1, XmlOneToOne.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlOneToOneImplEClass, XmlOneToOneImpl.class, "XmlOneToOneImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlManyToManyEClass, XmlManyToMany.class, "XmlManyToMany", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlManyToManyImplEClass, XmlManyToManyImpl.class, "XmlManyToManyImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlTransientEClass, XmlTransient.class, "XmlTransient", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlTransientImplEClass, XmlTransientImpl.class, "XmlTransientImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlAssociationOverrideEClass, XmlAssociationOverride.class, "XmlAssociationOverride", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlAssociationOverride_JoinColumns(), this.getXmlJoinColumn(), null, "joinColumns", null, 1, -1, XmlAssociationOverride.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlAssociationOverride_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlAssociationOverride.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlAssociationOverrideImplEClass, XmlAssociationOverrideImpl.class, "XmlAssociationOverrideImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ 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);
+ initEAttribute(getXmlAttributeOverride_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlAttributeOverride.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlAttributeOverrideImplEClass, XmlAttributeOverrideImpl.class, "XmlAttributeOverrideImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ 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(cascadeTypeImplEClass, CascadeTypeImpl.class, "CascadeTypeImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ 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(abstractXmlNamedColumnEClass, AbstractXmlNamedColumn.class, "AbstractXmlNamedColumn", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlAbstractColumnEClass, XmlAbstractColumn.class, "XmlAbstractColumn", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlAbstractColumn_Insertable(), theXMLTypePackage.getBooleanObject(), "insertable", null, 0, 1, XmlAbstractColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlAbstractColumn_Nullable(), theXMLTypePackage.getBooleanObject(), "nullable", null, 0, 1, XmlAbstractColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlAbstractColumn_Table(), theXMLTypePackage.getString(), "table", null, 0, 1, XmlAbstractColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlAbstractColumn_Unique(), theXMLTypePackage.getBooleanObject(), "unique", null, 0, 1, XmlAbstractColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlAbstractColumn_Updatable(), theXMLTypePackage.getBooleanObject(), "updatable", null, 0, 1, XmlAbstractColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(abstractXmlAbstractColumnEClass, AbstractXmlAbstractColumn.class, "AbstractXmlAbstractColumn", 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(xmlColumnImplEClass, XmlColumnImpl.class, "XmlColumnImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ 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(xmlDiscriminatorColumnEClass, XmlDiscriminatorColumn.class, "XmlDiscriminatorColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlDiscriminatorColumn_DiscriminatorType(), this.getDiscriminatorType(), "discriminatorType", "STRING", 0, 1, XmlDiscriminatorColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlDiscriminatorColumn_Length(), theXMLTypePackage.getIntObject(), "length", null, 0, 1, XmlDiscriminatorColumn.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(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);
+ initEReference(getEntityListener_PrePersist(), this.getPrePersist(), null, "prePersist", null, 0, 1, EntityListener.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getEntityListener_PostPersist(), this.getPostPersist(), null, "postPersist", null, 0, 1, EntityListener.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getEntityListener_PreRemove(), this.getPreRemove(), null, "preRemove", null, 0, 1, EntityListener.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getEntityListener_PostRemove(), this.getPostRemove(), null, "postRemove", null, 0, 1, EntityListener.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getEntityListener_PreUpdate(), this.getPreUpdate(), null, "preUpdate", null, 0, 1, EntityListener.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getEntityListener_PostUpdate(), this.getPostUpdate(), null, "postUpdate", null, 0, 1, EntityListener.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getEntityListener_PostLoad(), this.getPostLoad(), null, "postLoad", null, 0, 1, EntityListener.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(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(xmlGeneratedValueImplEClass, XmlGeneratedValueImpl.class, "XmlGeneratedValueImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlIdClassEClass, XmlIdClass.class, "XmlIdClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlIdClass_ClassName(), theXMLTypePackage.getString(), "className", null, 1, 1, XmlIdClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(inheritanceEClass, Inheritance.class, "Inheritance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getInheritance_Strategy(), this.getInheritanceType(), "strategy", "SINGLE_TABLE", 0, 1, Inheritance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlJoinColumnEClass, XmlJoinColumn.class, "XmlJoinColumn", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlJoinColumn_ReferencedColumnName(), theXMLTypePackage.getString(), "referencedColumnName", null, 0, 1, XmlJoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlJoinColumnImplEClass, XmlJoinColumnImpl.class, "XmlJoinColumnImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlJoinTableEClass, XmlJoinTable.class, "XmlJoinTable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlJoinTable_JoinColumns(), this.getXmlJoinColumn(), null, "joinColumns", null, 0, -1, XmlJoinTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ 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(xmlJoinTableImplEClass, XmlJoinTableImpl.class, "XmlJoinTableImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(lobEClass, Lob.class, "Lob", !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(mapKeyImplEClass, MapKeyImpl.class, "MapKeyImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ 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(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(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);
+ initEAttribute(getXmlPrimaryKeyJoinColumn_ReferencedColumnName(), theXMLTypePackage.getString(), "referencedColumnName", null, 0, 1, XmlPrimaryKeyJoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlPrimaryKeyJoinColumnImplEClass, XmlPrimaryKeyJoinColumnImpl.class, "XmlPrimaryKeyJoinColumnImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ 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(abstractXmlBaseTableEClass, AbstractXmlBaseTable.class, "AbstractXmlBaseTable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(xmlBaseTableEClass, XmlBaseTable.class, "XmlBaseTable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlBaseTable_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, XmlBaseTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlBaseTable_Catalog(), theXMLTypePackage.getString(), "catalog", null, 0, 1, XmlBaseTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlBaseTable_Schema(), theXMLTypePackage.getString(), "schema", null, 0, 1, XmlBaseTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlBaseTable_UniqueConstraints(), this.getXmlUniqueConstraint(), null, "uniqueConstraints", null, 0, -1, XmlBaseTable.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(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(xmlSecondaryTableImplEClass, XmlSecondaryTableImpl.class, "XmlSecondaryTableImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ 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(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(xmlSequenceGeneratorImplEClass, XmlSequenceGeneratorImpl.class, "XmlSequenceGeneratorImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ 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(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(xmlTableGeneratorImplEClass, XmlTableGeneratorImpl.class, "XmlTableGeneratorImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ 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(xmlUniqueConstraintImplEClass, XmlUniqueConstraintImpl.class, "XmlUniqueConstraintImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ // Initialize enums and add enum literals
+ initEEnum(accessTypeEEnum, AccessType.class, "AccessType");
+ addEEnumLiteral(accessTypeEEnum, AccessType.PROPERTY);
+ addEEnumLiteral(accessTypeEEnum, AccessType.FIELD);
+
+ 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);
+
+ // Initialize data types
+ initEDataType(discriminatorValueEDataType, String.class, "DiscriminatorValue", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(enumeratedEDataType, Enumerator.class, "Enumerated", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(orderByEDataType, String.class, "OrderBy", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(versionTypeEDataType, String.class, "VersionType", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+
+ // 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.eclipselink.core.resource.elorm.XmlEntityMappings <em>Xml Entity Mappings</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntityMappings()
+ * @generated
+ */
+ public static final EClass XML_ENTITY_MAPPINGS = eINSTANCE.getXmlEntityMappings();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ENTITY_MAPPINGS__VERSION = eINSTANCE.getXmlEntityMappings_Version();
+
+ /**
+ * 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>Access</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ENTITY_MAPPINGS__ACCESS = eINSTANCE.getXmlEntityMappings_Access();
+
+ /**
+ * 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>Named Queries</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY_MAPPINGS__NAMED_QUERIES = eINSTANCE.getXmlEntityMappings_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_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES = eINSTANCE.getXmlEntityMappings_NamedNativeQueries();
+
+ /**
+ * 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.eclipselink.core.resource.elorm.XmlPersistenceUnitMetadata <em>Xml Persistence Unit Metadata</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitMetadata
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults <em>Xml Persistence Unit Defaults</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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>Access</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS = eINSTANCE.getXmlPersistenceUnitDefaults_Access();
+
+ /**
+ * 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.eclipselink.core.resource.elorm.AbstractXmlTypeMapping <em>Abstract Xml Type Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlTypeMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlTypeMapping()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_TYPE_MAPPING = eINSTANCE.getAbstractXmlTypeMapping();
+
+ /**
+ * 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 ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME = eINSTANCE.getAbstractXmlTypeMapping_ClassName();
+
+ /**
+ * The meta object literal for the '<em><b>Access</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute ABSTRACT_XML_TYPE_MAPPING__ACCESS = eINSTANCE.getAbstractXmlTypeMapping_Access();
+
+ /**
+ * 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 ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE = eINSTANCE.getAbstractXmlTypeMapping_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 ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION = eINSTANCE.getAbstractXmlTypeMapping_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 ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES = eINSTANCE.getAbstractXmlTypeMapping_Attributes();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass <em>Xml Mapped Superclass</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMappedSuperclass()
+ * @generated
+ */
+ public static final EClass XML_MAPPED_SUPERCLASS = eINSTANCE.getXmlMappedSuperclass();
+
+ /**
+ * 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_MAPPED_SUPERCLASS__ID_CLASS = eINSTANCE.getXmlMappedSuperclass_IdClass();
+
+ /**
+ * 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 '<em><b>Pre Persist</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_MAPPED_SUPERCLASS__PRE_PERSIST = eINSTANCE.getXmlMappedSuperclass_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_MAPPED_SUPERCLASS__POST_PERSIST = eINSTANCE.getXmlMappedSuperclass_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_MAPPED_SUPERCLASS__PRE_REMOVE = eINSTANCE.getXmlMappedSuperclass_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_MAPPED_SUPERCLASS__POST_REMOVE = eINSTANCE.getXmlMappedSuperclass_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_MAPPED_SUPERCLASS__PRE_UPDATE = eINSTANCE.getXmlMappedSuperclass_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_MAPPED_SUPERCLASS__POST_UPDATE = eINSTANCE.getXmlMappedSuperclass_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_MAPPED_SUPERCLASS__POST_LOAD = eINSTANCE.getXmlMappedSuperclass_PostLoad();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity <em>Xml Entity</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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>Id Class</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY__ID_CLASS = eINSTANCE.getXmlEntity_IdClass();
+
+ /**
+ * 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>Sequence Generator</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY__SEQUENCE_GENERATOR = eINSTANCE.getXmlEntity_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_ENTITY__TABLE_GENERATOR = eINSTANCE.getXmlEntity_TableGenerator();
+
+ /**
+ * 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_ENTITY__NAMED_QUERIES = eINSTANCE.getXmlEntity_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_ENTITY__NAMED_NATIVE_QUERIES = eINSTANCE.getXmlEntity_NamedNativeQueries();
+
+ /**
+ * 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 '<em><b>Pre Persist</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY__PRE_PERSIST = eINSTANCE.getXmlEntity_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_ENTITY__POST_PERSIST = eINSTANCE.getXmlEntity_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_ENTITY__PRE_REMOVE = eINSTANCE.getXmlEntity_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_ENTITY__POST_REMOVE = eINSTANCE.getXmlEntity_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_ENTITY__PRE_UPDATE = eINSTANCE.getXmlEntity_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_ENTITY__POST_UPDATE = eINSTANCE.getXmlEntity_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_ENTITY__POST_LOAD = eINSTANCE.getXmlEntity_PostLoad();
+
+ /**
+ * 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_ENTITY__ATTRIBUTE_OVERRIDES = eINSTANCE.getXmlEntity_AttributeOverrides();
+
+ /**
+ * 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_ENTITY__ASSOCIATION_OVERRIDES = eINSTANCE.getXmlEntity_AssociationOverrides();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddable <em>Xml Embeddable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddable
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbeddable()
+ * @generated
+ */
+ public static final EClass XML_EMBEDDABLE = eINSTANCE.getXmlEmbeddable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes <em>Attributes</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.Attributes
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlAttributeMapping <em>Xml Attribute Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.AbstractXmlAttributeMapping <em>Abstract Xml Attribute Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlAttributeMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlAttributeMapping()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_ATTRIBUTE_MAPPING = eINSTANCE.getAbstractXmlAttributeMapping();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNullAttributeMapping <em>Xml Null Attribute Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNullAttributeMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlNullAttributeMapping()
+ * @generated
+ */
+ public static final EClass XML_NULL_ATTRIBUTE_MAPPING = eINSTANCE.getXmlNullAttributeMapping();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.ColumnMapping <em>Column Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.ColumnMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlRelationshipMapping <em>Xml Relationship Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping()
+ * @generated
+ */
+ public static final EClass XML_RELATIONSHIP_MAPPING = eINSTANCE.getXmlRelationshipMapping();
+
+ /**
+ * 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 XML_RELATIONSHIP_MAPPING__TARGET_ENTITY = eINSTANCE.getXmlRelationshipMapping_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 XML_RELATIONSHIP_MAPPING__FETCH = eINSTANCE.getXmlRelationshipMapping_Fetch();
+
+ /**
+ * 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_RELATIONSHIP_MAPPING__JOIN_TABLE = eINSTANCE.getXmlRelationshipMapping_JoinTable();
+
+ /**
+ * 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 XML_RELATIONSHIP_MAPPING__CASCADE = eINSTANCE.getXmlRelationshipMapping_Cascade();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping <em>Xml Multi Relationship Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMultiRelationshipMapping()
+ * @generated
+ */
+ public static final EClass XML_MULTI_RELATIONSHIP_MAPPING = eINSTANCE.getXmlMultiRelationshipMapping();
+
+ /**
+ * 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_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY = eINSTANCE.getXmlMultiRelationshipMapping_MappedBy();
+
+ /**
+ * 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_MULTI_RELATIONSHIP_MAPPING__ORDER_BY = eINSTANCE.getXmlMultiRelationshipMapping_OrderBy();
+
+ /**
+ * 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_MULTI_RELATIONSHIP_MAPPING__MAP_KEY = eINSTANCE.getXmlMultiRelationshipMapping_MapKey();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSingleRelationshipMapping <em>Xml Single Relationship Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSingleRelationshipMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSingleRelationshipMapping()
+ * @generated
+ */
+ public static final EClass XML_SINGLE_RELATIONSHIP_MAPPING = eINSTANCE.getXmlSingleRelationshipMapping();
+
+ /**
+ * 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_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL = eINSTANCE.getXmlSingleRelationshipMapping_Optional();
+
+ /**
+ * 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_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS = eINSTANCE.getXmlSingleRelationshipMapping_JoinColumns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlId <em>Xml Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlId
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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 '<em><b>Temporal</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ID__TEMPORAL = eINSTANCE.getXmlId_Temporal();
+
+ /**
+ * 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_ID__TABLE_GENERATOR = eINSTANCE.getXmlId_TableGenerator();
+
+ /**
+ * 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_ID__SEQUENCE_GENERATOR = eINSTANCE.getXmlId_SequenceGenerator();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdImpl <em>Xml Id Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlIdImpl()
+ * @generated
+ */
+ public static final EClass XML_ID_IMPL = eINSTANCE.getXmlIdImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.BaseXmlEmbedded <em>Base Xml Embedded</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.BaseXmlEmbedded
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getBaseXmlEmbedded()
+ * @generated
+ */
+ public static final EClass BASE_XML_EMBEDDED = eINSTANCE.getBaseXmlEmbedded();
+
+ /**
+ * 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 BASE_XML_EMBEDDED__ATTRIBUTE_OVERRIDES = eINSTANCE.getBaseXmlEmbedded_AttributeOverrides();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedId <em>Xml Embedded Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedId
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbeddedId()
+ * @generated
+ */
+ public static final EClass XML_EMBEDDED_ID = eINSTANCE.getXmlEmbeddedId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedIdImpl <em>Xml Embedded Id Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedIdImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbeddedIdImpl()
+ * @generated
+ */
+ public static final EClass XML_EMBEDDED_ID_IMPL = eINSTANCE.getXmlEmbeddedIdImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbedded <em>Xml Embedded</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbedded
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbedded()
+ * @generated
+ */
+ public static final EClass XML_EMBEDDED = eINSTANCE.getXmlEmbedded();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedImpl <em>Xml Embedded Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEmbeddedImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbeddedImpl()
+ * @generated
+ */
+ public static final EClass XML_EMBEDDED_IMPL = eINSTANCE.getXmlEmbeddedImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic <em>Xml Basic</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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 '<em><b>Lob</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_BASIC__LOB = eINSTANCE.getXmlBasic_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_BASIC__TEMPORAL = eINSTANCE.getXmlBasic_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_BASIC__ENUMERATED = eINSTANCE.getXmlBasic_Enumerated();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasicImpl <em>Xml Basic Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasicImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasicImpl()
+ * @generated
+ */
+ public static final EClass XML_BASIC_IMPL = eINSTANCE.getXmlBasicImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersion <em>Xml Version</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersion
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlVersion()
+ * @generated
+ */
+ public static final EClass XML_VERSION = eINSTANCE.getXmlVersion();
+
+ /**
+ * 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_VERSION__TEMPORAL = eINSTANCE.getXmlVersion_Temporal();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersionImpl <em>Xml Version Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersionImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlVersionImpl()
+ * @generated
+ */
+ public static final EClass XML_VERSION_IMPL = eINSTANCE.getXmlVersionImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToOne <em>Xml Many To One</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToOne
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlManyToOne()
+ * @generated
+ */
+ public static final EClass XML_MANY_TO_ONE = eINSTANCE.getXmlManyToOne();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToOneImpl <em>Xml Many To One Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToOneImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlManyToOneImpl()
+ * @generated
+ */
+ public static final EClass XML_MANY_TO_ONE_IMPL = eINSTANCE.getXmlManyToOneImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToMany <em>Xml One To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToMany
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToMany()
+ * @generated
+ */
+ public static final EClass XML_ONE_TO_MANY = eINSTANCE.getXmlOneToMany();
+
+ /**
+ * 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_ONE_TO_MANY__JOIN_COLUMNS = eINSTANCE.getXmlOneToMany_JoinColumns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToManyImpl <em>Xml One To Many Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToManyImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToManyImpl()
+ * @generated
+ */
+ public static final EClass XML_ONE_TO_MANY_IMPL = eINSTANCE.getXmlOneToManyImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOne <em>Xml One To One</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOne
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToOne()
+ * @generated
+ */
+ public static final EClass XML_ONE_TO_ONE = eINSTANCE.getXmlOneToOne();
+
+ /**
+ * 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_ONE_TO_ONE__MAPPED_BY = eINSTANCE.getXmlOneToOne_MappedBy();
+
+ /**
+ * 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_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS = eINSTANCE.getXmlOneToOne_PrimaryKeyJoinColumns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOneImpl <em>Xml One To One Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOneImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToOneImpl()
+ * @generated
+ */
+ public static final EClass XML_ONE_TO_ONE_IMPL = eINSTANCE.getXmlOneToOneImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToMany <em>Xml Many To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToMany
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlManyToMany()
+ * @generated
+ */
+ public static final EClass XML_MANY_TO_MANY = eINSTANCE.getXmlManyToMany();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToManyImpl <em>Xml Many To Many Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToManyImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlManyToManyImpl()
+ * @generated
+ */
+ public static final EClass XML_MANY_TO_MANY_IMPL = eINSTANCE.getXmlManyToManyImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTransient <em>Xml Transient</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTransient
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTransient()
+ * @generated
+ */
+ public static final EClass XML_TRANSIENT = eINSTANCE.getXmlTransient();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTransientImpl <em>Xml Transient Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTransientImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTransientImpl()
+ * @generated
+ */
+ public static final EClass XML_TRANSIENT_IMPL = eINSTANCE.getXmlTransientImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverride <em>Xml Association Override</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverride
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAssociationOverride()
+ * @generated
+ */
+ public static final EClass XML_ASSOCIATION_OVERRIDE = eINSTANCE.getXmlAssociationOverride();
+
+ /**
+ * 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_ASSOCIATION_OVERRIDE__JOIN_COLUMNS = eINSTANCE.getXmlAssociationOverride_JoinColumns();
+
+ /**
+ * 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_ASSOCIATION_OVERRIDE__NAME = eINSTANCE.getXmlAssociationOverride_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverrideImpl <em>Xml Association Override Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverrideImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAssociationOverrideImpl()
+ * @generated
+ */
+ public static final EClass XML_ASSOCIATION_OVERRIDE_IMPL = eINSTANCE.getXmlAssociationOverrideImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverride <em>Xml Attribute Override</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverride
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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 '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ATTRIBUTE_OVERRIDE__NAME = eINSTANCE.getXmlAttributeOverride_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverrideImpl <em>Xml Attribute Override Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverrideImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAttributeOverrideImpl()
+ * @generated
+ */
+ public static final EClass XML_ATTRIBUTE_OVERRIDE_IMPL = eINSTANCE.getXmlAttributeOverrideImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.CascadeType <em>Cascade Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.CascadeType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.CascadeTypeImpl <em>Cascade Type Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.CascadeTypeImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getCascadeTypeImpl()
+ * @generated
+ */
+ public static final EClass CASCADE_TYPE_IMPL = eINSTANCE.getCascadeTypeImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedColumn <em>Xml Named Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.AbstractXmlNamedColumn <em>Abstract Xml Named Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlNamedColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlNamedColumn()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_NAMED_COLUMN = eINSTANCE.getAbstractXmlNamedColumn();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn <em>Xml Abstract Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAbstractColumn()
+ * @generated
+ */
+ public static final EClass XML_ABSTRACT_COLUMN = eINSTANCE.getXmlAbstractColumn();
+
+ /**
+ * 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_ABSTRACT_COLUMN__INSERTABLE = eINSTANCE.getXmlAbstractColumn_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_ABSTRACT_COLUMN__NULLABLE = eINSTANCE.getXmlAbstractColumn_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_ABSTRACT_COLUMN__TABLE = eINSTANCE.getXmlAbstractColumn_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_ABSTRACT_COLUMN__UNIQUE = eINSTANCE.getXmlAbstractColumn_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_ABSTRACT_COLUMN__UPDATABLE = eINSTANCE.getXmlAbstractColumn_Updatable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlAbstractColumn <em>Abstract Xml Abstract Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlAbstractColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlAbstractColumn()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_ABSTRACT_COLUMN = eINSTANCE.getAbstractXmlAbstractColumn();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlColumn <em>Xml Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlColumnImpl <em>Xml Column Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlColumnImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlColumnImpl()
+ * @generated
+ */
+ public static final EClass XML_COLUMN_IMPL = eINSTANCE.getXmlColumnImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.ColumnResult <em>Column Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.ColumnResult
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlDiscriminatorColumn <em>Xml Discriminator Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlDiscriminatorColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlDiscriminatorColumn()
+ * @generated
+ */
+ public static final EClass XML_DISCRIMINATOR_COLUMN = eINSTANCE.getXmlDiscriminatorColumn();
+
+ /**
+ * 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_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE = eINSTANCE.getXmlDiscriminatorColumn_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_DISCRIMINATOR_COLUMN__LENGTH = eINSTANCE.getXmlDiscriminatorColumn_Length();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListeners <em>Entity Listeners</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListeners
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.EntityListener <em>Entity Listener</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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 '<em><b>Pre Persist</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference ENTITY_LISTENER__PRE_PERSIST = eINSTANCE.getEntityListener_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 ENTITY_LISTENER__POST_PERSIST = eINSTANCE.getEntityListener_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 ENTITY_LISTENER__PRE_REMOVE = eINSTANCE.getEntityListener_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 ENTITY_LISTENER__POST_REMOVE = eINSTANCE.getEntityListener_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 ENTITY_LISTENER__PRE_UPDATE = eINSTANCE.getEntityListener_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 ENTITY_LISTENER__POST_UPDATE = eINSTANCE.getEntityListener_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 ENTITY_LISTENER__POST_LOAD = eINSTANCE.getEntityListener_PostLoad();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityResult <em>Entity Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EntityResult
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.EventMethod <em>Event Method</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EventMethod
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.FieldResult <em>Field Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.FieldResult
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlGeneratedValue <em>Xml Generated Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGeneratedValue
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlGeneratedValueImpl <em>Xml Generated Value Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGeneratedValueImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlGeneratedValueImpl()
+ * @generated
+ */
+ public static final EClass XML_GENERATED_VALUE_IMPL = eINSTANCE.getXmlGeneratedValueImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdClass <em>Xml Id Class</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdClass
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlIdClass()
+ * @generated
+ */
+ public static final EClass XML_ID_CLASS = eINSTANCE.getXmlIdClass();
+
+ /**
+ * 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_ID_CLASS__CLASS_NAME = eINSTANCE.getXmlIdClass_ClassName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Inheritance <em>Inheritance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.Inheritance
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlJoinColumn <em>Xml Join Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinColumn()
+ * @generated
+ */
+ public static final EClass XML_JOIN_COLUMN = eINSTANCE.getXmlJoinColumn();
+
+ /**
+ * 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_JOIN_COLUMN__REFERENCED_COLUMN_NAME = eINSTANCE.getXmlJoinColumn_ReferencedColumnName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinColumnImpl <em>Xml Join Column Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinColumnImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinColumnImpl()
+ * @generated
+ */
+ public static final EClass XML_JOIN_COLUMN_IMPL = eINSTANCE.getXmlJoinColumnImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinTable <em>Xml Join Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinTable
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinTable()
+ * @generated
+ */
+ public static final EClass XML_JOIN_TABLE = eINSTANCE.getXmlJoinTable();
+
+ /**
+ * 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_TABLE__JOIN_COLUMNS = eINSTANCE.getXmlJoinTable_JoinColumns();
+
+ /**
+ * The meta object literal for the '<em><b>Inverse Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS = eINSTANCE.getXmlJoinTable_InverseJoinColumns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinTableImpl <em>Xml Join Table Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinTableImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinTableImpl()
+ * @generated
+ */
+ public static final EClass XML_JOIN_TABLE_IMPL = eINSTANCE.getXmlJoinTableImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Lob <em>Lob</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.Lob
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getLob()
+ * @generated
+ */
+ public static final EClass LOB = eINSTANCE.getLob();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.MapKey <em>Map Key</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.MapKey
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.MapKeyImpl <em>Map Key Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.MapKeyImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getMapKeyImpl()
+ * @generated
+ */
+ public static final EClass MAP_KEY_IMPL = eINSTANCE.getMapKeyImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlQuery <em>Xml Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlQuery
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlNamedNativeQuery <em>Xml Named Native Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedNativeQuery
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlNamedQuery <em>Xml Named Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedQuery
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlNamedQuery()
+ * @generated
+ */
+ public static final EClass XML_NAMED_QUERY = eINSTANCE.getXmlNamedQuery();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PostLoad <em>Post Load</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PostLoad
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPostLoad()
+ * @generated
+ */
+ public static final EClass POST_LOAD = eINSTANCE.getPostLoad();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PostPersist <em>Post Persist</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PostPersist
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPostPersist()
+ * @generated
+ */
+ public static final EClass POST_PERSIST = eINSTANCE.getPostPersist();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PostRemove <em>Post Remove</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PostRemove
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPostRemove()
+ * @generated
+ */
+ public static final EClass POST_REMOVE = eINSTANCE.getPostRemove();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PostUpdate <em>Post Update</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PostUpdate
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPostUpdate()
+ * @generated
+ */
+ public static final EClass POST_UPDATE = eINSTANCE.getPostUpdate();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PrePersist <em>Pre Persist</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PrePersist
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPrePersist()
+ * @generated
+ */
+ public static final EClass PRE_PERSIST = eINSTANCE.getPrePersist();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PreRemove <em>Pre Remove</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PreRemove
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPreRemove()
+ * @generated
+ */
+ public static final EClass PRE_REMOVE = eINSTANCE.getPreRemove();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.PreUpdate <em>Pre Update</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.PreUpdate
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getPreUpdate()
+ * @generated
+ */
+ public static final EClass PRE_UPDATE = eINSTANCE.getPreUpdate();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumn <em>Xml Primary Key Join Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumn
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlPrimaryKeyJoinColumn()
+ * @generated
+ */
+ public static final EClass XML_PRIMARY_KEY_JOIN_COLUMN = eINSTANCE.getXmlPrimaryKeyJoinColumn();
+
+ /**
+ * 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_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME = eINSTANCE.getXmlPrimaryKeyJoinColumn_ReferencedColumnName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumnImpl <em>Xml Primary Key Join Column Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumnImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlPrimaryKeyJoinColumnImpl()
+ * @generated
+ */
+ public static final EClass XML_PRIMARY_KEY_JOIN_COLUMN_IMPL = eINSTANCE.getXmlPrimaryKeyJoinColumnImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlQueryHint <em>Xml Query Hint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlQueryHint
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.AbstractXmlBaseTable <em>Abstract Xml Base Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AbstractXmlBaseTable
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAbstractXmlBaseTable()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_BASE_TABLE = eINSTANCE.getAbstractXmlBaseTable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable <em>Xml Base Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBaseTable()
+ * @generated
+ */
+ public static final EClass XML_BASE_TABLE = eINSTANCE.getXmlBaseTable();
+
+ /**
+ * 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_BASE_TABLE__NAME = eINSTANCE.getXmlBaseTable_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 XML_BASE_TABLE__CATALOG = eINSTANCE.getXmlBaseTable_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_BASE_TABLE__SCHEMA = eINSTANCE.getXmlBaseTable_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 XML_BASE_TABLE__UNIQUE_CONSTRAINTS = eINSTANCE.getXmlBaseTable_UniqueConstraints();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTable <em>Xml Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTable
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTable()
+ * @generated
+ */
+ public static final EClass XML_TABLE = eINSTANCE.getXmlTable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSecondaryTable <em>Xml Secondary Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSecondaryTable
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlSecondaryTableImpl <em>Xml Secondary Table Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSecondaryTableImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSecondaryTableImpl()
+ * @generated
+ */
+ public static final EClass XML_SECONDARY_TABLE_IMPL = eINSTANCE.getXmlSecondaryTableImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGenerator <em>Xml Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGenerator
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlSequenceGenerator <em>Xml Sequence Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSequenceGenerator
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlSequenceGeneratorImpl <em>Xml Sequence Generator Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSequenceGeneratorImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSequenceGeneratorImpl()
+ * @generated
+ */
+ public static final EClass XML_SEQUENCE_GENERATOR_IMPL = eINSTANCE.getXmlSequenceGeneratorImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.SqlResultSetMapping <em>Sql Result Set Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.SqlResultSetMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlTableGenerator <em>Xml Table Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGenerator
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlTableGeneratorImpl <em>Xml Table Generator Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGeneratorImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTableGeneratorImpl()
+ * @generated
+ */
+ public static final EClass XML_TABLE_GENERATOR_IMPL = eINSTANCE.getXmlTableGeneratorImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlUniqueConstraint <em>Xml Unique Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlUniqueConstraint
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlUniqueConstraintImpl <em>Xml Unique Constraint Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.XmlUniqueConstraintImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlUniqueConstraintImpl()
+ * @generated
+ */
+ public static final EClass XML_UNIQUE_CONSTRAINT_IMPL = eINSTANCE.getXmlUniqueConstraintImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType <em>Access Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getAccessType()
+ * @generated
+ */
+ public static final EEnum ACCESS_TYPE = eINSTANCE.getAccessType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.DiscriminatorType <em>Discriminator Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.DiscriminatorType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getDiscriminatorType()
+ * @generated
+ */
+ public static final EEnum DISCRIMINATOR_TYPE = eINSTANCE.getDiscriminatorType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EnumType <em>Enum Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EnumType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEnumType()
+ * @generated
+ */
+ public static final EEnum ENUM_TYPE = eINSTANCE.getEnumType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.FetchType <em>Fetch Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.FetchType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getFetchType()
+ * @generated
+ */
+ public static final EEnum FETCH_TYPE = eINSTANCE.getFetchType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.GenerationType <em>Generation Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.GenerationType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getGenerationType()
+ * @generated
+ */
+ public static final EEnum GENERATION_TYPE = eINSTANCE.getGenerationType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.InheritanceType <em>Inheritance Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.InheritanceType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getInheritanceType()
+ * @generated
+ */
+ public static final EEnum INHERITANCE_TYPE = eINSTANCE.getInheritanceType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.TemporalType <em>Temporal Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.TemporalType
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getTemporalType()
+ * @generated
+ */
+ public static final EEnum TEMPORAL_TYPE = eINSTANCE.getTemporalType();
+
+ /**
+ * The meta object literal for the '<em>Discriminator Value</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getDiscriminatorValue()
+ * @generated
+ */
+ public static final EDataType DISCRIMINATOR_VALUE = eINSTANCE.getDiscriminatorValue();
+
+ /**
+ * The meta object literal for the '<em>Enumerated</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.common.util.Enumerator
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEnumerated()
+ * @generated
+ */
+ public static final EDataType ENUMERATED = eINSTANCE.getEnumerated();
+
+ /**
+ * The meta object literal for the '<em>Order By</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getOrderBy()
+ * @generated
+ */
+ public static final EDataType ORDER_BY = eINSTANCE.getOrderBy();
+
+ /**
+ * The meta object literal for the '<em>Version Type</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getVersionType()
+ * @generated
+ */
+ public static final EDataType VERSION_TYPE = eINSTANCE.getVersionType();
+
+ }
+
+} //EclipseLinkOrmPackage
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmResource.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmResource.java
new file mode 100644
index 0000000000..c8b6accf41
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmResource.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jdt.core.ElementChangedEvent;
+import org.eclipse.jpt.core.resource.common.JpaXmlResource;
+import org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators.EntityMappingsTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Renderer;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * 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.
+ */
+public class EclipseLinkOrmResource extends JpaXmlResource
+{
+ public EclipseLinkOrmResource(Renderer aRenderer) {
+ super(aRenderer);
+ }
+
+ public EclipseLinkOrmResource(URI uri, Renderer aRenderer) {
+ super(uri, aRenderer);
+ }
+
+ public Translator getRootTranslator() {
+ return EntityMappingsTranslator.INSTANCE;
+ }
+
+ @Override
+ public void javaElementChanged(ElementChangedEvent event) {
+ // TODO
+ }
+
+ @Override
+ public void updateFromResource() {
+ // TODO
+ }
+
+ public XmlEntityMappings getEntityMappings() {
+ return (XmlEntityMappings) getRootObject();
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmResourceFactory.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmResourceFactory.java
new file mode 100644
index 0000000000..2722d31618
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EclipseLinkOrmResourceFactory.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.wst.common.internal.emf.resource.Renderer;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
+import org.eclipse.wst.common.internal.emf.resource.TranslatorResource;
+import org.eclipse.wst.common.internal.emf.resource.TranslatorResourceFactory;
+
+/**
+ * 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.
+ */
+public class EclipseLinkOrmResourceFactory extends TranslatorResourceFactory
+{
+ public EclipseLinkOrmResourceFactory() {
+ this(RendererFactory.getDefaultRendererFactory());
+ }
+
+ public EclipseLinkOrmResourceFactory(RendererFactory aRendererFactory) {
+ super(aRendererFactory);
+ }
+
+ public EclipseLinkOrmResourceFactory(RendererFactory aRendererFactory, boolean listeningForUpdates) {
+ super(aRendererFactory, listeningForUpdates);
+ }
+
+
+ /**
+ * @see TranslatorResourceFactory#createResource(URI, Renderer)
+ */
+ @Override
+ protected TranslatorResource createResource(URI uri, Renderer renderer) {
+ return new EclipseLinkOrmResource(uri, renderer);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EntityListener.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EntityListener.java
new file mode 100644
index 0000000000..8cd64f08f9
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EntityListener.java
@@ -0,0 +1,797 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Listener</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#getClassName <em>Class Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#getPrePersist <em>Pre Persist</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#getPostPersist <em>Post Persist</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#getPreRemove <em>Pre Remove</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#getPostRemove <em>Post Remove</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#getPreUpdate <em>Pre Update</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#getPostUpdate <em>Post Update</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListener#getPostLoad <em>Post Load</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityListener()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class EntityListener extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * 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 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EntityListener()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityListener_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_PERSIST, null, msgs);
+ if (newPrePersist != null)
+ msgs = ((InternalEObject)newPrePersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_PERSIST, null, msgs);
+ msgs = basicSetPrePersist(newPrePersist, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityListener_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.ENTITY_LISTENER__POST_PERSIST, null, msgs);
+ if (newPostPersist != null)
+ msgs = ((InternalEObject)newPostPersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.ENTITY_LISTENER__POST_PERSIST, null, msgs);
+ msgs = basicSetPostPersist(newPostPersist, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityListener_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_REMOVE, null, msgs);
+ if (newPreRemove != null)
+ msgs = ((InternalEObject)newPreRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_REMOVE, null, msgs);
+ msgs = basicSetPreRemove(newPreRemove, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityListener_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.ENTITY_LISTENER__POST_REMOVE, null, msgs);
+ if (newPostRemove != null)
+ msgs = ((InternalEObject)newPostRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.ENTITY_LISTENER__POST_REMOVE, null, msgs);
+ msgs = basicSetPostRemove(newPostRemove, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityListener_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_UPDATE, null, msgs);
+ if (newPreUpdate != null)
+ msgs = ((InternalEObject)newPreUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_UPDATE, null, msgs);
+ msgs = basicSetPreUpdate(newPreUpdate, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityListener_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.ENTITY_LISTENER__POST_UPDATE, null, msgs);
+ if (newPostUpdate != null)
+ msgs = ((InternalEObject)newPostUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.ENTITY_LISTENER__POST_UPDATE, null, msgs);
+ msgs = basicSetPostUpdate(newPostUpdate, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityListener_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.ENTITY_LISTENER__POST_LOAD, null, msgs);
+ if (newPostLoad != null)
+ msgs = ((InternalEObject)newPostLoad).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.ENTITY_LISTENER__POST_LOAD, null, msgs);
+ msgs = basicSetPostLoad(newPostLoad, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.ENTITY_LISTENER__POST_LOAD, newPostLoad, newPostLoad));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_PERSIST:
+ return basicSetPrePersist(null, msgs);
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_PERSIST:
+ return basicSetPostPersist(null, msgs);
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_REMOVE:
+ return basicSetPreRemove(null, msgs);
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_REMOVE:
+ return basicSetPostRemove(null, msgs);
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_UPDATE:
+ return basicSetPreUpdate(null, msgs);
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_UPDATE:
+ return basicSetPostUpdate(null, msgs);
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ENTITY_LISTENER__CLASS_NAME:
+ return getClassName();
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_PERSIST:
+ return getPrePersist();
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_PERSIST:
+ return getPostPersist();
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_REMOVE:
+ return getPreRemove();
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_REMOVE:
+ return getPostRemove();
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_UPDATE:
+ return getPreUpdate();
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_UPDATE:
+ return getPostUpdate();
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_LOAD:
+ return getPostLoad();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__CLASS_NAME:
+ setClassName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_PERSIST:
+ setPrePersist((PrePersist)newValue);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_PERSIST:
+ setPostPersist((PostPersist)newValue);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_REMOVE:
+ setPreRemove((PreRemove)newValue);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_REMOVE:
+ setPostRemove((PostRemove)newValue);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_UPDATE:
+ setPreUpdate((PreUpdate)newValue);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_UPDATE:
+ setPostUpdate((PostUpdate)newValue);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_LOAD:
+ setPostLoad((PostLoad)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__CLASS_NAME:
+ setClassName(CLASS_NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_PERSIST:
+ setPrePersist((PrePersist)null);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_PERSIST:
+ setPostPersist((PostPersist)null);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_REMOVE:
+ setPreRemove((PreRemove)null);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_REMOVE:
+ setPostRemove((PostRemove)null);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_UPDATE:
+ setPreUpdate((PreUpdate)null);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_UPDATE:
+ setPostUpdate((PostUpdate)null);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_LOAD:
+ setPostLoad((PostLoad)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__CLASS_NAME:
+ return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_PERSIST:
+ return prePersist != null;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_PERSIST:
+ return postPersist != null;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_REMOVE:
+ return preRemove != null;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_REMOVE:
+ return postRemove != null;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__PRE_UPDATE:
+ return preUpdate != null;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_UPDATE:
+ return postUpdate != null;
+ case EclipseLinkOrmPackage.ENTITY_LISTENER__POST_LOAD:
+ return postLoad != 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(" (className: ");
+ result.append(className);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EntityListener
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EntityListeners.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EntityListeners.java
new file mode 100644
index 0000000000..47d1c1b324
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EntityListeners.java
@@ -0,0 +1,185 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Listeners</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityListeners#getEntityListeners <em>Entity Listeners</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityListeners()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class EntityListeners extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * 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 EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityListeners_EntityListeners()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EntityListener> getEntityListeners()
+ {
+ if (entityListeners == null)
+ {
+ entityListeners = new EObjectContainmentEList<EntityListener>(EntityListener.class, this, EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ENTITY_LISTENERS__ENTITY_LISTENERS:
+ return entityListeners != null && !entityListeners.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // EntityListeners
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EntityResult.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EntityResult.java
new file mode 100644
index 0000000000..d3382de9a1
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EntityResult.java
@@ -0,0 +1,339 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Result</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityResult#getDiscriminatorColumn <em>Discriminator Column</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityResult#getEntityClass <em>Entity Class</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EntityResult#getFieldResults <em>Field Results</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityResult()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class EntityResult extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * 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 EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEntityResult_FieldResults()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<FieldResult> getFieldResults()
+ {
+ if (fieldResults == null)
+ {
+ fieldResults = new EObjectContainmentEList<FieldResult>(FieldResult.class, this, EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ENTITY_RESULT__DISCRIMINATOR_COLUMN:
+ return getDiscriminatorColumn();
+ case EclipseLinkOrmPackage.ENTITY_RESULT__ENTITY_CLASS:
+ return getEntityClass();
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ENTITY_RESULT__DISCRIMINATOR_COLUMN:
+ setDiscriminatorColumn((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_RESULT__ENTITY_CLASS:
+ setEntityClass((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ENTITY_RESULT__DISCRIMINATOR_COLUMN:
+ setDiscriminatorColumn(DISCRIMINATOR_COLUMN_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.ENTITY_RESULT__ENTITY_CLASS:
+ setEntityClass(ENTITY_CLASS_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.ENTITY_RESULT__DISCRIMINATOR_COLUMN:
+ return DISCRIMINATOR_COLUMN_EDEFAULT == null ? discriminatorColumn != null : !DISCRIMINATOR_COLUMN_EDEFAULT.equals(discriminatorColumn);
+ case EclipseLinkOrmPackage.ENTITY_RESULT__ENTITY_CLASS:
+ return ENTITY_CLASS_EDEFAULT == null ? entityClass != null : !ENTITY_CLASS_EDEFAULT.equals(entityClass);
+ case EclipseLinkOrmPackage.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();
+ }
+
+} // EntityResult
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EnumType.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EnumType.java
new file mode 100644
index 0000000000..9a540e8718
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EnumType.java
@@ -0,0 +1,231 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Enum Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EventMethod.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EventMethod.java
new file mode 100644
index 0000000000..f8979bd5f4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/EventMethod.java
@@ -0,0 +1,200 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Event Method</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.EventMethod#getMethodName <em>Method Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getEventMethod()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class EventMethod extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * 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 EclipseLinkOrmPackage.Literals.EVENT_METHOD;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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(" (methodName: ");
+ result.append(methodName);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EventMethod
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/FetchType.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/FetchType.java
new file mode 100644
index 0000000000..03f503811f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/FetchType.java
@@ -0,0 +1,231 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Fetch Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/FieldResult.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/FieldResult.java
new file mode 100644
index 0000000000..5dc6fa00a0
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/FieldResult.java
@@ -0,0 +1,268 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Field Result</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.FieldResult#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.FieldResult#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getFieldResult()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class FieldResult extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * 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 EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.FIELD_RESULT__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.FIELD_RESULT__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.FIELD_RESULT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.FIELD_RESULT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.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();
+ }
+
+} // FieldResult
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/GenerationType.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/GenerationType.java
new file mode 100644
index 0000000000..eb7fb2f6b1
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/GenerationType.java
@@ -0,0 +1,285 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Generation Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/Inheritance.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/Inheritance.java
new file mode 100644
index 0000000000..3778a12b5a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/Inheritance.java
@@ -0,0 +1,204 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Inheritance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.Inheritance#getStrategy <em>Strategy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getInheritance()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class Inheritance extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * The default value of the '{@link #getStrategy() <em>Strategy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStrategy()
+ * @generated
+ * @ordered
+ */
+ protected static final InheritanceType STRATEGY_EDEFAULT = InheritanceType.SINGLE_TABLE;
+
+ /**
+ * The cached value of the '{@link #getStrategy() <em>Strategy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStrategy()
+ * @generated
+ * @ordered
+ */
+ protected InheritanceType strategy = STRATEGY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Inheritance()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.InheritanceType
+ * @see #setStrategy(InheritanceType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getInheritance_Strategy()
+ * @model default="SINGLE_TABLE"
+ * @generated
+ */
+ public InheritanceType getStrategy()
+ {
+ return strategy;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.INHERITANCE__STRATEGY, oldStrategy, strategy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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();
+ }
+
+} // Inheritance
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/InheritanceType.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/InheritanceType.java
new file mode 100644
index 0000000000..69c62621a4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/InheritanceType.java
@@ -0,0 +1,258 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Inheritance Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/Lob.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/Lob.java
new file mode 100644
index 0000000000..158077295e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/Lob.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lob</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getLob()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class Lob extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Lob()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.LOB;
+ }
+
+} // Lob
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/MapKey.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/MapKey.java
new file mode 100644
index 0000000000..41ca7b1932
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/MapKey.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Map Key</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.MapKey#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getMapKey()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface MapKey extends JpaEObject
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getMapKey_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.MapKey#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // MapKey
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/MapKeyImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/MapKeyImpl.java
new file mode 100644
index 0000000000..ca1ab76593
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/MapKeyImpl.java
@@ -0,0 +1,192 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Map Key Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getMapKeyImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class MapKeyImpl extends AbstractJpaEObject implements MapKey
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MapKeyImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.MAP_KEY_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.MapKeyImpl#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, EclipseLinkOrmPackage.MAP_KEY_IMPL__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.MAP_KEY_IMPL__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 EclipseLinkOrmPackage.MAP_KEY_IMPL__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 EclipseLinkOrmPackage.MAP_KEY_IMPL__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.MAP_KEY_IMPL__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // MapKeyImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostLoad.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostLoad.java
new file mode 100644
index 0000000000..c8449ee565
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostLoad.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Post Load</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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 EclipseLinkOrmPackage.Literals.POST_LOAD;
+ }
+
+} // PostLoad
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostPersist.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostPersist.java
new file mode 100644
index 0000000000..e383af668c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostPersist.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Post Persist</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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 EclipseLinkOrmPackage.Literals.POST_PERSIST;
+ }
+
+} // PostPersist
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostRemove.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostRemove.java
new file mode 100644
index 0000000000..261b9ba4ef
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostRemove.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Post Remove</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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 EclipseLinkOrmPackage.Literals.POST_REMOVE;
+ }
+
+} // PostRemove
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostUpdate.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostUpdate.java
new file mode 100644
index 0000000000..e693294377
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PostUpdate.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Post Update</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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 EclipseLinkOrmPackage.Literals.POST_UPDATE;
+ }
+
+} // PostUpdate
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PrePersist.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PrePersist.java
new file mode 100644
index 0000000000..1e4ce6cd7c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PrePersist.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pre Persist</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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 EclipseLinkOrmPackage.Literals.PRE_PERSIST;
+ }
+
+} // PrePersist
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PreRemove.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PreRemove.java
new file mode 100644
index 0000000000..cc181de910
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PreRemove.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pre Remove</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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 EclipseLinkOrmPackage.Literals.PRE_REMOVE;
+ }
+
+} // PreRemove
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PreUpdate.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PreUpdate.java
new file mode 100644
index 0000000000..4290d2766e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/PreUpdate.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pre Update</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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 EclipseLinkOrmPackage.Literals.PRE_UPDATE;
+ }
+
+} // PreUpdate
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/SqlResultSetMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/SqlResultSetMapping.java
new file mode 100644
index 0000000000..aed6de1044
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/SqlResultSetMapping.java
@@ -0,0 +1,318 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sql Result Set Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.SqlResultSetMapping#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.SqlResultSetMapping#getEntityResults <em>Entity Results</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.SqlResultSetMapping#getColumnResults <em>Column Results</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getSqlResultSetMapping()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class SqlResultSetMapping extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * 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 EclipseLinkOrmPackage.Literals.SQL_RESULT_SET_MAPPING;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getSqlResultSetMapping_EntityResults()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EntityResult> getEntityResults()
+ {
+ if (entityResults == null)
+ {
+ entityResults = new EObjectContainmentEList<EntityResult>(EntityResult.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getSqlResultSetMapping_ColumnResults()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<ColumnResult> getColumnResults()
+ {
+ if (columnResults == null)
+ {
+ columnResults = new EObjectContainmentEList<ColumnResult>(ColumnResult.class, this, EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS:
+ return ((InternalEList<?>)getEntityResults()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.SQL_RESULT_SET_MAPPING__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS:
+ return getEntityResults();
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.SQL_RESULT_SET_MAPPING__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS:
+ getEntityResults().clear();
+ getEntityResults().addAll((Collection<? extends EntityResult>)newValue);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.SQL_RESULT_SET_MAPPING__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS:
+ getEntityResults().clear();
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.SQL_RESULT_SET_MAPPING__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS:
+ return entityResults != null && !entityResults.isEmpty();
+ case EclipseLinkOrmPackage.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(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // SqlResultSetMapping
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/TemporalType.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/TemporalType.java
new file mode 100644
index 0000000000..c911d3e13c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/TemporalType.java
@@ -0,0 +1,258 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Temporal Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAbstractColumn.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAbstractColumn.java
new file mode 100644
index 0000000000..e919711518
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAbstractColumn.java
@@ -0,0 +1,166 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Abstract Column</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getInsertable <em>Insertable</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getNullable <em>Nullable</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getTable <em>Table</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getUnique <em>Unique</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#getUpdatable <em>Updatable</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAbstractColumn()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlAbstractColumn 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAbstractColumn_Insertable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getInsertable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAbstractColumn_Nullable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getNullable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAbstractColumn_Table()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getTable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAbstractColumn_Unique()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getUnique();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAbstractColumn_Updatable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getUpdatable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAbstractColumn#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);
+
+} // XmlAbstractColumn
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAssociationOverride.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAssociationOverride.java
new file mode 100644
index 0000000000..b1d597e631
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAssociationOverride.java
@@ -0,0 +1,79 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Association Override</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverride#getJoinColumns <em>Join Columns</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAssociationOverride#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAssociationOverride()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlAssociationOverride extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAssociationOverride_JoinColumns()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<XmlJoinColumn> getJoinColumns();
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAssociationOverride_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setName(String value);
+
+} // XmlAssociationOverride
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAssociationOverrideImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAssociationOverrideImpl.java
new file mode 100644
index 0000000000..7968780ae9
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAssociationOverrideImpl.java
@@ -0,0 +1,262 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.core.resource.common.AbstractJpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Association Override Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAssociationOverrideImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlAssociationOverrideImpl extends AbstractJpaEObject implements XmlAssociationOverride
+{
+ /**
+ * 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 #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 XmlAssociationOverrideImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_ASSOCIATION_OVERRIDE_IMPL;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAssociationOverride_JoinColumns()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ public EList<XmlJoinColumn> getJoinColumns()
+ {
+ if (joinColumns == null)
+ {
+ joinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, EclipseLinkOrmPackage.XML_ASSOCIATION_OVERRIDE_IMPL__JOIN_COLUMNS);
+ }
+ return joinColumns;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAssociationOverride_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.eclipselink.core.resource.elorm.XmlAssociationOverrideImpl#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, EclipseLinkOrmPackage.XML_ASSOCIATION_OVERRIDE_IMPL__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ASSOCIATION_OVERRIDE_IMPL__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 EclipseLinkOrmPackage.XML_ASSOCIATION_OVERRIDE_IMPL__JOIN_COLUMNS:
+ return getJoinColumns();
+ case EclipseLinkOrmPackage.XML_ASSOCIATION_OVERRIDE_IMPL__NAME:
+ return getName();
+ }
+ 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 EclipseLinkOrmPackage.XML_ASSOCIATION_OVERRIDE_IMPL__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ getJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ASSOCIATION_OVERRIDE_IMPL__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 EclipseLinkOrmPackage.XML_ASSOCIATION_OVERRIDE_IMPL__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ASSOCIATION_OVERRIDE_IMPL__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ASSOCIATION_OVERRIDE_IMPL__JOIN_COLUMNS:
+ return joinColumns != null && !joinColumns.isEmpty();
+ case EclipseLinkOrmPackage.XML_ASSOCIATION_OVERRIDE_IMPL__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();
+ }
+
+} // XmlAssociationOverrideImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAttributeMapping.java
new file mode 100644
index 0000000000..777fdd8939
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAttributeMapping.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Attribute Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeMapping#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAttributeMapping()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlAttributeMapping extends JpaEObject
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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);
+
+} // XmlAttributeMapping
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAttributeOverride.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAttributeOverride.java
new file mode 100644
index 0000000000..21c57c276c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAttributeOverride.java
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Attribute Override</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverride#getColumn <em>Column</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverride#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAttributeOverride()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlAttributeOverride extends JpaEObject
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAttributeOverride_Column()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ XmlColumn getColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setColumn(XmlColumn 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAttributeOverride_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setName(String value);
+
+} // XmlAttributeOverride
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAttributeOverrideImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAttributeOverrideImpl.java
new file mode 100644
index 0000000000..8a7d1dc8d5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlAttributeOverrideImpl.java
@@ -0,0 +1,290 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.jpt.core.resource.common.AbstractJpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Attribute Override Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAttributeOverrideImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlAttributeOverrideImpl extends AbstractJpaEObject implements XmlAttributeOverride
+{
+ /**
+ * 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 #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 XmlAttributeOverrideImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_ATTRIBUTE_OVERRIDE_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__COLUMN, oldColumn, newColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlAttributeOverrideImpl#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 - EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__COLUMN, null, msgs);
+ if (newColumn != null)
+ msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__COLUMN, null, msgs);
+ msgs = basicSetColumn(newColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlAttributeOverride_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.eclipselink.core.resource.elorm.XmlAttributeOverrideImpl#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, EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__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 EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__COLUMN:
+ return getColumn();
+ case EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__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 EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__COLUMN:
+ setColumn((XmlColumn)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__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 EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__COLUMN:
+ setColumn((XmlColumn)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__COLUMN:
+ return column != null;
+ case EclipseLinkOrmPackage.XML_ATTRIBUTE_OVERRIDE_IMPL__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();
+ }
+
+} // XmlAttributeOverrideImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlBaseTable.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlBaseTable.java
new file mode 100644
index 0000000000..d80febefa5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlBaseTable.java
@@ -0,0 +1,133 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Base Table</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#getUniqueConstraints <em>Unique Constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBaseTable()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlBaseTable extends JpaEObject
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBaseTable_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Catalog</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Catalog</em>' attribute.
+ * @see #setCatalog(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBaseTable_Catalog()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getCatalog();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBaseTable_Schema()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getSchema();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBaseTable#getSchema <em>Schema</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Schema</em>' attribute.
+ * @see #getSchema()
+ * @generated
+ */
+ void setSchema(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBaseTable_UniqueConstraints()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlUniqueConstraint> getUniqueConstraints();
+
+} // XmlBaseTable
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlBasic.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlBasic.java
new file mode 100644
index 0000000000..7a5db618fb
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlBasic.java
@@ -0,0 +1,176 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Basic</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic#getOptional <em>Optional</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic#isLob <em>Lob</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic#getTemporal <em>Temporal</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasic#getEnumerated <em>Enumerated</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasic()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlBasic extends XmlAttributeMapping, ColumnMapping
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasic_Fetch()
+ * @model default="LAZY"
+ * @generated
+ */
+ FetchType getFetch();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.FetchType
+ * @see #getFetch()
+ * @generated
+ */
+ void setFetch(FetchType value);
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasic_Optional()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getOptional();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setOptional(Boolean value);
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasic_Lob()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isLob();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ 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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.TemporalType
+ * @see #setTemporal(TemporalType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasic_Temporal()
+ * @model
+ * @generated
+ */
+ TemporalType getTemporal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EnumType
+ * @see #setEnumerated(EnumType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasic_Enumerated()
+ * @model
+ * @generated
+ */
+ EnumType getEnumerated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EnumType
+ * @see #getEnumerated()
+ * @generated
+ */
+ void setEnumerated(EnumType value);
+
+} // XmlBasic
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlBasicImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlBasicImpl.java
new file mode 100644
index 0000000000..ca481a2637
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlBasicImpl.java
@@ -0,0 +1,628 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Basic Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasicImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlBasicImpl extends AbstractXmlAttributeMapping implements XmlBasic
+{
+ /**
+ * 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 #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected static final FetchType FETCH_EDEFAULT = FetchType.LAZY;
+
+ /**
+ * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected FetchType fetch = FETCH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #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;
+
+ /**
+ * 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;
+
+ /**
+ * The default value of the '{@link #getTemporal() <em>Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTemporal()
+ * @generated
+ * @ordered
+ */
+ protected static final TemporalType TEMPORAL_EDEFAULT = TemporalType.DATE;
+
+ /**
+ * 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 XmlBasicImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_BASIC_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.XML_BASIC_IMPL__COLUMN, oldColumn, newColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasicImpl#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 - EclipseLinkOrmPackage.XML_BASIC_IMPL__COLUMN, null, msgs);
+ if (newColumn != null)
+ msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_BASIC_IMPL__COLUMN, null, msgs);
+ msgs = basicSetColumn(newColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_IMPL__COLUMN, newColumn, newColumn));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasic_Fetch()
+ * @model default="LAZY"
+ * @generated
+ */
+ public FetchType getFetch()
+ {
+ return fetch;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasicImpl#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_BASIC_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlBasicImpl#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, EclipseLinkOrmPackage.XML_BASIC_IMPL__OPTIONAL, oldOptional, optional));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasic_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.eclipselink.core.resource.elorm.XmlBasicImpl#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, EclipseLinkOrmPackage.XML_BASIC_IMPL__LOB, oldLob, lob));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Temporal</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.TemporalType
+ * @see #setTemporal(TemporalType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasic_Temporal()
+ * @model
+ * @generated
+ */
+ public TemporalType getTemporal()
+ {
+ return temporal;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasicImpl#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_BASIC_IMPL__TEMPORAL, oldTemporal, temporal));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Enumerated</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EnumType
+ * @see #setEnumerated(EnumType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlBasic_Enumerated()
+ * @model
+ * @generated
+ */
+ public EnumType getEnumerated()
+ {
+ return enumerated;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlBasicImpl#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_BASIC_IMPL__ENUMERATED, oldEnumerated, enumerated));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__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 EclipseLinkOrmPackage.XML_BASIC_IMPL__COLUMN:
+ return getColumn();
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__FETCH:
+ return getFetch();
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__OPTIONAL:
+ return getOptional();
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__LOB:
+ return isLob() ? Boolean.TRUE : Boolean.FALSE;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__TEMPORAL:
+ return getTemporal();
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__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 EclipseLinkOrmPackage.XML_BASIC_IMPL__COLUMN:
+ setColumn((XmlColumn)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__OPTIONAL:
+ setOptional((Boolean)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__LOB:
+ setLob(((Boolean)newValue).booleanValue());
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__TEMPORAL:
+ setTemporal((TemporalType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__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 EclipseLinkOrmPackage.XML_BASIC_IMPL__COLUMN:
+ setColumn((XmlColumn)null);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__FETCH:
+ setFetch(FETCH_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__OPTIONAL:
+ setOptional(OPTIONAL_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__LOB:
+ setLob(LOB_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__TEMPORAL:
+ setTemporal(TEMPORAL_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__ENUMERATED:
+ setEnumerated(ENUMERATED_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__COLUMN:
+ return column != null;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__FETCH:
+ return fetch != FETCH_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__OPTIONAL:
+ return OPTIONAL_EDEFAULT == null ? optional != null : !OPTIONAL_EDEFAULT.equals(optional);
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__LOB:
+ return lob != LOB_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__TEMPORAL:
+ return temporal != TEMPORAL_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__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 EclipseLinkOrmPackage.XML_BASIC_IMPL__COLUMN: return EclipseLinkOrmPackage.COLUMN_MAPPING__COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlBasic.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__FETCH: return EclipseLinkOrmPackage.XML_BASIC__FETCH;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__OPTIONAL: return EclipseLinkOrmPackage.XML_BASIC__OPTIONAL;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__LOB: return EclipseLinkOrmPackage.XML_BASIC__LOB;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__TEMPORAL: return EclipseLinkOrmPackage.XML_BASIC__TEMPORAL;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__ENUMERATED: return EclipseLinkOrmPackage.XML_BASIC__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 EclipseLinkOrmPackage.COLUMN_MAPPING__COLUMN: return EclipseLinkOrmPackage.XML_BASIC_IMPL__COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlBasic.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_BASIC__FETCH: return EclipseLinkOrmPackage.XML_BASIC_IMPL__FETCH;
+ case EclipseLinkOrmPackage.XML_BASIC__OPTIONAL: return EclipseLinkOrmPackage.XML_BASIC_IMPL__OPTIONAL;
+ case EclipseLinkOrmPackage.XML_BASIC__LOB: return EclipseLinkOrmPackage.XML_BASIC_IMPL__LOB;
+ case EclipseLinkOrmPackage.XML_BASIC__TEMPORAL: return EclipseLinkOrmPackage.XML_BASIC_IMPL__TEMPORAL;
+ case EclipseLinkOrmPackage.XML_BASIC__ENUMERATED: return EclipseLinkOrmPackage.XML_BASIC_IMPL__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(" (fetch: ");
+ result.append(fetch);
+ result.append(", optional: ");
+ result.append(optional);
+ result.append(", lob: ");
+ result.append(lob);
+ result.append(", temporal: ");
+ result.append(temporal);
+ result.append(", enumerated: ");
+ result.append(enumerated);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlBasicImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlColumn.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlColumn.java
new file mode 100644
index 0000000000..61533330c4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlColumn.java
@@ -0,0 +1,112 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Column</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlColumn#getLength <em>Length</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlColumn#getPrecision <em>Precision</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlColumn#getScale <em>Scale</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlColumn()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlColumn extends XmlAbstractColumn
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlColumn_Length()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ Integer getLength();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setLength(Integer value);
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlColumn_Precision()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ Integer getPrecision();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setPrecision(Integer value);
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlColumn_Scale()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ Integer getScale();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setScale(Integer value);
+
+} // XmlColumn
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlColumnImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlColumnImpl.java
new file mode 100644
index 0000000000..01d26ae51d
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlColumnImpl.java
@@ -0,0 +1,366 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Column Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlColumnImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlColumnImpl extends AbstractXmlAbstractColumn implements XmlColumn
+{
+ /**
+ * 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 XmlColumnImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_COLUMN_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlColumnImpl#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, EclipseLinkOrmPackage.XML_COLUMN_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlColumnImpl#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, EclipseLinkOrmPackage.XML_COLUMN_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlColumnImpl#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, EclipseLinkOrmPackage.XML_COLUMN_IMPL__SCALE, oldScale, scale));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL__LENGTH:
+ return getLength();
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL__PRECISION:
+ return getPrecision();
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL__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 EclipseLinkOrmPackage.XML_COLUMN_IMPL__LENGTH:
+ setLength((Integer)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL__PRECISION:
+ setPrecision((Integer)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL__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 EclipseLinkOrmPackage.XML_COLUMN_IMPL__LENGTH:
+ setLength(LENGTH_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL__PRECISION:
+ setPrecision(PRECISION_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL__SCALE:
+ setScale(SCALE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL__LENGTH:
+ return LENGTH_EDEFAULT == null ? length != null : !LENGTH_EDEFAULT.equals(length);
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL__PRECISION:
+ return PRECISION_EDEFAULT == null ? precision != null : !PRECISION_EDEFAULT.equals(precision);
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL__SCALE:
+ return SCALE_EDEFAULT == null ? scale != null : !SCALE_EDEFAULT.equals(scale);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlColumn.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL__LENGTH: return EclipseLinkOrmPackage.XML_COLUMN__LENGTH;
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL__PRECISION: return EclipseLinkOrmPackage.XML_COLUMN__PRECISION;
+ case EclipseLinkOrmPackage.XML_COLUMN_IMPL__SCALE: return EclipseLinkOrmPackage.XML_COLUMN__SCALE;
+ 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 == XmlColumn.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_COLUMN__LENGTH: return EclipseLinkOrmPackage.XML_COLUMN_IMPL__LENGTH;
+ case EclipseLinkOrmPackage.XML_COLUMN__PRECISION: return EclipseLinkOrmPackage.XML_COLUMN_IMPL__PRECISION;
+ case EclipseLinkOrmPackage.XML_COLUMN__SCALE: return EclipseLinkOrmPackage.XML_COLUMN_IMPL__SCALE;
+ 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(" (length: ");
+ result.append(length);
+ result.append(", precision: ");
+ result.append(precision);
+ result.append(", scale: ");
+ result.append(scale);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlColumnImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlDiscriminatorColumn.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlDiscriminatorColumn.java
new file mode 100644
index 0000000000..07ca58a687
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlDiscriminatorColumn.java
@@ -0,0 +1,268 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Discriminator Column</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlDiscriminatorColumn#getDiscriminatorType <em>Discriminator Type</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlDiscriminatorColumn#getLength <em>Length</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlDiscriminatorColumn()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlDiscriminatorColumn extends AbstractXmlNamedColumn
+{
+ /**
+ * The default value of the '{@link #getDiscriminatorType() <em>Discriminator Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDiscriminatorType()
+ * @generated
+ * @ordered
+ */
+ protected static final DiscriminatorType DISCRIMINATOR_TYPE_EDEFAULT = DiscriminatorType.STRING;
+
+ /**
+ * The cached value of the '{@link #getDiscriminatorType() <em>Discriminator Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDiscriminatorType()
+ * @generated
+ * @ordered
+ */
+ protected DiscriminatorType discriminatorType = DISCRIMINATOR_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #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 XmlDiscriminatorColumn()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.DiscriminatorType
+ * @see #setDiscriminatorType(DiscriminatorType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlDiscriminatorColumn_DiscriminatorType()
+ * @model default="STRING"
+ * @generated
+ */
+ public DiscriminatorType getDiscriminatorType()
+ {
+ return discriminatorType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlDiscriminatorColumn#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlDiscriminatorColumn_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.eclipselink.core.resource.elorm.XmlDiscriminatorColumn#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, EclipseLinkOrmPackage.XML_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 EclipseLinkOrmPackage.XML_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
+ return getDiscriminatorType();
+ case EclipseLinkOrmPackage.XML_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 EclipseLinkOrmPackage.XML_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
+ setDiscriminatorType((DiscriminatorType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_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 EclipseLinkOrmPackage.XML_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
+ setDiscriminatorType(DISCRIMINATOR_TYPE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_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 EclipseLinkOrmPackage.XML_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
+ return discriminatorType != DISCRIMINATOR_TYPE_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_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 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();
+ }
+
+} // XmlDiscriminatorColumn
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddable.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddable.java
new file mode 100644
index 0000000000..a73ee411cb
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddable.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Embeddable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbeddable()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlEmbeddable extends AbstractXmlTypeMapping
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlEmbeddable()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_EMBEDDABLE;
+ }
+
+} // XmlEmbeddable
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbedded.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbedded.java
new file mode 100644
index 0000000000..c7284a825b
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbedded.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Embedded</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbedded()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlEmbedded extends BaseXmlEmbedded
+{
+} // XmlEmbedded
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddedId.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddedId.java
new file mode 100644
index 0000000000..c1c141ee07
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddedId.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Embedded Id</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbeddedId()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlEmbeddedId extends XmlAttributeMapping, BaseXmlEmbedded
+{
+} // XmlEmbeddedId
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddedIdImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddedIdImpl.java
new file mode 100644
index 0000000000..41586195a7
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddedIdImpl.java
@@ -0,0 +1,227 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Embedded Id Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbeddedIdImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlEmbeddedIdImpl extends AbstractXmlAttributeMapping implements XmlEmbeddedId
+{
+ /**
+ * 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 XmlEmbeddedIdImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_EMBEDDED_ID_IMPL;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getBaseXmlEmbedded_AttributeOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAttributeOverride> getAttributeOverrides()
+ {
+ if (attributeOverrides == null)
+ {
+ attributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, EclipseLinkOrmPackage.XML_EMBEDDED_ID_IMPL__ATTRIBUTE_OVERRIDES);
+ }
+ return attributeOverrides;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_EMBEDDED_ID_IMPL__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 EclipseLinkOrmPackage.XML_EMBEDDED_ID_IMPL__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 EclipseLinkOrmPackage.XML_EMBEDDED_ID_IMPL__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 EclipseLinkOrmPackage.XML_EMBEDDED_ID_IMPL__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_EMBEDDED_ID_IMPL__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 == BaseXmlEmbedded.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_EMBEDDED_ID_IMPL__ATTRIBUTE_OVERRIDES: return EclipseLinkOrmPackage.BASE_XML_EMBEDDED__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlEmbeddedId.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 == BaseXmlEmbedded.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.BASE_XML_EMBEDDED__ATTRIBUTE_OVERRIDES: return EclipseLinkOrmPackage.XML_EMBEDDED_ID_IMPL__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlEmbeddedId.class)
+ {
+ switch (baseFeatureID)
+ {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // XmlEmbeddedIdImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddedImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddedImpl.java
new file mode 100644
index 0000000000..6b8103beef
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEmbeddedImpl.java
@@ -0,0 +1,227 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Embedded Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEmbeddedImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlEmbeddedImpl extends AbstractXmlAttributeMapping implements XmlEmbedded
+{
+ /**
+ * 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 XmlEmbeddedImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_EMBEDDED_IMPL;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getBaseXmlEmbedded_AttributeOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAttributeOverride> getAttributeOverrides()
+ {
+ if (attributeOverrides == null)
+ {
+ attributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, EclipseLinkOrmPackage.XML_EMBEDDED_IMPL__ATTRIBUTE_OVERRIDES);
+ }
+ return attributeOverrides;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_EMBEDDED_IMPL__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 EclipseLinkOrmPackage.XML_EMBEDDED_IMPL__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 EclipseLinkOrmPackage.XML_EMBEDDED_IMPL__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 EclipseLinkOrmPackage.XML_EMBEDDED_IMPL__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_EMBEDDED_IMPL__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 == BaseXmlEmbedded.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_EMBEDDED_IMPL__ATTRIBUTE_OVERRIDES: return EclipseLinkOrmPackage.BASE_XML_EMBEDDED__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlEmbedded.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 == BaseXmlEmbedded.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.BASE_XML_EMBEDDED__ATTRIBUTE_OVERRIDES: return EclipseLinkOrmPackage.XML_EMBEDDED_IMPL__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlEmbedded.class)
+ {
+ switch (baseFeatureID)
+ {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // XmlEmbeddedImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEntity.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEntity.java
new file mode 100644
index 0000000000..59a16a7454
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEntity.java
@@ -0,0 +1,1915 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Entity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getTable <em>Table</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getSecondaryTables <em>Secondary Tables</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getIdClass <em>Id Class</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getInheritance <em>Inheritance</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getDiscriminatorValue <em>Discriminator Value</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getDiscriminatorColumn <em>Discriminator Column</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getSequenceGenerator <em>Sequence Generator</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getTableGenerator <em>Table Generator</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getNamedQueries <em>Named Queries</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getNamedNativeQueries <em>Named Native Queries</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getSqlResultSetMappings <em>Sql Result Set Mappings</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getEntityListeners <em>Entity Listeners</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getPrePersist <em>Pre Persist</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getPostPersist <em>Post Persist</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getPreRemove <em>Pre Remove</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getPostRemove <em>Post Remove</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getPreUpdate <em>Pre Update</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getPostUpdate <em>Post Update</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getPostLoad <em>Post Load</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getAttributeOverrides <em>Attribute Overrides</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntity#getAssociationOverrides <em>Association Overrides</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlEntity extends AbstractXmlTypeMapping
+{
+ /**
+ * 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 #getIdClass() <em>Id Class</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdClass()
+ * @generated
+ * @ordered
+ */
+ protected XmlIdClass idClass;
+
+ /**
+ * The cached value of the '{@link #getInheritance() <em>Inheritance</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInheritance()
+ * @generated
+ * @ordered
+ */
+ protected Inheritance inheritance;
+
+ /**
+ * The 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 #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 #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 #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;
+
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlEntity()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY__TABLE, null, msgs);
+ if (newTable != null)
+ msgs = ((InternalEObject)newTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__TABLE, null, msgs);
+ msgs = basicSetTable(newTable, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_SecondaryTables()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlSecondaryTable> getSecondaryTables()
+ {
+ if (secondaryTables == null)
+ {
+ secondaryTables = new EObjectContainmentEList<XmlSecondaryTable>(XmlSecondaryTable.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_PrimaryKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlPrimaryKeyJoinColumn> getPrimaryKeyJoinColumns()
+ {
+ if (primaryKeyJoinColumns == null)
+ {
+ primaryKeyJoinColumns = new EObjectContainmentEList<XmlPrimaryKeyJoinColumn>(XmlPrimaryKeyJoinColumn.class, this, EclipseLinkOrmPackage.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(XmlIdClass)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_IdClass()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlIdClass getIdClass()
+ {
+ return idClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIdClass(XmlIdClass newIdClass, NotificationChain msgs)
+ {
+ XmlIdClass oldIdClass = idClass;
+ idClass = newIdClass;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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(XmlIdClass newIdClass)
+ {
+ if (newIdClass != idClass)
+ {
+ NotificationChain msgs = null;
+ if (idClass != null)
+ msgs = ((InternalEObject)idClass).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__ID_CLASS, null, msgs);
+ if (newIdClass != null)
+ msgs = ((InternalEObject)newIdClass).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__ID_CLASS, null, msgs);
+ msgs = basicSetIdClass(newIdClass, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY__INHERITANCE, null, msgs);
+ if (newInheritance != null)
+ msgs = ((InternalEObject)newInheritance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__INHERITANCE, null, msgs);
+ msgs = basicSetInheritance(newInheritance, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_DiscriminatorValue()
+ * @model dataType="org.eclipse.jpt.eclipselink.core.resource.elorm.DiscriminatorValue"
+ * @generated
+ */
+ public String getDiscriminatorValue()
+ {
+ return discriminatorValue;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN, null, msgs);
+ if (newDiscriminatorColumn != null)
+ msgs = ((InternalEObject)newDiscriminatorColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN, null, msgs);
+ msgs = basicSetDiscriminatorColumn(newDiscriminatorColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY__SEQUENCE_GENERATOR, null, msgs);
+ if (newSequenceGenerator != null)
+ msgs = ((InternalEObject)newSequenceGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__SEQUENCE_GENERATOR, null, msgs);
+ msgs = basicSetSequenceGenerator(newSequenceGenerator, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY__TABLE_GENERATOR, null, msgs);
+ if (newTableGenerator != null)
+ msgs = ((InternalEObject)newTableGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__TABLE_GENERATOR, null, msgs);
+ msgs = basicSetTableGenerator(newTableGenerator, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_NamedQueries()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlNamedQuery> getNamedQueries()
+ {
+ if (namedQueries == null)
+ {
+ namedQueries = new EObjectContainmentEList<XmlNamedQuery>(XmlNamedQuery.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_NamedNativeQueries()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlNamedNativeQuery> getNamedNativeQueries()
+ {
+ if (namedNativeQueries == null)
+ {
+ namedNativeQueries = new EObjectContainmentEList<XmlNamedNativeQuery>(XmlNamedNativeQuery.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_SqlResultSetMappings()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<SqlResultSetMapping> getSqlResultSetMappings()
+ {
+ if (sqlResultSetMappings == null)
+ {
+ sqlResultSetMappings = new EObjectContainmentEList<SqlResultSetMapping>(SqlResultSetMapping.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY__ENTITY_LISTENERS, null, msgs);
+ if (newEntityListeners != null)
+ msgs = ((InternalEObject)newEntityListeners).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__ENTITY_LISTENERS, null, msgs);
+ msgs = basicSetEntityListeners(newEntityListeners, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY__PRE_PERSIST, null, msgs);
+ if (newPrePersist != null)
+ msgs = ((InternalEObject)newPrePersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__PRE_PERSIST, null, msgs);
+ msgs = basicSetPrePersist(newPrePersist, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY__POST_PERSIST, null, msgs);
+ if (newPostPersist != null)
+ msgs = ((InternalEObject)newPostPersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__POST_PERSIST, null, msgs);
+ msgs = basicSetPostPersist(newPostPersist, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY__PRE_REMOVE, null, msgs);
+ if (newPreRemove != null)
+ msgs = ((InternalEObject)newPreRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__PRE_REMOVE, null, msgs);
+ msgs = basicSetPreRemove(newPreRemove, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY__POST_REMOVE, null, msgs);
+ if (newPostRemove != null)
+ msgs = ((InternalEObject)newPostRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__POST_REMOVE, null, msgs);
+ msgs = basicSetPostRemove(newPostRemove, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY__PRE_UPDATE, null, msgs);
+ if (newPreUpdate != null)
+ msgs = ((InternalEObject)newPreUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__PRE_UPDATE, null, msgs);
+ msgs = basicSetPreUpdate(newPreUpdate, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY__POST_UPDATE, null, msgs);
+ if (newPostUpdate != null)
+ msgs = ((InternalEObject)newPostUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__POST_UPDATE, null, msgs);
+ msgs = basicSetPostUpdate(newPostUpdate, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY__POST_LOAD, null, msgs);
+ if (newPostLoad != null)
+ msgs = ((InternalEObject)newPostLoad).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__POST_LOAD, null, msgs);
+ msgs = basicSetPostLoad(newPostLoad, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_AttributeOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAttributeOverride> getAttributeOverrides()
+ {
+ if (attributeOverrides == null)
+ {
+ attributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntity_AssociationOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAssociationOverride> getAssociationOverrides()
+ {
+ if (associationOverrides == null)
+ {
+ associationOverrides = new EObjectContainmentEList<XmlAssociationOverride>(XmlAssociationOverride.class, this, EclipseLinkOrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES);
+ }
+ return associationOverrides;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ENTITY__TABLE:
+ return basicSetTable(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__SECONDARY_TABLES:
+ return ((InternalEList<?>)getSecondaryTables()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS:
+ return ((InternalEList<?>)getPrimaryKeyJoinColumns()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__ID_CLASS:
+ return basicSetIdClass(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__INHERITANCE:
+ return basicSetInheritance(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN:
+ return basicSetDiscriminatorColumn(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__SEQUENCE_GENERATOR:
+ return basicSetSequenceGenerator(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__TABLE_GENERATOR:
+ return basicSetTableGenerator(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__NAMED_QUERIES:
+ return ((InternalEList<?>)getNamedQueries()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES:
+ return ((InternalEList<?>)getNamedNativeQueries()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS:
+ return ((InternalEList<?>)getSqlResultSetMappings()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__ENTITY_LISTENERS:
+ return basicSetEntityListeners(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_PERSIST:
+ return basicSetPrePersist(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_PERSIST:
+ return basicSetPostPersist(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_REMOVE:
+ return basicSetPreRemove(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_REMOVE:
+ return basicSetPostRemove(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_UPDATE:
+ return basicSetPreUpdate(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_UPDATE:
+ return basicSetPostUpdate(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_LOAD:
+ return basicSetPostLoad(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES:
+ return ((InternalEList<?>)getAttributeOverrides()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__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 EclipseLinkOrmPackage.XML_ENTITY__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.XML_ENTITY__TABLE:
+ return getTable();
+ case EclipseLinkOrmPackage.XML_ENTITY__SECONDARY_TABLES:
+ return getSecondaryTables();
+ case EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS:
+ return getPrimaryKeyJoinColumns();
+ case EclipseLinkOrmPackage.XML_ENTITY__ID_CLASS:
+ return getIdClass();
+ case EclipseLinkOrmPackage.XML_ENTITY__INHERITANCE:
+ return getInheritance();
+ case EclipseLinkOrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE:
+ return getDiscriminatorValue();
+ case EclipseLinkOrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN:
+ return getDiscriminatorColumn();
+ case EclipseLinkOrmPackage.XML_ENTITY__SEQUENCE_GENERATOR:
+ return getSequenceGenerator();
+ case EclipseLinkOrmPackage.XML_ENTITY__TABLE_GENERATOR:
+ return getTableGenerator();
+ case EclipseLinkOrmPackage.XML_ENTITY__NAMED_QUERIES:
+ return getNamedQueries();
+ case EclipseLinkOrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES:
+ return getNamedNativeQueries();
+ case EclipseLinkOrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS:
+ return getSqlResultSetMappings();
+ case EclipseLinkOrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS:
+ return isExcludeDefaultListeners() ? Boolean.TRUE : Boolean.FALSE;
+ case EclipseLinkOrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS:
+ return isExcludeSuperclassListeners() ? Boolean.TRUE : Boolean.FALSE;
+ case EclipseLinkOrmPackage.XML_ENTITY__ENTITY_LISTENERS:
+ return getEntityListeners();
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_PERSIST:
+ return getPrePersist();
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_PERSIST:
+ return getPostPersist();
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_REMOVE:
+ return getPreRemove();
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_REMOVE:
+ return getPostRemove();
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_UPDATE:
+ return getPreUpdate();
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_UPDATE:
+ return getPostUpdate();
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_LOAD:
+ return getPostLoad();
+ case EclipseLinkOrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES:
+ return getAttributeOverrides();
+ case EclipseLinkOrmPackage.XML_ENTITY__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 EclipseLinkOrmPackage.XML_ENTITY__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__TABLE:
+ setTable((XmlTable)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__SECONDARY_TABLES:
+ getSecondaryTables().clear();
+ getSecondaryTables().addAll((Collection<? extends XmlSecondaryTable>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS:
+ getPrimaryKeyJoinColumns().clear();
+ getPrimaryKeyJoinColumns().addAll((Collection<? extends XmlPrimaryKeyJoinColumn>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__ID_CLASS:
+ setIdClass((XmlIdClass)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__INHERITANCE:
+ setInheritance((Inheritance)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE:
+ setDiscriminatorValue((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN:
+ setDiscriminatorColumn((XmlDiscriminatorColumn)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__SEQUENCE_GENERATOR:
+ setSequenceGenerator((XmlSequenceGenerator)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__TABLE_GENERATOR:
+ setTableGenerator((XmlTableGenerator)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__NAMED_QUERIES:
+ getNamedQueries().clear();
+ getNamedQueries().addAll((Collection<? extends XmlNamedQuery>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES:
+ getNamedNativeQueries().clear();
+ getNamedNativeQueries().addAll((Collection<? extends XmlNamedNativeQuery>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS:
+ getSqlResultSetMappings().clear();
+ getSqlResultSetMappings().addAll((Collection<? extends SqlResultSetMapping>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS:
+ setExcludeDefaultListeners(((Boolean)newValue).booleanValue());
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS:
+ setExcludeSuperclassListeners(((Boolean)newValue).booleanValue());
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__ENTITY_LISTENERS:
+ setEntityListeners((EntityListeners)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_PERSIST:
+ setPrePersist((PrePersist)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_PERSIST:
+ setPostPersist((PostPersist)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_REMOVE:
+ setPreRemove((PreRemove)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_REMOVE:
+ setPostRemove((PostRemove)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_UPDATE:
+ setPreUpdate((PreUpdate)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_UPDATE:
+ setPostUpdate((PostUpdate)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_LOAD:
+ setPostLoad((PostLoad)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ getAttributeOverrides().addAll((Collection<? extends XmlAttributeOverride>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__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 EclipseLinkOrmPackage.XML_ENTITY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__TABLE:
+ setTable((XmlTable)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__SECONDARY_TABLES:
+ getSecondaryTables().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS:
+ getPrimaryKeyJoinColumns().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__ID_CLASS:
+ setIdClass((XmlIdClass)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__INHERITANCE:
+ setInheritance((Inheritance)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE:
+ setDiscriminatorValue(DISCRIMINATOR_VALUE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN:
+ setDiscriminatorColumn((XmlDiscriminatorColumn)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__SEQUENCE_GENERATOR:
+ setSequenceGenerator((XmlSequenceGenerator)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__TABLE_GENERATOR:
+ setTableGenerator((XmlTableGenerator)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__NAMED_QUERIES:
+ getNamedQueries().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES:
+ getNamedNativeQueries().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS:
+ getSqlResultSetMappings().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS:
+ setExcludeDefaultListeners(EXCLUDE_DEFAULT_LISTENERS_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS:
+ setExcludeSuperclassListeners(EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__ENTITY_LISTENERS:
+ setEntityListeners((EntityListeners)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_PERSIST:
+ setPrePersist((PrePersist)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_PERSIST:
+ setPostPersist((PostPersist)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_REMOVE:
+ setPreRemove((PreRemove)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_REMOVE:
+ setPostRemove((PostRemove)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_UPDATE:
+ setPreUpdate((PreUpdate)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_UPDATE:
+ setPostUpdate((PostUpdate)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_LOAD:
+ setPostLoad((PostLoad)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES:
+ getAssociationOverrides().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ENTITY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.XML_ENTITY__TABLE:
+ return table != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__SECONDARY_TABLES:
+ return secondaryTables != null && !secondaryTables.isEmpty();
+ case EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS:
+ return primaryKeyJoinColumns != null && !primaryKeyJoinColumns.isEmpty();
+ case EclipseLinkOrmPackage.XML_ENTITY__ID_CLASS:
+ return idClass != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__INHERITANCE:
+ return inheritance != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE:
+ return DISCRIMINATOR_VALUE_EDEFAULT == null ? discriminatorValue != null : !DISCRIMINATOR_VALUE_EDEFAULT.equals(discriminatorValue);
+ case EclipseLinkOrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN:
+ return discriminatorColumn != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__SEQUENCE_GENERATOR:
+ return sequenceGenerator != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__TABLE_GENERATOR:
+ return tableGenerator != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__NAMED_QUERIES:
+ return namedQueries != null && !namedQueries.isEmpty();
+ case EclipseLinkOrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES:
+ return namedNativeQueries != null && !namedNativeQueries.isEmpty();
+ case EclipseLinkOrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS:
+ return sqlResultSetMappings != null && !sqlResultSetMappings.isEmpty();
+ case EclipseLinkOrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS:
+ return excludeDefaultListeners != EXCLUDE_DEFAULT_LISTENERS_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS:
+ return excludeSuperclassListeners != EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_ENTITY__ENTITY_LISTENERS:
+ return entityListeners != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_PERSIST:
+ return prePersist != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_PERSIST:
+ return postPersist != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_REMOVE:
+ return preRemove != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_REMOVE:
+ return postRemove != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__PRE_UPDATE:
+ return preUpdate != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_UPDATE:
+ return postUpdate != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__POST_LOAD:
+ return postLoad != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES:
+ return attributeOverrides != null && !attributeOverrides.isEmpty();
+ case EclipseLinkOrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES:
+ return associationOverrides != null && !associationOverrides.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(", discriminatorValue: ");
+ result.append(discriminatorValue);
+ result.append(", excludeDefaultListeners: ");
+ result.append(excludeDefaultListeners);
+ result.append(", excludeSuperclassListeners: ");
+ result.append(excludeSuperclassListeners);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlEntity
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEntityMappings.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEntityMappings.java
new file mode 100644
index 0000000000..941d6162b7
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlEntityMappings.java
@@ -0,0 +1,1077 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Entity Mappings</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getVersion <em>Version</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getPersistenceUnitMetadata <em>Persistence Unit Metadata</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getPackage <em>Package</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getAccess <em>Access</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getSequenceGenerators <em>Sequence Generators</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getTableGenerators <em>Table Generators</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getNamedQueries <em>Named Queries</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getNamedNativeQueries <em>Named Native Queries</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getSqlResultSetMappings <em>Sql Result Set Mappings</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getMappedSuperclasses <em>Mapped Superclasses</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getEntities <em>Entities</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getEmbeddables <em>Embeddables</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntityMappings()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class XmlEntityMappings extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final String VERSION_EDEFAULT = "1.0";
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected String version = VERSION_EDEFAULT;
+
+ /**
+ * This is true if the Version attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean versionESet;
+
+ /**
+ * 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 default value of the '{@link #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected static final AccessType ACCESS_EDEFAULT = AccessType.PROPERTY;
+
+ /**
+ * The cached value of the '{@link #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected AccessType access = ACCESS_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 #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 #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 EclipseLinkOrmPackage.Literals.XML_ENTITY_MAPPINGS;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute.
+ * The default value is <code>"1.0"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Version</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #isSetVersion()
+ * @see #unsetVersion()
+ * @see #setVersion(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntityMappings_Version()
+ * @model default="1.0" unsettable="true" dataType="org.eclipse.jpt.eclipselink.core.resource.elorm.VersionType" required="true"
+ * @generated
+ */
+ public String getVersion()
+ {
+ return version;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getVersion <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Version</em>' attribute.
+ * @see #isSetVersion()
+ * @see #unsetVersion()
+ * @see #getVersion()
+ * @generated
+ */
+ public void setVersion(String newVersion)
+ {
+ String oldVersion = version;
+ version = newVersion;
+ boolean oldVersionESet = versionESet;
+ versionESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__VERSION, oldVersion, version, !oldVersionESet));
+ }
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getVersion <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetVersion()
+ * @see #getVersion()
+ * @see #setVersion(String)
+ * @generated
+ */
+ public void unsetVersion()
+ {
+ String oldVersion = version;
+ boolean oldVersionESet = versionESet;
+ version = VERSION_EDEFAULT;
+ versionESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__VERSION, oldVersion, VERSION_EDEFAULT, oldVersionESet));
+ }
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getVersion <em>Version</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Version</em>' attribute is set.
+ * @see #unsetVersion()
+ * @see #getVersion()
+ * @see #setVersion(String)
+ * @generated
+ */
+ public boolean isSetVersion()
+ {
+ return versionESet;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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>Persistence 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA, null, msgs);
+ if (newPersistenceUnitMetadata != null)
+ msgs = ((InternalEObject)newPersistenceUnitMetadata).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__CATALOG, oldCatalog, catalog));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Access</b></em>' attribute.
+ * The default value is <code>"PROPERTY"</code>.
+ * The literals are from the enumeration {@link org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType}.
+ * <!-- 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 org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType
+ * @see #setAccess(AccessType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntityMappings_Access()
+ * @model default="PROPERTY"
+ * @generated
+ */
+ public AccessType getAccess()
+ {
+ return access;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlEntityMappings#getAccess <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access</em>' attribute.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType
+ * @see #getAccess()
+ * @generated
+ */
+ public void setAccess(AccessType newAccess)
+ {
+ AccessType oldAccess = access;
+ access = newAccess == null ? ACCESS_EDEFAULT : newAccess;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntityMappings_SequenceGenerators()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlSequenceGenerator> getSequenceGenerators()
+ {
+ if (sequenceGenerators == null)
+ {
+ sequenceGenerators = new EObjectContainmentEList<XmlSequenceGenerator>(XmlSequenceGenerator.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntityMappings_TableGenerators()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlTableGenerator> getTableGenerators()
+ {
+ if (tableGenerators == null)
+ {
+ tableGenerators = new EObjectContainmentEList<XmlTableGenerator>(XmlTableGenerator.class, this, EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS);
+ }
+ return tableGenerators;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Named Queries</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntityMappings_NamedQueries()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlNamedQuery> getNamedQueries()
+ {
+ if (namedQueries == null)
+ {
+ namedQueries = new EObjectContainmentEList<XmlNamedQuery>(XmlNamedQuery.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntityMappings_NamedNativeQueries()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlNamedNativeQuery> getNamedNativeQueries()
+ {
+ if (namedNativeQueries == null)
+ {
+ namedNativeQueries = new EObjectContainmentEList<XmlNamedNativeQuery>(XmlNamedNativeQuery.class, this, EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntityMappings_SqlResultSetMappings()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<SqlResultSetMapping> getSqlResultSetMappings()
+ {
+ if (sqlResultSetMappings == null)
+ {
+ sqlResultSetMappings = new EObjectContainmentEList<SqlResultSetMapping>(SqlResultSetMapping.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntityMappings_MappedSuperclasses()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlMappedSuperclass> getMappedSuperclasses()
+ {
+ if (mappedSuperclasses == null)
+ {
+ mappedSuperclasses = new EObjectContainmentEList<XmlMappedSuperclass>(XmlMappedSuperclass.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntityMappings_Entities()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlEntity> getEntities()
+ {
+ if (entities == null)
+ {
+ entities = new EObjectContainmentEList<XmlEntity>(XmlEntity.class, this, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlEntityMappings_Embeddables()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlEmbeddable> getEmbeddables()
+ {
+ if (embeddables == null)
+ {
+ embeddables = new EObjectContainmentEList<XmlEmbeddable>(XmlEmbeddable.class, this, EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA:
+ return basicSetPersistenceUnitMetadata(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS:
+ return ((InternalEList<?>)getSequenceGenerators()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS:
+ return ((InternalEList<?>)getTableGenerators()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES:
+ return ((InternalEList<?>)getNamedQueries()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES:
+ return ((InternalEList<?>)getNamedNativeQueries()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS:
+ return ((InternalEList<?>)getSqlResultSetMappings()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES:
+ return ((InternalEList<?>)getMappedSuperclasses()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__ENTITIES:
+ return ((InternalEList<?>)getEntities()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__VERSION:
+ return getVersion();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__DESCRIPTION:
+ return getDescription();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA:
+ return getPersistenceUnitMetadata();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__PACKAGE:
+ return getPackage();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SCHEMA:
+ return getSchema();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__CATALOG:
+ return getCatalog();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__ACCESS:
+ return getAccess();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS:
+ return getSequenceGenerators();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS:
+ return getTableGenerators();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES:
+ return getNamedQueries();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES:
+ return getNamedNativeQueries();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS:
+ return getSqlResultSetMappings();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES:
+ return getMappedSuperclasses();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__ENTITIES:
+ return getEntities();
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__VERSION:
+ setVersion((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA:
+ setPersistenceUnitMetadata((XmlPersistenceUnitMetadata)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__PACKAGE:
+ setPackage((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__ACCESS:
+ setAccess((AccessType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS:
+ getSequenceGenerators().clear();
+ getSequenceGenerators().addAll((Collection<? extends XmlSequenceGenerator>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS:
+ getTableGenerators().clear();
+ getTableGenerators().addAll((Collection<? extends XmlTableGenerator>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES:
+ getNamedQueries().clear();
+ getNamedQueries().addAll((Collection<? extends XmlNamedQuery>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES:
+ getNamedNativeQueries().clear();
+ getNamedNativeQueries().addAll((Collection<? extends XmlNamedNativeQuery>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS:
+ getSqlResultSetMappings().clear();
+ getSqlResultSetMappings().addAll((Collection<? extends SqlResultSetMapping>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES:
+ getMappedSuperclasses().clear();
+ getMappedSuperclasses().addAll((Collection<? extends XmlMappedSuperclass>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__ENTITIES:
+ getEntities().clear();
+ getEntities().addAll((Collection<? extends XmlEntity>)newValue);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__VERSION:
+ unsetVersion();
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA:
+ setPersistenceUnitMetadata((XmlPersistenceUnitMetadata)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__PACKAGE:
+ setPackage(PACKAGE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__ACCESS:
+ setAccess(ACCESS_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS:
+ getSequenceGenerators().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS:
+ getTableGenerators().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES:
+ getNamedQueries().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES:
+ getNamedNativeQueries().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS:
+ getSqlResultSetMappings().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES:
+ getMappedSuperclasses().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__ENTITIES:
+ getEntities().clear();
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__VERSION:
+ return isSetVersion();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA:
+ return persistenceUnitMetadata != null;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__PACKAGE:
+ return PACKAGE_EDEFAULT == null ? package_ != null : !PACKAGE_EDEFAULT.equals(package_);
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__ACCESS:
+ return access != ACCESS_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS:
+ return sequenceGenerators != null && !sequenceGenerators.isEmpty();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS:
+ return tableGenerators != null && !tableGenerators.isEmpty();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES:
+ return namedQueries != null && !namedQueries.isEmpty();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES:
+ return namedNativeQueries != null && !namedNativeQueries.isEmpty();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS:
+ return sqlResultSetMappings != null && !sqlResultSetMappings.isEmpty();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES:
+ return mappedSuperclasses != null && !mappedSuperclasses.isEmpty();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__ENTITIES:
+ return entities != null && !entities.isEmpty();
+ case EclipseLinkOrmPackage.XML_ENTITY_MAPPINGS__EMBEDDABLES:
+ return embeddables != null && !embeddables.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(" (version: ");
+ if (versionESet) result.append(version); else result.append("<unset>");
+ 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(", access: ");
+ result.append(access);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlEntityMappings
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlGeneratedValue.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlGeneratedValue.java
new file mode 100644
index 0000000000..798f8a711f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlGeneratedValue.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Generated Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGeneratedValue#getGenerator <em>Generator</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGeneratedValue#getStrategy <em>Strategy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlGeneratedValue()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlGeneratedValue extends JpaEObject
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlGeneratedValue_Generator()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getGenerator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setGenerator(String value);
+
+ /**
+ * 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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.GenerationType
+ * @see #setStrategy(GenerationType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlGeneratedValue_Strategy()
+ * @model default="TABLE"
+ * @generated
+ */
+ GenerationType getStrategy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.GenerationType
+ * @see #getStrategy()
+ * @generated
+ */
+ void setStrategy(GenerationType value);
+
+} // XmlGeneratedValue
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlGeneratedValueImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlGeneratedValueImpl.java
new file mode 100644
index 0000000000..83503a6a8d
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlGeneratedValueImpl.java
@@ -0,0 +1,263 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Generated Value Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlGeneratedValueImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlGeneratedValueImpl extends AbstractJpaEObject implements XmlGeneratedValue
+{
+ /**
+ * 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;
+
+ /**
+ * The default value of the '{@link #getStrategy() <em>Strategy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStrategy()
+ * @generated
+ * @ordered
+ */
+ protected static final GenerationType STRATEGY_EDEFAULT = GenerationType.TABLE;
+
+ /**
+ * 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 XmlGeneratedValueImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_GENERATED_VALUE_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlGeneratedValueImpl#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, EclipseLinkOrmPackage.XML_GENERATED_VALUE_IMPL__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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.GenerationType
+ * @see #setStrategy(GenerationType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlGeneratedValue_Strategy()
+ * @model default="TABLE"
+ * @generated
+ */
+ public GenerationType getStrategy()
+ {
+ return strategy;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGeneratedValueImpl#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_GENERATED_VALUE_IMPL__STRATEGY, oldStrategy, strategy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_GENERATED_VALUE_IMPL__GENERATOR:
+ return getGenerator();
+ case EclipseLinkOrmPackage.XML_GENERATED_VALUE_IMPL__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 EclipseLinkOrmPackage.XML_GENERATED_VALUE_IMPL__GENERATOR:
+ setGenerator((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_GENERATED_VALUE_IMPL__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 EclipseLinkOrmPackage.XML_GENERATED_VALUE_IMPL__GENERATOR:
+ setGenerator(GENERATOR_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_GENERATED_VALUE_IMPL__STRATEGY:
+ setStrategy(STRATEGY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_GENERATED_VALUE_IMPL__GENERATOR:
+ return GENERATOR_EDEFAULT == null ? generator != null : !GENERATOR_EDEFAULT.equals(generator);
+ case EclipseLinkOrmPackage.XML_GENERATED_VALUE_IMPL__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();
+ }
+
+} // XmlGeneratedValueImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlGenerator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlGenerator.java
new file mode 100644
index 0000000000..61f095c6a7
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlGenerator.java
@@ -0,0 +1,114 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Generator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGenerator#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGenerator#getInitialValue <em>Initial Value</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlGenerator#getAllocationSize <em>Allocation Size</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlGenerator()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlGenerator extends JpaEObject
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlGenerator_InitialValue()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ Integer getInitialValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlGenerator_AllocationSize()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject"
+ * @generated
+ */
+ Integer getAllocationSize();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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);
+
+} // XmlGenerator
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlId.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlId.java
new file mode 100644
index 0000000000..91efdbba6f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlId.java
@@ -0,0 +1,142 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Id</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlId#getGeneratedValue <em>Generated Value</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlId#getTemporal <em>Temporal</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlId#getTableGenerator <em>Table Generator</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlId#getSequenceGenerator <em>Sequence Generator</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlId()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlId extends XmlAttributeMapping, ColumnMapping
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlId_GeneratedValue()
+ * @model containment="true"
+ * @generated
+ */
+ XmlGeneratedValue getGeneratedValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setGeneratedValue(XmlGeneratedValue value);
+
+ /**
+ * Returns the value of the '<em><b>Temporal</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.TemporalType
+ * @see #setTemporal(TemporalType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlId_Temporal()
+ * @model
+ * @generated
+ */
+ TemporalType getTemporal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.TemporalType
+ * @see #getTemporal()
+ * @generated
+ */
+ void setTemporal(TemporalType 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlId_TableGenerator()
+ * @model containment="true"
+ * @generated
+ */
+ XmlTableGenerator getTableGenerator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setTableGenerator(XmlTableGenerator value);
+
+ /**
+ * Returns the value of the '<em><b>Sequence Generator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sequence Generator</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sequence Generator</em>' containment reference.
+ * @see #setSequenceGenerator(XmlSequenceGenerator)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlId_SequenceGenerator()
+ * @model containment="true"
+ * @generated
+ */
+ XmlSequenceGenerator getSequenceGenerator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setSequenceGenerator(XmlSequenceGenerator value);
+
+} // XmlId
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlIdClass.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlIdClass.java
new file mode 100644
index 0000000000..6758bc83e3
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlIdClass.java
@@ -0,0 +1,200 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Id Class</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdClass#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlIdClass()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class XmlIdClass extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * 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 XmlIdClass()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_ID_CLASS;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlIdClass_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.eclipselink.core.resource.elorm.XmlIdClass#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, EclipseLinkOrmPackage.XML_ID_CLASS__CLASS_NAME, oldClassName, className));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ID_CLASS__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 EclipseLinkOrmPackage.XML_ID_CLASS__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 EclipseLinkOrmPackage.XML_ID_CLASS__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 EclipseLinkOrmPackage.XML_ID_CLASS__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();
+ }
+
+} // XmlIdClass
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlIdImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlIdImpl.java
new file mode 100644
index 0000000000..7e9eb5b4e4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlIdImpl.java
@@ -0,0 +1,597 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Id Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlIdImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlIdImpl extends AbstractXmlAttributeMapping implements XmlId
+{
+ /**
+ * 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 #getGeneratedValue() <em>Generated Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGeneratedValue()
+ * @generated
+ * @ordered
+ */
+ protected XmlGeneratedValue generatedValue;
+
+ /**
+ * The default value of the '{@link #getTemporal() <em>Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTemporal()
+ * @generated
+ * @ordered
+ */
+ protected static final TemporalType TEMPORAL_EDEFAULT = TemporalType.DATE;
+
+ /**
+ * 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 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 #getSequenceGenerator() <em>Sequence Generator</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequenceGenerator()
+ * @generated
+ * @ordered
+ */
+ protected XmlSequenceGenerator sequenceGenerator;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlIdImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_ID_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.XML_ID_IMPL__COLUMN, oldColumn, newColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdImpl#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 - EclipseLinkOrmPackage.XML_ID_IMPL__COLUMN, null, msgs);
+ if (newColumn != null)
+ msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID_IMPL__COLUMN, null, msgs);
+ msgs = basicSetColumn(newColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID_IMPL__COLUMN, newColumn, newColumn));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.XML_ID_IMPL__GENERATED_VALUE, oldGeneratedValue, newGeneratedValue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdImpl#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 - EclipseLinkOrmPackage.XML_ID_IMPL__GENERATED_VALUE, null, msgs);
+ if (newGeneratedValue != null)
+ msgs = ((InternalEObject)newGeneratedValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID_IMPL__GENERATED_VALUE, null, msgs);
+ msgs = basicSetGeneratedValue(newGeneratedValue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID_IMPL__GENERATED_VALUE, newGeneratedValue, newGeneratedValue));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Temporal</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.TemporalType
+ * @see #setTemporal(TemporalType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlId_Temporal()
+ * @model
+ * @generated
+ */
+ public TemporalType getTemporal()
+ {
+ return temporal;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdImpl#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_ID_IMPL__TEMPORAL, oldTemporal, temporal));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlId_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, EclipseLinkOrmPackage.XML_ID_IMPL__TABLE_GENERATOR, oldTableGenerator, newTableGenerator);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdImpl#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 - EclipseLinkOrmPackage.XML_ID_IMPL__TABLE_GENERATOR, null, msgs);
+ if (newTableGenerator != null)
+ msgs = ((InternalEObject)newTableGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID_IMPL__TABLE_GENERATOR, null, msgs);
+ msgs = basicSetTableGenerator(newTableGenerator, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlId_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, EclipseLinkOrmPackage.XML_ID_IMPL__SEQUENCE_GENERATOR, oldSequenceGenerator, newSequenceGenerator);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlIdImpl#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 - EclipseLinkOrmPackage.XML_ID_IMPL__SEQUENCE_GENERATOR, null, msgs);
+ if (newSequenceGenerator != null)
+ msgs = ((InternalEObject)newSequenceGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID_IMPL__SEQUENCE_GENERATOR, null, msgs);
+ msgs = basicSetSequenceGenerator(newSequenceGenerator, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID_IMPL__SEQUENCE_GENERATOR, newSequenceGenerator, newSequenceGenerator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ID_IMPL__COLUMN:
+ return basicSetColumn(null, msgs);
+ case EclipseLinkOrmPackage.XML_ID_IMPL__GENERATED_VALUE:
+ return basicSetGeneratedValue(null, msgs);
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TABLE_GENERATOR:
+ return basicSetTableGenerator(null, msgs);
+ case EclipseLinkOrmPackage.XML_ID_IMPL__SEQUENCE_GENERATOR:
+ return basicSetSequenceGenerator(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 EclipseLinkOrmPackage.XML_ID_IMPL__COLUMN:
+ return getColumn();
+ case EclipseLinkOrmPackage.XML_ID_IMPL__GENERATED_VALUE:
+ return getGeneratedValue();
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TEMPORAL:
+ return getTemporal();
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TABLE_GENERATOR:
+ return getTableGenerator();
+ case EclipseLinkOrmPackage.XML_ID_IMPL__SEQUENCE_GENERATOR:
+ return getSequenceGenerator();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ID_IMPL__COLUMN:
+ setColumn((XmlColumn)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__GENERATED_VALUE:
+ setGeneratedValue((XmlGeneratedValue)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TEMPORAL:
+ setTemporal((TemporalType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TABLE_GENERATOR:
+ setTableGenerator((XmlTableGenerator)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__SEQUENCE_GENERATOR:
+ setSequenceGenerator((XmlSequenceGenerator)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ID_IMPL__COLUMN:
+ setColumn((XmlColumn)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__GENERATED_VALUE:
+ setGeneratedValue((XmlGeneratedValue)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TEMPORAL:
+ setTemporal(TEMPORAL_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TABLE_GENERATOR:
+ setTableGenerator((XmlTableGenerator)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__SEQUENCE_GENERATOR:
+ setSequenceGenerator((XmlSequenceGenerator)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ID_IMPL__COLUMN:
+ return column != null;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__GENERATED_VALUE:
+ return generatedValue != null;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TEMPORAL:
+ return temporal != TEMPORAL_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TABLE_GENERATOR:
+ return tableGenerator != null;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__SEQUENCE_GENERATOR:
+ return sequenceGenerator != 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 EclipseLinkOrmPackage.XML_ID_IMPL__COLUMN: return EclipseLinkOrmPackage.COLUMN_MAPPING__COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlId.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ID_IMPL__GENERATED_VALUE: return EclipseLinkOrmPackage.XML_ID__GENERATED_VALUE;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TEMPORAL: return EclipseLinkOrmPackage.XML_ID__TEMPORAL;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TABLE_GENERATOR: return EclipseLinkOrmPackage.XML_ID__TABLE_GENERATOR;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__SEQUENCE_GENERATOR: return EclipseLinkOrmPackage.XML_ID__SEQUENCE_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 EclipseLinkOrmPackage.COLUMN_MAPPING__COLUMN: return EclipseLinkOrmPackage.XML_ID_IMPL__COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlId.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ID__GENERATED_VALUE: return EclipseLinkOrmPackage.XML_ID_IMPL__GENERATED_VALUE;
+ case EclipseLinkOrmPackage.XML_ID__TEMPORAL: return EclipseLinkOrmPackage.XML_ID_IMPL__TEMPORAL;
+ case EclipseLinkOrmPackage.XML_ID__TABLE_GENERATOR: return EclipseLinkOrmPackage.XML_ID_IMPL__TABLE_GENERATOR;
+ case EclipseLinkOrmPackage.XML_ID__SEQUENCE_GENERATOR: return EclipseLinkOrmPackage.XML_ID_IMPL__SEQUENCE_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(" (temporal: ");
+ result.append(temporal);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlIdImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinColumn.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinColumn.java
new file mode 100644
index 0000000000..051d266383
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinColumn.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Join Column</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinColumn()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlJoinColumn extends XmlAbstractColumn
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinColumn_ReferencedColumnName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getReferencedColumnName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setReferencedColumnName(String value);
+
+} // XmlJoinColumn
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinColumnImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinColumnImpl.java
new file mode 100644
index 0000000000..6229842ed0
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinColumnImpl.java
@@ -0,0 +1,228 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Join Column Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinColumnImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlJoinColumnImpl extends AbstractXmlAbstractColumn implements XmlJoinColumn
+{
+ /**
+ * 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 XmlJoinColumnImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_JOIN_COLUMN_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinColumn_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.eclipselink.core.resource.elorm.XmlJoinColumnImpl#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, EclipseLinkOrmPackage.XML_JOIN_COLUMN_IMPL__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 EclipseLinkOrmPackage.XML_JOIN_COLUMN_IMPL__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 EclipseLinkOrmPackage.XML_JOIN_COLUMN_IMPL__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 EclipseLinkOrmPackage.XML_JOIN_COLUMN_IMPL__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 EclipseLinkOrmPackage.XML_JOIN_COLUMN_IMPL__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 == XmlJoinColumn.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_JOIN_COLUMN_IMPL__REFERENCED_COLUMN_NAME: return EclipseLinkOrmPackage.XML_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 == XmlJoinColumn.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME: return EclipseLinkOrmPackage.XML_JOIN_COLUMN_IMPL__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();
+ }
+
+} // XmlJoinColumnImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinTable.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinTable.java
new file mode 100644
index 0000000000..7c01550a46
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinTable.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Join Table</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinTable#getJoinColumns <em>Join Columns</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlJoinTable#getInverseJoinColumns <em>Inverse Join Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinTable()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlJoinTable extends XmlBaseTable
+{
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinTable_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlJoinColumn> getJoinColumns();
+
+ /**
+ * Returns the value of the '<em><b>Inverse Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinTable_InverseJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlJoinColumn> getInverseJoinColumns();
+
+} // XmlJoinTable
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinTableImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinTableImpl.java
new file mode 100644
index 0000000000..62bc74e6fd
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlJoinTableImpl.java
@@ -0,0 +1,261 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Join Table Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinTableImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlJoinTableImpl extends AbstractXmlBaseTable implements XmlJoinTable
+{
+ /**
+ * 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 #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 XmlJoinTableImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_JOIN_TABLE_IMPL;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinTable_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJoinColumn> getJoinColumns()
+ {
+ if (joinColumns == null)
+ {
+ joinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__JOIN_COLUMNS);
+ }
+ return joinColumns;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlJoinTable_InverseJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJoinColumn> getInverseJoinColumns()
+ {
+ if (inverseJoinColumns == null)
+ {
+ inverseJoinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__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 EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__JOIN_COLUMNS:
+ return ((InternalEList<?>)getJoinColumns()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__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 EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__JOIN_COLUMNS:
+ return getJoinColumns();
+ case EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__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 EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ getJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__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 EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__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 EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__JOIN_COLUMNS:
+ return joinColumns != null && !joinColumns.isEmpty();
+ case EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__INVERSE_JOIN_COLUMNS:
+ return inverseJoinColumns != null && !inverseJoinColumns.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlJoinTable.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_JOIN_TABLE__JOIN_COLUMNS;
+ case EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__INVERSE_JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_JOIN_TABLE__INVERSE_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 == XmlJoinTable.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_JOIN_TABLE__JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__JOIN_COLUMNS;
+ case EclipseLinkOrmPackage.XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_JOIN_TABLE_IMPL__INVERSE_JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // XmlJoinTableImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToMany.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToMany.java
new file mode 100644
index 0000000000..f79577e9d6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToMany.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Many To Many</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlManyToMany()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlManyToMany extends XmlMultiRelationshipMapping
+{
+} // XmlManyToMany
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToManyImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToManyImpl.java
new file mode 100644
index 0000000000..087522e1fd
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToManyImpl.java
@@ -0,0 +1,735 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Many To Many Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlManyToManyImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlManyToManyImpl extends AbstractXmlAttributeMapping implements XmlManyToMany
+{
+ /**
+ * The default value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_ENTITY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected String targetEntity = TARGET_ENTITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected static final FetchType FETCH_EDEFAULT = FetchType.LAZY;
+
+ /**
+ * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected FetchType fetch = FETCH_EDEFAULT;
+
+ /**
+ * The 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 #getCascade() <em>Cascade</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascade()
+ * @generated
+ * @ordered
+ */
+ protected CascadeType cascade;
+
+ /**
+ * The default value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMappedBy()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAPPED_BY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMappedBy()
+ * @generated
+ * @ordered
+ */
+ protected String mappedBy = MAPPED_BY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #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 #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 XmlManyToManyImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_MANY_TO_MANY_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_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.eclipselink.core.resource.elorm.XmlManyToManyImpl#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, EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_Fetch()
+ * @model default="LAZY"
+ * @generated
+ */
+ public FetchType getFetch()
+ {
+ return fetch;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToManyImpl#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__FETCH, oldFetch, fetch));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_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, EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__JOIN_TABLE, oldJoinTable, newJoinTable);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToManyImpl#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 - EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__JOIN_TABLE, null, msgs);
+ if (newJoinTable != null)
+ msgs = ((InternalEObject)newJoinTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__JOIN_TABLE, null, msgs);
+ msgs = basicSetJoinTable(newJoinTable, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__JOIN_TABLE, newJoinTable, newJoinTable));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_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, EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__CASCADE, oldCascade, newCascade);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToManyImpl#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 - EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__CASCADE, null, msgs);
+ if (newCascade != null)
+ msgs = ((InternalEObject)newCascade).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__CASCADE, null, msgs);
+ msgs = basicSetCascade(newCascade, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__CASCADE, newCascade, newCascade));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMultiRelationshipMapping_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.eclipselink.core.resource.elorm.XmlManyToManyImpl#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, EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAPPED_BY, oldMappedBy, mappedBy));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMultiRelationshipMapping_OrderBy()
+ * @model dataType="org.eclipse.jpt.eclipselink.core.resource.elorm.OrderBy"
+ * @generated
+ */
+ public String getOrderBy()
+ {
+ return orderBy;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToManyImpl#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, EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__ORDER_BY, oldOrderBy, orderBy));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMultiRelationshipMapping_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, EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAP_KEY, oldMapKey, newMapKey);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToManyImpl#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 - EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAP_KEY, null, msgs);
+ if (newMapKey != null)
+ msgs = ((InternalEObject)newMapKey).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAP_KEY, null, msgs);
+ msgs = basicSetMapKey(newMapKey, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAP_KEY, newMapKey, newMapKey));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__JOIN_TABLE:
+ return basicSetJoinTable(null, msgs);
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__CASCADE:
+ return basicSetCascade(null, msgs);
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__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 EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__TARGET_ENTITY:
+ return getTargetEntity();
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__FETCH:
+ return getFetch();
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__JOIN_TABLE:
+ return getJoinTable();
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__CASCADE:
+ return getCascade();
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAPPED_BY:
+ return getMappedBy();
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__ORDER_BY:
+ return getOrderBy();
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAP_KEY:
+ return getMapKey();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__TARGET_ENTITY:
+ setTargetEntity((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__CASCADE:
+ setCascade((CascadeType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAPPED_BY:
+ setMappedBy((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__ORDER_BY:
+ setOrderBy((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__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 EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__TARGET_ENTITY:
+ setTargetEntity(TARGET_ENTITY_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__FETCH:
+ setFetch(FETCH_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)null);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__CASCADE:
+ setCascade((CascadeType)null);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAPPED_BY:
+ setMappedBy(MAPPED_BY_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__ORDER_BY:
+ setOrderBy(ORDER_BY_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__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 EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__TARGET_ENTITY:
+ return TARGET_ENTITY_EDEFAULT == null ? targetEntity != null : !TARGET_ENTITY_EDEFAULT.equals(targetEntity);
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__FETCH:
+ return fetch != FETCH_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__JOIN_TABLE:
+ return joinTable != null;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__CASCADE:
+ return cascade != null;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAPPED_BY:
+ return MAPPED_BY_EDEFAULT == null ? mappedBy != null : !MAPPED_BY_EDEFAULT.equals(mappedBy);
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__ORDER_BY:
+ return ORDER_BY_EDEFAULT == null ? orderBy != null : !ORDER_BY_EDEFAULT.equals(orderBy);
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__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 == XmlRelationshipMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__TARGET_ENTITY: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__TARGET_ENTITY;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__FETCH: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__FETCH;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__JOIN_TABLE: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__JOIN_TABLE;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__CASCADE: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__CASCADE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMultiRelationshipMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAPPED_BY: return EclipseLinkOrmPackage.XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__ORDER_BY: return EclipseLinkOrmPackage.XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAP_KEY: return EclipseLinkOrmPackage.XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlManyToMany.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 == XmlRelationshipMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__TARGET_ENTITY: return EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__TARGET_ENTITY;
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__FETCH: return EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__FETCH;
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__JOIN_TABLE: return EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__JOIN_TABLE;
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__CASCADE: return EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__CASCADE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMultiRelationshipMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY: return EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAPPED_BY;
+ case EclipseLinkOrmPackage.XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY: return EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__ORDER_BY;
+ case EclipseLinkOrmPackage.XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY: return EclipseLinkOrmPackage.XML_MANY_TO_MANY_IMPL__MAP_KEY;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlManyToMany.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(" (targetEntity: ");
+ result.append(targetEntity);
+ result.append(", fetch: ");
+ result.append(fetch);
+ result.append(", mappedBy: ");
+ result.append(mappedBy);
+ result.append(", orderBy: ");
+ result.append(orderBy);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlManyToManyImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToOne.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToOne.java
new file mode 100644
index 0000000000..0a22fbfe83
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToOne.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Many To One</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlManyToOne()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlManyToOne extends XmlSingleRelationshipMapping
+{
+} // XmlManyToOne
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToOneImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToOneImpl.java
new file mode 100644
index 0000000000..87936cd786
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlManyToOneImpl.java
@@ -0,0 +1,638 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Many To One Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlManyToOneImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlManyToOneImpl extends AbstractXmlAttributeMapping implements XmlManyToOne
+{
+ /**
+ * The default value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_ENTITY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected String targetEntity = TARGET_ENTITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected static final FetchType FETCH_EDEFAULT = FetchType.LAZY;
+
+ /**
+ * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected FetchType fetch = FETCH_EDEFAULT;
+
+ /**
+ * The 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 #getCascade() <em>Cascade</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascade()
+ * @generated
+ * @ordered
+ */
+ protected CascadeType cascade;
+
+ /**
+ * 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;
+
+ /**
+ * 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 XmlManyToOneImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_MANY_TO_ONE_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_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.eclipselink.core.resource.elorm.XmlManyToOneImpl#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, EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_Fetch()
+ * @model default="LAZY"
+ * @generated
+ */
+ public FetchType getFetch()
+ {
+ return fetch;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToOneImpl#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__FETCH, oldFetch, fetch));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_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, EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_TABLE, oldJoinTable, newJoinTable);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToOneImpl#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 - EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_TABLE, null, msgs);
+ if (newJoinTable != null)
+ msgs = ((InternalEObject)newJoinTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_TABLE, null, msgs);
+ msgs = basicSetJoinTable(newJoinTable, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_TABLE, newJoinTable, newJoinTable));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_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, EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__CASCADE, oldCascade, newCascade);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlManyToOneImpl#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 - EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__CASCADE, null, msgs);
+ if (newCascade != null)
+ msgs = ((InternalEObject)newCascade).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__CASCADE, null, msgs);
+ msgs = basicSetCascade(newCascade, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__CASCADE, newCascade, newCascade));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSingleRelationshipMapping_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.eclipselink.core.resource.elorm.XmlManyToOneImpl#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, EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__OPTIONAL, oldOptional, optional));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSingleRelationshipMapping_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJoinColumn> getJoinColumns()
+ {
+ if (joinColumns == null)
+ {
+ joinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_COLUMNS);
+ }
+ return joinColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_TABLE:
+ return basicSetJoinTable(null, msgs);
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__CASCADE:
+ return basicSetCascade(null, msgs);
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__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 EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__TARGET_ENTITY:
+ return getTargetEntity();
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__FETCH:
+ return getFetch();
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_TABLE:
+ return getJoinTable();
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__CASCADE:
+ return getCascade();
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__OPTIONAL:
+ return getOptional();
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__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 EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__TARGET_ENTITY:
+ setTargetEntity((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__CASCADE:
+ setCascade((CascadeType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__OPTIONAL:
+ setOptional((Boolean)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__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 EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__TARGET_ENTITY:
+ setTargetEntity(TARGET_ENTITY_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__FETCH:
+ setFetch(FETCH_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)null);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__CASCADE:
+ setCascade((CascadeType)null);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__OPTIONAL:
+ setOptional(OPTIONAL_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__TARGET_ENTITY:
+ return TARGET_ENTITY_EDEFAULT == null ? targetEntity != null : !TARGET_ENTITY_EDEFAULT.equals(targetEntity);
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__FETCH:
+ return fetch != FETCH_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_TABLE:
+ return joinTable != null;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__CASCADE:
+ return cascade != null;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__OPTIONAL:
+ return OPTIONAL_EDEFAULT == null ? optional != null : !OPTIONAL_EDEFAULT.equals(optional);
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__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 == XmlRelationshipMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__TARGET_ENTITY: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__TARGET_ENTITY;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__FETCH: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__FETCH;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_TABLE: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__JOIN_TABLE;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__CASCADE: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__CASCADE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlSingleRelationshipMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__OPTIONAL: return EclipseLinkOrmPackage.XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL;
+ case EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlManyToOne.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 == XmlRelationshipMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__TARGET_ENTITY: return EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__TARGET_ENTITY;
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__FETCH: return EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__FETCH;
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__JOIN_TABLE: return EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_TABLE;
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__CASCADE: return EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__CASCADE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlSingleRelationshipMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL: return EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__OPTIONAL;
+ case EclipseLinkOrmPackage.XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_MANY_TO_ONE_IMPL__JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlManyToOne.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(" (targetEntity: ");
+ result.append(targetEntity);
+ result.append(", fetch: ");
+ result.append(fetch);
+ result.append(", optional: ");
+ result.append(optional);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlManyToOneImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlMappedSuperclass.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlMappedSuperclass.java
new file mode 100644
index 0000000000..32dc9d02cb
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlMappedSuperclass.java
@@ -0,0 +1,1027 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Mapped Superclass</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#getIdClass <em>Id Class</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#getEntityListeners <em>Entity Listeners</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPrePersist <em>Pre Persist</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPostPersist <em>Post Persist</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPreRemove <em>Pre Remove</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPostRemove <em>Post Remove</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPreUpdate <em>Pre Update</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPostUpdate <em>Post Update</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#getPostLoad <em>Post Load</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMappedSuperclass()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlMappedSuperclass extends AbstractXmlTypeMapping
+{
+ /**
+ * The cached value of the '{@link #getIdClass() <em>Id Class</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdClass()
+ * @generated
+ * @ordered
+ */
+ protected XmlIdClass 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;
+
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlMappedSuperclass()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.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(XmlIdClass)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMappedSuperclass_IdClass()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlIdClass getIdClass()
+ {
+ return idClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIdClass(XmlIdClass newIdClass, NotificationChain msgs)
+ {
+ XmlIdClass oldIdClass = idClass;
+ idClass = newIdClass;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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(XmlIdClass newIdClass)
+ {
+ if (newIdClass != idClass)
+ {
+ NotificationChain msgs = null;
+ if (idClass != null)
+ msgs = ((InternalEObject)idClass).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS, null, msgs);
+ if (newIdClass != null)
+ msgs = ((InternalEObject)newIdClass).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS, null, msgs);
+ if (newEntityListeners != null)
+ msgs = ((InternalEObject)newEntityListeners).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.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, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMappedSuperclass_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, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_PERSIST, oldPrePersist, newPrePersist);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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 - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_PERSIST, null, msgs);
+ if (newPrePersist != null)
+ msgs = ((InternalEObject)newPrePersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_PERSIST, null, msgs);
+ msgs = basicSetPrePersist(newPrePersist, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMappedSuperclass_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, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_PERSIST, oldPostPersist, newPostPersist);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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 - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_PERSIST, null, msgs);
+ if (newPostPersist != null)
+ msgs = ((InternalEObject)newPostPersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_PERSIST, null, msgs);
+ msgs = basicSetPostPersist(newPostPersist, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMappedSuperclass_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, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_REMOVE, oldPreRemove, newPreRemove);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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 - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_REMOVE, null, msgs);
+ if (newPreRemove != null)
+ msgs = ((InternalEObject)newPreRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_REMOVE, null, msgs);
+ msgs = basicSetPreRemove(newPreRemove, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMappedSuperclass_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, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_REMOVE, oldPostRemove, newPostRemove);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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 - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_REMOVE, null, msgs);
+ if (newPostRemove != null)
+ msgs = ((InternalEObject)newPostRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_REMOVE, null, msgs);
+ msgs = basicSetPostRemove(newPostRemove, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMappedSuperclass_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, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_UPDATE, oldPreUpdate, newPreUpdate);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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 - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_UPDATE, null, msgs);
+ if (newPreUpdate != null)
+ msgs = ((InternalEObject)newPreUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_UPDATE, null, msgs);
+ msgs = basicSetPreUpdate(newPreUpdate, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMappedSuperclass_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, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_UPDATE, oldPostUpdate, newPostUpdate);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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 - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_UPDATE, null, msgs);
+ if (newPostUpdate != null)
+ msgs = ((InternalEObject)newPostUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_UPDATE, null, msgs);
+ msgs = basicSetPostUpdate(newPostUpdate, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMappedSuperclass_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, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_LOAD, oldPostLoad, newPostLoad);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMappedSuperclass#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 - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_LOAD, null, msgs);
+ if (newPostLoad != null)
+ msgs = ((InternalEObject)newPostLoad).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_LOAD, null, msgs);
+ msgs = basicSetPostLoad(newPostLoad, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_LOAD, newPostLoad, newPostLoad));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS:
+ return basicSetIdClass(null, msgs);
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS:
+ return basicSetEntityListeners(null, msgs);
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_PERSIST:
+ return basicSetPrePersist(null, msgs);
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_PERSIST:
+ return basicSetPostPersist(null, msgs);
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_REMOVE:
+ return basicSetPreRemove(null, msgs);
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_REMOVE:
+ return basicSetPostRemove(null, msgs);
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_UPDATE:
+ return basicSetPreUpdate(null, msgs);
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_UPDATE:
+ return basicSetPostUpdate(null, msgs);
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__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 EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS:
+ return getIdClass();
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS:
+ return isExcludeDefaultListeners() ? Boolean.TRUE : Boolean.FALSE;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS:
+ return isExcludeSuperclassListeners() ? Boolean.TRUE : Boolean.FALSE;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS:
+ return getEntityListeners();
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_PERSIST:
+ return getPrePersist();
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_PERSIST:
+ return getPostPersist();
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_REMOVE:
+ return getPreRemove();
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_REMOVE:
+ return getPostRemove();
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_UPDATE:
+ return getPreUpdate();
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_UPDATE:
+ return getPostUpdate();
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_LOAD:
+ return getPostLoad();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS:
+ setIdClass((XmlIdClass)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS:
+ setExcludeDefaultListeners(((Boolean)newValue).booleanValue());
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS:
+ setExcludeSuperclassListeners(((Boolean)newValue).booleanValue());
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS:
+ setEntityListeners((EntityListeners)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_PERSIST:
+ setPrePersist((PrePersist)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_PERSIST:
+ setPostPersist((PostPersist)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_REMOVE:
+ setPreRemove((PreRemove)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_REMOVE:
+ setPostRemove((PostRemove)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_UPDATE:
+ setPreUpdate((PreUpdate)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_UPDATE:
+ setPostUpdate((PostUpdate)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_LOAD:
+ setPostLoad((PostLoad)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS:
+ setIdClass((XmlIdClass)null);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS:
+ setExcludeDefaultListeners(EXCLUDE_DEFAULT_LISTENERS_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS:
+ setExcludeSuperclassListeners(EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS:
+ setEntityListeners((EntityListeners)null);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_PERSIST:
+ setPrePersist((PrePersist)null);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_PERSIST:
+ setPostPersist((PostPersist)null);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_REMOVE:
+ setPreRemove((PreRemove)null);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_REMOVE:
+ setPostRemove((PostRemove)null);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_UPDATE:
+ setPreUpdate((PreUpdate)null);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_UPDATE:
+ setPostUpdate((PostUpdate)null);
+ return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_LOAD:
+ setPostLoad((PostLoad)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS:
+ return idClass != null;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS:
+ return excludeDefaultListeners != EXCLUDE_DEFAULT_LISTENERS_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS:
+ return excludeSuperclassListeners != EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS:
+ return entityListeners != null;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_PERSIST:
+ return prePersist != null;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_PERSIST:
+ return postPersist != null;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_REMOVE:
+ return preRemove != null;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_REMOVE:
+ return postRemove != null;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRE_UPDATE:
+ return preUpdate != null;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_UPDATE:
+ return postUpdate != null;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__POST_LOAD:
+ return postLoad != 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(" (excludeDefaultListeners: ");
+ result.append(excludeDefaultListeners);
+ result.append(", excludeSuperclassListeners: ");
+ result.append(excludeSuperclassListeners);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlMappedSuperclass
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlMultiRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlMultiRelationshipMapping.java
new file mode 100644
index 0000000000..a89a440999
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlMultiRelationshipMapping.java
@@ -0,0 +1,112 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Multi Relationship Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping#getMappedBy <em>Mapped By</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping#getOrderBy <em>Order By</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping#getMapKey <em>Map Key</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMultiRelationshipMapping()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlMultiRelationshipMapping extends XmlRelationshipMapping
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMultiRelationshipMapping_MappedBy()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getMappedBy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping#getMappedBy <em>Mapped By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mapped By</em>' attribute.
+ * @see #getMappedBy()
+ * @generated
+ */
+ void setMappedBy(String value);
+
+ /**
+ * Returns the value of the '<em><b>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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMultiRelationshipMapping_OrderBy()
+ * @model dataType="org.eclipse.jpt.eclipselink.core.resource.elorm.OrderBy"
+ * @generated
+ */
+ String getOrderBy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping#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);
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMultiRelationshipMapping_MapKey()
+ * @model containment="true"
+ * @generated
+ */
+ MapKey getMapKey();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlMultiRelationshipMapping#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);
+
+} // XmlMultiRelationshipMapping
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNamedColumn.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNamedColumn.java
new file mode 100644
index 0000000000..e0cbf3af48
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNamedColumn.java
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Named Column</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedColumn#getColumnDefinition <em>Column Definition</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedColumn#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlNamedColumn()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlNamedColumn extends JpaEObject
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlNamedColumn_ColumnDefinition()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getColumnDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlNamedColumn_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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);
+
+} // XmlNamedColumn
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNamedNativeQuery.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNamedNativeQuery.java
new file mode 100644
index 0000000000..2a9089e6bf
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNamedNativeQuery.java
@@ -0,0 +1,470 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.core.resource.common.AbstractJpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Named Native Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedNativeQuery#getResultClass <em>Result Class</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlNamedNativeQuery#getResultSetMapping <em>Result Set Mapping</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlNamedNativeQuery()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlNamedNativeQuery extends AbstractJpaEObject implements XmlQuery
+{
+ /**
+ * 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 EclipseLinkOrmPackage.Literals.XML_NAMED_NATIVE_QUERY;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_NAMED_NATIVE_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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlQuery_Hints()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlQueryHint> getHints()
+ {
+ if (hints == null)
+ {
+ hints = new EObjectContainmentEList<XmlQueryHint>(XmlQueryHint.class, this, EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__HINTS);
+ }
+ return hints;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING, oldResultSetMapping, resultSetMapping));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__QUERY:
+ return getQuery();
+ case EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__HINTS:
+ return getHints();
+ case EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS:
+ return getResultClass();
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__QUERY:
+ setQuery((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__HINTS:
+ getHints().clear();
+ getHints().addAll((Collection<? extends XmlQueryHint>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS:
+ setResultClass((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__QUERY:
+ setQuery(QUERY_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__HINTS:
+ getHints().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS:
+ setResultClass(RESULT_CLASS_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__QUERY:
+ return QUERY_EDEFAULT == null ? query != null : !QUERY_EDEFAULT.equals(query);
+ case EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__HINTS:
+ return hints != null && !hints.isEmpty();
+ case EclipseLinkOrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS:
+ return RESULT_CLASS_EDEFAULT == null ? resultClass != null : !RESULT_CLASS_EDEFAULT.equals(resultClass);
+ case EclipseLinkOrmPackage.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(" (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();
+ }
+
+} // XmlNamedNativeQuery
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNamedQuery.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNamedQuery.java
new file mode 100644
index 0000000000..d7675da855
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNamedQuery.java
@@ -0,0 +1,329 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.core.resource.common.AbstractJpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Named Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlNamedQuery()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlNamedQuery extends AbstractJpaEObject implements XmlQuery
+{
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlNamedQuery()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_NAMED_QUERY;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlQuery_Hints()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlQueryHint> getHints()
+ {
+ if (hints == null)
+ {
+ hints = new EObjectContainmentEList<XmlQueryHint>(XmlQueryHint.class, this, EclipseLinkOrmPackage.XML_NAMED_QUERY__HINTS);
+ }
+ return hints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_NAMED_QUERY__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.XML_NAMED_QUERY__QUERY:
+ return getQuery();
+ case EclipseLinkOrmPackage.XML_NAMED_QUERY__HINTS:
+ return getHints();
+ }
+ 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 EclipseLinkOrmPackage.XML_NAMED_QUERY__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_NAMED_QUERY__QUERY:
+ setQuery((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_NAMED_QUERY__HINTS:
+ getHints().clear();
+ getHints().addAll((Collection<? extends XmlQueryHint>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_NAMED_QUERY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_NAMED_QUERY__QUERY:
+ setQuery(QUERY_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_NAMED_QUERY__HINTS:
+ getHints().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_NAMED_QUERY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.XML_NAMED_QUERY__QUERY:
+ return QUERY_EDEFAULT == null ? query != null : !QUERY_EDEFAULT.equals(query);
+ case EclipseLinkOrmPackage.XML_NAMED_QUERY__HINTS:
+ return hints != null && !hints.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(", query: ");
+ result.append(query);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlNamedQuery
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNullAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNullAttributeMapping.java
new file mode 100644
index 0000000000..7121434ed3
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlNullAttributeMapping.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Null Attribute Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlNullAttributeMapping()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlNullAttributeMapping extends XmlAttributeMapping
+{
+} // XmlNullAttributeMapping
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToMany.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToMany.java
new file mode 100644
index 0000000000..a60a581e60
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToMany.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml One To Many</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToMany#getJoinColumns <em>Join Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToMany()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlOneToMany extends XmlMultiRelationshipMapping
+{
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToMany_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlJoinColumn> getJoinColumns();
+
+} // XmlOneToMany
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToManyImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToManyImpl.java
new file mode 100644
index 0000000000..5abfda246a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToManyImpl.java
@@ -0,0 +1,791 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml One To Many Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToManyImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlOneToManyImpl extends AbstractXmlAttributeMapping implements XmlOneToMany
+{
+ /**
+ * The default value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_ENTITY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected String targetEntity = TARGET_ENTITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected static final FetchType FETCH_EDEFAULT = FetchType.LAZY;
+
+ /**
+ * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected FetchType fetch = FETCH_EDEFAULT;
+
+ /**
+ * The 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 #getCascade() <em>Cascade</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascade()
+ * @generated
+ * @ordered
+ */
+ protected CascadeType cascade;
+
+ /**
+ * The default value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMappedBy()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAPPED_BY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMappedBy()
+ * @generated
+ * @ordered
+ */
+ protected String mappedBy = MAPPED_BY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #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 #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 #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 XmlOneToManyImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_ONE_TO_MANY_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_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.eclipselink.core.resource.elorm.XmlOneToManyImpl#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, EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_Fetch()
+ * @model default="LAZY"
+ * @generated
+ */
+ public FetchType getFetch()
+ {
+ return fetch;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToManyImpl#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__FETCH, oldFetch, fetch));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_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, EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_TABLE, oldJoinTable, newJoinTable);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToManyImpl#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 - EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_TABLE, null, msgs);
+ if (newJoinTable != null)
+ msgs = ((InternalEObject)newJoinTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_TABLE, null, msgs);
+ msgs = basicSetJoinTable(newJoinTable, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_TABLE, newJoinTable, newJoinTable));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_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, EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__CASCADE, oldCascade, newCascade);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToManyImpl#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 - EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__CASCADE, null, msgs);
+ if (newCascade != null)
+ msgs = ((InternalEObject)newCascade).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__CASCADE, null, msgs);
+ msgs = basicSetCascade(newCascade, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__CASCADE, newCascade, newCascade));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMultiRelationshipMapping_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.eclipselink.core.resource.elorm.XmlOneToManyImpl#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, EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAPPED_BY, oldMappedBy, mappedBy));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMultiRelationshipMapping_OrderBy()
+ * @model dataType="org.eclipse.jpt.eclipselink.core.resource.elorm.OrderBy"
+ * @generated
+ */
+ public String getOrderBy()
+ {
+ return orderBy;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToManyImpl#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, EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__ORDER_BY, oldOrderBy, orderBy));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlMultiRelationshipMapping_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, EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAP_KEY, oldMapKey, newMapKey);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToManyImpl#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 - EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAP_KEY, null, msgs);
+ if (newMapKey != null)
+ msgs = ((InternalEObject)newMapKey).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAP_KEY, null, msgs);
+ msgs = basicSetMapKey(newMapKey, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAP_KEY, newMapKey, newMapKey));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToMany_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJoinColumn> getJoinColumns()
+ {
+ if (joinColumns == null)
+ {
+ joinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_COLUMNS);
+ }
+ return joinColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_TABLE:
+ return basicSetJoinTable(null, msgs);
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__CASCADE:
+ return basicSetCascade(null, msgs);
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAP_KEY:
+ return basicSetMapKey(null, msgs);
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__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 EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__TARGET_ENTITY:
+ return getTargetEntity();
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__FETCH:
+ return getFetch();
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_TABLE:
+ return getJoinTable();
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__CASCADE:
+ return getCascade();
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAPPED_BY:
+ return getMappedBy();
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__ORDER_BY:
+ return getOrderBy();
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAP_KEY:
+ return getMapKey();
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__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 EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__TARGET_ENTITY:
+ setTargetEntity((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__CASCADE:
+ setCascade((CascadeType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAPPED_BY:
+ setMappedBy((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__ORDER_BY:
+ setOrderBy((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAP_KEY:
+ setMapKey((MapKey)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__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 EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__TARGET_ENTITY:
+ setTargetEntity(TARGET_ENTITY_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__FETCH:
+ setFetch(FETCH_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__CASCADE:
+ setCascade((CascadeType)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAPPED_BY:
+ setMappedBy(MAPPED_BY_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__ORDER_BY:
+ setOrderBy(ORDER_BY_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAP_KEY:
+ setMapKey((MapKey)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__TARGET_ENTITY:
+ return TARGET_ENTITY_EDEFAULT == null ? targetEntity != null : !TARGET_ENTITY_EDEFAULT.equals(targetEntity);
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__FETCH:
+ return fetch != FETCH_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_TABLE:
+ return joinTable != null;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__CASCADE:
+ return cascade != null;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAPPED_BY:
+ return MAPPED_BY_EDEFAULT == null ? mappedBy != null : !MAPPED_BY_EDEFAULT.equals(mappedBy);
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__ORDER_BY:
+ return ORDER_BY_EDEFAULT == null ? orderBy != null : !ORDER_BY_EDEFAULT.equals(orderBy);
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAP_KEY:
+ return mapKey != null;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__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 == XmlRelationshipMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__TARGET_ENTITY: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__TARGET_ENTITY;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__FETCH: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__FETCH;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_TABLE: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__JOIN_TABLE;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__CASCADE: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__CASCADE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMultiRelationshipMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAPPED_BY: return EclipseLinkOrmPackage.XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__ORDER_BY: return EclipseLinkOrmPackage.XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAP_KEY: return EclipseLinkOrmPackage.XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOneToMany.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_ONE_TO_MANY__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 == XmlRelationshipMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__TARGET_ENTITY: return EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__TARGET_ENTITY;
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__FETCH: return EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__FETCH;
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__JOIN_TABLE: return EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__JOIN_TABLE;
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__CASCADE: return EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__CASCADE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlMultiRelationshipMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY: return EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAPPED_BY;
+ case EclipseLinkOrmPackage.XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY: return EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__ORDER_BY;
+ case EclipseLinkOrmPackage.XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY: return EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__MAP_KEY;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOneToMany.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_ONE_TO_MANY_IMPL__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(" (targetEntity: ");
+ result.append(targetEntity);
+ result.append(", fetch: ");
+ result.append(fetch);
+ result.append(", mappedBy: ");
+ result.append(mappedBy);
+ result.append(", orderBy: ");
+ result.append(orderBy);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlOneToManyImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToOne.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToOne.java
new file mode 100644
index 0000000000..04615f0ff8
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToOne.java
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml One To One</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOne#getMappedBy <em>Mapped By</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOne#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToOne()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlOneToOne extends XmlSingleRelationshipMapping
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToOne_MappedBy()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getMappedBy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setMappedBy(String value);
+
+ /**
+ * Returns the value of the '<em><b>Primary Key Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToOne_PrimaryKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlPrimaryKeyJoinColumn> getPrimaryKeyJoinColumns();
+
+} // XmlOneToOne
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToOneImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToOneImpl.java
new file mode 100644
index 0000000000..57b03a2a8a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlOneToOneImpl.java
@@ -0,0 +1,755 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml One To One Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToOneImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlOneToOneImpl extends AbstractXmlAttributeMapping implements XmlOneToOne
+{
+ /**
+ * The default value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_ENTITY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected String targetEntity = TARGET_ENTITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected static final FetchType FETCH_EDEFAULT = FetchType.LAZY;
+
+ /**
+ * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected FetchType fetch = FETCH_EDEFAULT;
+
+ /**
+ * The 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 #getCascade() <em>Cascade</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascade()
+ * @generated
+ * @ordered
+ */
+ protected CascadeType cascade;
+
+ /**
+ * 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;
+
+ /**
+ * 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 #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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlOneToOneImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_ONE_TO_ONE_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_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.eclipselink.core.resource.elorm.XmlOneToOneImpl#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, EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_Fetch()
+ * @model default="LAZY"
+ * @generated
+ */
+ public FetchType getFetch()
+ {
+ return fetch;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOneImpl#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__FETCH, oldFetch, fetch));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_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, EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_TABLE, oldJoinTable, newJoinTable);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOneImpl#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 - EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_TABLE, null, msgs);
+ if (newJoinTable != null)
+ msgs = ((InternalEObject)newJoinTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_TABLE, null, msgs);
+ msgs = basicSetJoinTable(newJoinTable, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_TABLE, newJoinTable, newJoinTable));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_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, EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__CASCADE, oldCascade, newCascade);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlOneToOneImpl#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 - EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__CASCADE, null, msgs);
+ if (newCascade != null)
+ msgs = ((InternalEObject)newCascade).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__CASCADE, null, msgs);
+ msgs = basicSetCascade(newCascade, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__CASCADE, newCascade, newCascade));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSingleRelationshipMapping_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.eclipselink.core.resource.elorm.XmlOneToOneImpl#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, EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__OPTIONAL, oldOptional, optional));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSingleRelationshipMapping_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlJoinColumn> getJoinColumns()
+ {
+ if (joinColumns == null)
+ {
+ joinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_COLUMNS);
+ }
+ return joinColumns;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToOne_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.eclipselink.core.resource.elorm.XmlOneToOneImpl#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, EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__MAPPED_BY, oldMappedBy, mappedBy));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlOneToOne_PrimaryKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlPrimaryKeyJoinColumn> getPrimaryKeyJoinColumns()
+ {
+ if (primaryKeyJoinColumns == null)
+ {
+ primaryKeyJoinColumns = new EObjectContainmentEList<XmlPrimaryKeyJoinColumn>(XmlPrimaryKeyJoinColumn.class, this, EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__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 EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_TABLE:
+ return basicSetJoinTable(null, msgs);
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__CASCADE:
+ return basicSetCascade(null, msgs);
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_COLUMNS:
+ return ((InternalEList<?>)getJoinColumns()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__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 EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__TARGET_ENTITY:
+ return getTargetEntity();
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__FETCH:
+ return getFetch();
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_TABLE:
+ return getJoinTable();
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__CASCADE:
+ return getCascade();
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__OPTIONAL:
+ return getOptional();
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_COLUMNS:
+ return getJoinColumns();
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__MAPPED_BY:
+ return getMappedBy();
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__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 EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__TARGET_ENTITY:
+ setTargetEntity((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__CASCADE:
+ setCascade((CascadeType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__OPTIONAL:
+ setOptional((Boolean)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ getJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__MAPPED_BY:
+ setMappedBy((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__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 EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__TARGET_ENTITY:
+ setTargetEntity(TARGET_ENTITY_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__FETCH:
+ setFetch(FETCH_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_TABLE:
+ setJoinTable((XmlJoinTable)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__CASCADE:
+ setCascade((CascadeType)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__OPTIONAL:
+ setOptional(OPTIONAL_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__MAPPED_BY:
+ setMappedBy(MAPPED_BY_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__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 EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__TARGET_ENTITY:
+ return TARGET_ENTITY_EDEFAULT == null ? targetEntity != null : !TARGET_ENTITY_EDEFAULT.equals(targetEntity);
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__FETCH:
+ return fetch != FETCH_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_TABLE:
+ return joinTable != null;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__CASCADE:
+ return cascade != null;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__OPTIONAL:
+ return OPTIONAL_EDEFAULT == null ? optional != null : !OPTIONAL_EDEFAULT.equals(optional);
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_COLUMNS:
+ return joinColumns != null && !joinColumns.isEmpty();
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__MAPPED_BY:
+ return MAPPED_BY_EDEFAULT == null ? mappedBy != null : !MAPPED_BY_EDEFAULT.equals(mappedBy);
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__PRIMARY_KEY_JOIN_COLUMNS:
+ return primaryKeyJoinColumns != null && !primaryKeyJoinColumns.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlRelationshipMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__TARGET_ENTITY: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__TARGET_ENTITY;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__FETCH: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__FETCH;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_TABLE: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__JOIN_TABLE;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__CASCADE: return EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__CASCADE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlSingleRelationshipMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__OPTIONAL: return EclipseLinkOrmPackage.XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOneToOne.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__MAPPED_BY: return EclipseLinkOrmPackage.XML_ONE_TO_ONE__MAPPED_BY;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__PRIMARY_KEY_JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_ONE_TO_ONE__PRIMARY_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 == XmlRelationshipMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__TARGET_ENTITY: return EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__TARGET_ENTITY;
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__FETCH: return EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__FETCH;
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__JOIN_TABLE: return EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_TABLE;
+ case EclipseLinkOrmPackage.XML_RELATIONSHIP_MAPPING__CASCADE: return EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__CASCADE;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlSingleRelationshipMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL: return EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__OPTIONAL;
+ case EclipseLinkOrmPackage.XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlOneToOne.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE__MAPPED_BY: return EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__MAPPED_BY;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_ONE_TO_ONE_IMPL__PRIMARY_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(" (targetEntity: ");
+ result.append(targetEntity);
+ result.append(", fetch: ");
+ result.append(fetch);
+ result.append(", optional: ");
+ result.append(optional);
+ result.append(", mappedBy: ");
+ result.append(mappedBy);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlOneToOneImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPersistenceUnitDefaults.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPersistenceUnitDefaults.java
new file mode 100644
index 0000000000..d3e597f99e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPersistenceUnitDefaults.java
@@ -0,0 +1,507 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Persistence Unit Defaults</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults#getAccess <em>Access</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults#isCascadePersist <em>Cascade Persist</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults#getEntityListeners <em>Entity Listeners</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlPersistenceUnitDefaults()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class XmlPersistenceUnitDefaults extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * 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 #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected static final AccessType ACCESS_EDEFAULT = AccessType.PROPERTY;
+
+ /**
+ * The cached value of the '{@link #getAccess() <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccess()
+ * @generated
+ * @ordered
+ */
+ protected AccessType access = ACCESS_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 EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG, oldCatalog, catalog));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Access</b></em>' attribute.
+ * The default value is <code>"PROPERTY"</code>.
+ * The literals are from the enumeration {@link org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType}.
+ * <!-- 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 org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType
+ * @see #setAccess(AccessType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlPersistenceUnitDefaults_Access()
+ * @model default="PROPERTY"
+ * @generated
+ */
+ public AccessType getAccess()
+ {
+ return access;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitDefaults#getAccess <em>Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access</em>' attribute.
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.AccessType
+ * @see #getAccess()
+ * @generated
+ */
+ public void setAccess(AccessType newAccess)
+ {
+ AccessType oldAccess = access;
+ access = newAccess == null ? ACCESS_EDEFAULT : newAccess;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS, oldAccess, access));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS, null, msgs);
+ if (newEntityListeners != null)
+ msgs = ((InternalEObject)newEntityListeners).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.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, EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA:
+ return getSchema();
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG:
+ return getCatalog();
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS:
+ return getAccess();
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST:
+ return isCascadePersist() ? Boolean.TRUE : Boolean.FALSE;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS:
+ setAccess((AccessType)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST:
+ setCascadePersist(((Boolean)newValue).booleanValue());
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS:
+ setAccess(ACCESS_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST:
+ setCascadePersist(CASCADE_PERSIST_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS:
+ return access != ACCESS_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST:
+ return cascadePersist != CASCADE_PERSIST_EDEFAULT;
+ case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS:
+ return entityListeners != 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(" (schema: ");
+ result.append(schema);
+ result.append(", catalog: ");
+ result.append(catalog);
+ result.append(", access: ");
+ result.append(access);
+ result.append(", cascadePersist: ");
+ result.append(cascadePersist);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlPersistenceUnitDefaults
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPersistenceUnitMetadata.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPersistenceUnitMetadata.java
new file mode 100644
index 0000000000..c1cb0b2270
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPersistenceUnitMetadata.java
@@ -0,0 +1,299 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Persistence Unit Metadata</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitMetadata#isXmlMappingMetadataComplete <em>Xml Mapping Metadata Complete</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPersistenceUnitMetadata#getPersistenceUnitDefaults <em>Persistence Unit Defaults</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlPersistenceUnitMetadata()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class XmlPersistenceUnitMetadata extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * 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 EclipseLinkOrmPackage.Literals.XML_PERSISTENCE_UNIT_METADATA;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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>Persistence 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.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 - EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS, null, msgs);
+ if (newPersistenceUnitDefaults != null)
+ msgs = ((InternalEObject)newPersistenceUnitDefaults).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.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, EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE:
+ return isXmlMappingMetadataComplete() ? Boolean.TRUE : Boolean.FALSE;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE:
+ setXmlMappingMetadataComplete(((Boolean)newValue).booleanValue());
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE:
+ setXmlMappingMetadataComplete(XML_MAPPING_METADATA_COMPLETE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE:
+ return xmlMappingMetadataComplete != XML_MAPPING_METADATA_COMPLETE_EDEFAULT;
+ case EclipseLinkOrmPackage.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(" (xmlMappingMetadataComplete: ");
+ result.append(xmlMappingMetadataComplete);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlPersistenceUnitMetadata
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPrimaryKeyJoinColumn.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPrimaryKeyJoinColumn.java
new file mode 100644
index 0000000000..3d8ce9599d
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPrimaryKeyJoinColumn.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Primary Key Join Column</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlPrimaryKeyJoinColumn()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlPrimaryKeyJoinColumn 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlPrimaryKeyJoinColumn_ReferencedColumnName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getReferencedColumnName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setReferencedColumnName(String value);
+
+} // XmlPrimaryKeyJoinColumn
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPrimaryKeyJoinColumnImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPrimaryKeyJoinColumnImpl.java
new file mode 100644
index 0000000000..5874d20d04
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlPrimaryKeyJoinColumnImpl.java
@@ -0,0 +1,228 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Primary Key Join Column Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlPrimaryKeyJoinColumnImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlPrimaryKeyJoinColumnImpl extends AbstractXmlNamedColumn implements XmlPrimaryKeyJoinColumn
+{
+ /**
+ * 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 XmlPrimaryKeyJoinColumnImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_PRIMARY_KEY_JOIN_COLUMN_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlPrimaryKeyJoinColumn_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.eclipselink.core.resource.elorm.XmlPrimaryKeyJoinColumnImpl#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, EclipseLinkOrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN_IMPL__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 EclipseLinkOrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN_IMPL__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 EclipseLinkOrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN_IMPL__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 EclipseLinkOrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN_IMPL__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 EclipseLinkOrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN_IMPL__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 == XmlPrimaryKeyJoinColumn.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN_IMPL__REFERENCED_COLUMN_NAME: return EclipseLinkOrmPackage.XML_PRIMARY_KEY_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 == XmlPrimaryKeyJoinColumn.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME: return EclipseLinkOrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN_IMPL__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();
+ }
+
+} // XmlPrimaryKeyJoinColumnImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlQuery.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlQuery.java
new file mode 100644
index 0000000000..8a9a7b46ad
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlQuery.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlQuery#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlQuery#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlQuery#getHints <em>Hints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlQuery()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlQuery extends JpaEObject
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlQuery_Query()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getQuery();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlQuery_Hints()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlQueryHint> getHints();
+
+} // XmlQuery
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlQueryHint.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlQueryHint.java
new file mode 100644
index 0000000000..7ae065e2a8
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlQueryHint.java
@@ -0,0 +1,268 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Query Hint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlQueryHint#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlQueryHint#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlQueryHint()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class XmlQueryHint extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * 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 EclipseLinkOrmPackage.Literals.XML_QUERY_HINT;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_QUERY_HINT__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_QUERY_HINT__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_QUERY_HINT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.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 EclipseLinkOrmPackage.XML_QUERY_HINT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.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(" (name: ");
+ result.append(name);
+ result.append(", value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlQueryHint
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlRelationshipMapping.java
new file mode 100644
index 0000000000..3f74038a09
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlRelationshipMapping.java
@@ -0,0 +1,143 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Relationship Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping#getTargetEntity <em>Target Entity</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping#getJoinTable <em>Join Table</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping#getCascade <em>Cascade</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlRelationshipMapping extends XmlAttributeMapping
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_TargetEntity()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getTargetEntity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping#getTargetEntity <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Entity</em>' attribute.
+ * @see #getTargetEntity()
+ * @generated
+ */
+ void setTargetEntity(String value);
+
+ /**
+ * Returns the value of the '<em><b>Fetch</b></em>' attribute.
+ * The default value is <code>"LAZY"</code>.
+ * The literals are from the enumeration {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_Fetch()
+ * @model default="LAZY"
+ * @generated
+ */
+ FetchType getFetch();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping#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.eclipselink.core.resource.elorm.FetchType
+ * @see #getFetch()
+ * @generated
+ */
+ void setFetch(FetchType value);
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_JoinTable()
+ * @model containment="true"
+ * @generated
+ */
+ XmlJoinTable getJoinTable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping#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);
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlRelationshipMapping_Cascade()
+ * @model containment="true"
+ * @generated
+ */
+ CascadeType getCascade();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlRelationshipMapping#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
+ */
+ void setCascade(CascadeType value);
+
+} // XmlRelationshipMapping
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSecondaryTable.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSecondaryTable.java
new file mode 100644
index 0000000000..9ff6290981
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSecondaryTable.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Secondary Table</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSecondaryTable#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSecondaryTable()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlSecondaryTable extends XmlBaseTable
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSecondaryTable_PrimaryKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlPrimaryKeyJoinColumn> getPrimaryKeyJoinColumns();
+
+} // XmlSecondaryTable
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSecondaryTableImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSecondaryTableImpl.java
new file mode 100644
index 0000000000..8f69756edb
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSecondaryTableImpl.java
@@ -0,0 +1,213 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Secondary Table Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSecondaryTableImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlSecondaryTableImpl extends AbstractXmlBaseTable implements XmlSecondaryTable
+{
+ /**
+ * 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 XmlSecondaryTableImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_SECONDARY_TABLE_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSecondaryTable_PrimaryKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlPrimaryKeyJoinColumn> getPrimaryKeyJoinColumns()
+ {
+ if (primaryKeyJoinColumns == null)
+ {
+ primaryKeyJoinColumns = new EObjectContainmentEList<XmlPrimaryKeyJoinColumn>(XmlPrimaryKeyJoinColumn.class, this, EclipseLinkOrmPackage.XML_SECONDARY_TABLE_IMPL__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 EclipseLinkOrmPackage.XML_SECONDARY_TABLE_IMPL__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 EclipseLinkOrmPackage.XML_SECONDARY_TABLE_IMPL__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 EclipseLinkOrmPackage.XML_SECONDARY_TABLE_IMPL__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 EclipseLinkOrmPackage.XML_SECONDARY_TABLE_IMPL__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 EclipseLinkOrmPackage.XML_SECONDARY_TABLE_IMPL__PRIMARY_KEY_JOIN_COLUMNS:
+ return primaryKeyJoinColumns != null && !primaryKeyJoinColumns.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlSecondaryTable.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_SECONDARY_TABLE_IMPL__PRIMARY_KEY_JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_SECONDARY_TABLE__PRIMARY_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 == XmlSecondaryTable.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS: return EclipseLinkOrmPackage.XML_SECONDARY_TABLE_IMPL__PRIMARY_KEY_JOIN_COLUMNS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} // XmlSecondaryTableImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSequenceGenerator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSequenceGenerator.java
new file mode 100644
index 0000000000..551baf492e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSequenceGenerator.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Sequence Generator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSequenceGenerator#getSequenceName <em>Sequence Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSequenceGenerator()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlSequenceGenerator extends XmlGenerator
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSequenceGenerator_SequenceName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getSequenceName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setSequenceName(String value);
+
+} // XmlSequenceGenerator
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSequenceGeneratorImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSequenceGeneratorImpl.java
new file mode 100644
index 0000000000..989f77fdb3
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSequenceGeneratorImpl.java
@@ -0,0 +1,393 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Sequence Generator Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSequenceGeneratorImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlSequenceGeneratorImpl extends AbstractJpaEObject implements XmlSequenceGenerator
+{
+ /**
+ * 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 #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 XmlSequenceGeneratorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_SEQUENCE_GENERATOR_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlSequenceGeneratorImpl#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, EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__NAME, oldName, name));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlSequenceGeneratorImpl#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, EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlSequenceGeneratorImpl#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, EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__ALLOCATION_SIZE, oldAllocationSize, allocationSize));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlSequenceGeneratorImpl#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, EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__SEQUENCE_NAME, oldSequenceName, sequenceName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__INITIAL_VALUE:
+ return getInitialValue();
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__ALLOCATION_SIZE:
+ return getAllocationSize();
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__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 EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__INITIAL_VALUE:
+ setInitialValue((Integer)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__ALLOCATION_SIZE:
+ setAllocationSize((Integer)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__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 EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__INITIAL_VALUE:
+ setInitialValue(INITIAL_VALUE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__ALLOCATION_SIZE:
+ setAllocationSize(ALLOCATION_SIZE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__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 EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__INITIAL_VALUE:
+ return INITIAL_VALUE_EDEFAULT == null ? initialValue != null : !INITIAL_VALUE_EDEFAULT.equals(initialValue);
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__ALLOCATION_SIZE:
+ return ALLOCATION_SIZE_EDEFAULT == null ? allocationSize != null : !ALLOCATION_SIZE_EDEFAULT.equals(allocationSize);
+ case EclipseLinkOrmPackage.XML_SEQUENCE_GENERATOR_IMPL__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 String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", initialValue: ");
+ result.append(initialValue);
+ result.append(", allocationSize: ");
+ result.append(allocationSize);
+ result.append(", sequenceName: ");
+ result.append(sequenceName);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlSequenceGeneratorImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSingleRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSingleRelationshipMapping.java
new file mode 100644
index 0000000000..81e543ca87
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlSingleRelationshipMapping.java
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Single Relationship Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSingleRelationshipMapping#getOptional <em>Optional</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSingleRelationshipMapping#getJoinColumns <em>Join Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSingleRelationshipMapping()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlSingleRelationshipMapping extends XmlRelationshipMapping
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSingleRelationshipMapping_Optional()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getOptional();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlSingleRelationshipMapping#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
+ */
+ void setOptional(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlSingleRelationshipMapping_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlJoinColumn> getJoinColumns();
+
+} // XmlSingleRelationshipMapping
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTable.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTable.java
new file mode 100644
index 0000000000..cfbc41154a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTable.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Table</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTable()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlTable extends AbstractXmlBaseTable
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlTable()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_TABLE;
+ }
+
+} // XmlTable
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTableGenerator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTableGenerator.java
new file mode 100644
index 0000000000..56a0cc49a3
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTableGenerator.java
@@ -0,0 +1,211 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Table Generator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGenerator#getTable <em>Table</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGenerator#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGenerator#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGenerator#getPkColumnName <em>Pk Column Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGenerator#getValueColumnName <em>Value Column Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGenerator#getPkColumnValue <em>Pk Column Value</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlTableGenerator#getUniqueConstraints <em>Unique Constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTableGenerator()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlTableGenerator extends XmlGenerator
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTableGenerator_Table()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getTable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setTable(String value);
+
+ /**
+ * Returns the value of the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Catalog</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Catalog</em>' attribute.
+ * @see #setCatalog(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTableGenerator_Catalog()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getCatalog();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTableGenerator_Schema()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getSchema();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setSchema(String value);
+
+ /**
+ * Returns the value of the '<em><b>Pk Column Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pk Column Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pk Column Name</em>' attribute.
+ * @see #setPkColumnName(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTableGenerator_PkColumnName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getPkColumnName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setPkColumnName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value Column Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value Column Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value Column Name</em>' attribute.
+ * @see #setValueColumnName(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTableGenerator_ValueColumnName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getValueColumnName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setValueColumnName(String value);
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTableGenerator_PkColumnValue()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getPkColumnValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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
+ */
+ void setPkColumnValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTableGenerator_UniqueConstraints()
+ * @model containment="true"
+ * @generated
+ */
+ EList<XmlUniqueConstraint> getUniqueConstraints();
+
+} // XmlTableGenerator
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTableGeneratorImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTableGeneratorImpl.java
new file mode 100644
index 0000000000..9260f9d5ec
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTableGeneratorImpl.java
@@ -0,0 +1,798 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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.core.resource.common.AbstractJpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Table Generator Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTableGeneratorImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlTableGeneratorImpl extends AbstractJpaEObject implements XmlTableGenerator
+{
+ /**
+ * 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 XmlTableGeneratorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_TABLE_GENERATOR_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlTableGeneratorImpl#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, EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__NAME, oldName, name));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlTableGeneratorImpl#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, EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlTableGeneratorImpl#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, EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__ALLOCATION_SIZE, oldAllocationSize, allocationSize));
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlTableGeneratorImpl#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, EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlTableGeneratorImpl#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, EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlTableGeneratorImpl#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, EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlTableGeneratorImpl#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, EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlTableGeneratorImpl#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, EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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.eclipselink.core.resource.elorm.XmlTableGeneratorImpl#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, EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__PK_COLUMN_VALUE, oldPkColumnValue, pkColumnValue));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTableGenerator_UniqueConstraints()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlUniqueConstraint> getUniqueConstraints()
+ {
+ if (uniqueConstraints == null)
+ {
+ uniqueConstraints = new EObjectContainmentEList<XmlUniqueConstraint>(XmlUniqueConstraint.class, this, EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__UNIQUE_CONSTRAINTS);
+ }
+ return uniqueConstraints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__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 EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__INITIAL_VALUE:
+ return getInitialValue();
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__ALLOCATION_SIZE:
+ return getAllocationSize();
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__TABLE:
+ return getTable();
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__CATALOG:
+ return getCatalog();
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__SCHEMA:
+ return getSchema();
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__PK_COLUMN_NAME:
+ return getPkColumnName();
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__VALUE_COLUMN_NAME:
+ return getValueColumnName();
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__PK_COLUMN_VALUE:
+ return getPkColumnValue();
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__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 EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__INITIAL_VALUE:
+ setInitialValue((Integer)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__ALLOCATION_SIZE:
+ setAllocationSize((Integer)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__TABLE:
+ setTable((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__PK_COLUMN_NAME:
+ setPkColumnName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__VALUE_COLUMN_NAME:
+ setValueColumnName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__PK_COLUMN_VALUE:
+ setPkColumnValue((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__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 EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__INITIAL_VALUE:
+ setInitialValue(INITIAL_VALUE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__ALLOCATION_SIZE:
+ setAllocationSize(ALLOCATION_SIZE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__TABLE:
+ setTable(TABLE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__PK_COLUMN_NAME:
+ setPkColumnName(PK_COLUMN_NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__VALUE_COLUMN_NAME:
+ setValueColumnName(VALUE_COLUMN_NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__PK_COLUMN_VALUE:
+ setPkColumnValue(PK_COLUMN_VALUE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__UNIQUE_CONSTRAINTS:
+ getUniqueConstraints().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__INITIAL_VALUE:
+ return INITIAL_VALUE_EDEFAULT == null ? initialValue != null : !INITIAL_VALUE_EDEFAULT.equals(initialValue);
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__ALLOCATION_SIZE:
+ return ALLOCATION_SIZE_EDEFAULT == null ? allocationSize != null : !ALLOCATION_SIZE_EDEFAULT.equals(allocationSize);
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__TABLE:
+ return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table);
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__PK_COLUMN_NAME:
+ return PK_COLUMN_NAME_EDEFAULT == null ? pkColumnName != null : !PK_COLUMN_NAME_EDEFAULT.equals(pkColumnName);
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__VALUE_COLUMN_NAME:
+ return VALUE_COLUMN_NAME_EDEFAULT == null ? valueColumnName != null : !VALUE_COLUMN_NAME_EDEFAULT.equals(valueColumnName);
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__PK_COLUMN_VALUE:
+ return PK_COLUMN_VALUE_EDEFAULT == null ? pkColumnValue != null : !PK_COLUMN_VALUE_EDEFAULT.equals(pkColumnValue);
+ case EclipseLinkOrmPackage.XML_TABLE_GENERATOR_IMPL__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(", 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();
+ }
+
+} // XmlTableGeneratorImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTransient.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTransient.java
new file mode 100644
index 0000000000..b101f3227a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTransient.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Transient</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTransient()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlTransient extends XmlAttributeMapping
+{
+} // XmlTransient
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTransientImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTransientImpl.java
new file mode 100644
index 0000000000..a0680c6d0e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlTransientImpl.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Transient Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlTransientImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlTransientImpl extends AbstractXmlAttributeMapping implements XmlTransient
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlTransientImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_TRANSIENT_IMPL;
+ }
+
+} // XmlTransientImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlUniqueConstraint.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlUniqueConstraint.java
new file mode 100644
index 0000000000..bab9a09628
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlUniqueConstraint.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Unique Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlUniqueConstraint#getColumnNames <em>Column Names</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlUniqueConstraint()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlUniqueConstraint extends JpaEObject
+{
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlUniqueConstraint_ColumnNames()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ EList<String> getColumnNames();
+
+} // XmlUniqueConstraint
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlUniqueConstraintImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlUniqueConstraintImpl.java
new file mode 100644
index 0000000000..e02ad200c6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlUniqueConstraintImpl.java
@@ -0,0 +1,174 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Unique Constraint Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlUniqueConstraintImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlUniqueConstraintImpl extends AbstractJpaEObject implements XmlUniqueConstraint
+{
+ /**
+ * 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 XmlUniqueConstraintImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_UNIQUE_CONSTRAINT_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.XML_UNIQUE_CONSTRAINT_IMPL__COLUMN_NAMES);
+ }
+ return columnNames;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_UNIQUE_CONSTRAINT_IMPL__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 EclipseLinkOrmPackage.XML_UNIQUE_CONSTRAINT_IMPL__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 EclipseLinkOrmPackage.XML_UNIQUE_CONSTRAINT_IMPL__COLUMN_NAMES:
+ getColumnNames().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_UNIQUE_CONSTRAINT_IMPL__COLUMN_NAMES:
+ return columnNames != null && !columnNames.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (columnNames: ");
+ result.append(columnNames);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlUniqueConstraintImpl
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlVersion.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlVersion.java
new file mode 100644
index 0000000000..c84852bd30
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlVersion.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Version</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersion#getTemporal <em>Temporal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlVersion()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlVersion extends XmlAttributeMapping, ColumnMapping
+{
+ /**
+ * Returns the value of the '<em><b>Temporal</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.TemporalType
+ * @see #setTemporal(TemporalType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlVersion_Temporal()
+ * @model
+ * @generated
+ */
+ TemporalType getTemporal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.TemporalType
+ * @see #getTemporal()
+ * @generated
+ */
+ void setTemporal(TemporalType value);
+
+} // XmlVersion
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlVersionImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlVersionImpl.java
new file mode 100644
index 0000000000..b0da3c0adf
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/elorm/XmlVersionImpl.java
@@ -0,0 +1,345 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.resource.elorm;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Version Impl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlVersionImpl()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlVersionImpl extends AbstractXmlAttributeMapping implements XmlVersion
+{
+ /**
+ * 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 #getTemporal() <em>Temporal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTemporal()
+ * @generated
+ * @ordered
+ */
+ protected static final TemporalType TEMPORAL_EDEFAULT = TemporalType.DATE;
+
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlVersionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_VERSION_IMPL;
+ }
+
+ /**
+ * 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.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#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, EclipseLinkOrmPackage.XML_VERSION_IMPL__COLUMN, oldColumn, newColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersionImpl#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 - EclipseLinkOrmPackage.XML_VERSION_IMPL__COLUMN, null, msgs);
+ if (newColumn != null)
+ msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_VERSION_IMPL__COLUMN, null, msgs);
+ msgs = basicSetColumn(newColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_VERSION_IMPL__COLUMN, newColumn, newColumn));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Temporal</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.eclipselink.core.resource.elorm.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.eclipselink.core.resource.elorm.TemporalType
+ * @see #setTemporal(TemporalType)
+ * @see org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage#getXmlVersion_Temporal()
+ * @model
+ * @generated
+ */
+ public TemporalType getTemporal()
+ {
+ return temporal;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.elorm.XmlVersionImpl#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.eclipselink.core.resource.elorm.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, EclipseLinkOrmPackage.XML_VERSION_IMPL__TEMPORAL, oldTemporal, temporal));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__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 EclipseLinkOrmPackage.XML_VERSION_IMPL__COLUMN:
+ return getColumn();
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__TEMPORAL:
+ return getTemporal();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__COLUMN:
+ setColumn((XmlColumn)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__TEMPORAL:
+ setTemporal((TemporalType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__COLUMN:
+ setColumn((XmlColumn)null);
+ return;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__TEMPORAL:
+ setTemporal(TEMPORAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__COLUMN:
+ return column != null;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__TEMPORAL:
+ return temporal != TEMPORAL_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 EclipseLinkOrmPackage.XML_VERSION_IMPL__COLUMN: return EclipseLinkOrmPackage.COLUMN_MAPPING__COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlVersion.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__TEMPORAL: return EclipseLinkOrmPackage.XML_VERSION__TEMPORAL;
+ 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 EclipseLinkOrmPackage.COLUMN_MAPPING__COLUMN: return EclipseLinkOrmPackage.XML_VERSION_IMPL__COLUMN;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlVersion.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_VERSION__TEMPORAL: return EclipseLinkOrmPackage.XML_VERSION_IMPL__TEMPORAL;
+ 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(" (temporal: ");
+ result.append(temporal);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlVersionImpl

Back to the top