Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2010-10-25 18:22:00 +0000
committerkmoore2010-10-25 18:22:00 +0000
commita8fd59c77964b4bce99bdb672a9b09448351b5da (patch)
tree5fdddee7d98997cda1d45885aee0cb2f9216caf3
parent6acdc96f7dad8b381dc89cf5ed58441d994b50f9 (diff)
downloadwebtools.dali-a8fd59c77964b4bce99bdb672a9b09448351b5da.tar.gz
webtools.dali-a8fd59c77964b4bce99bdb672a9b09448351b5da.tar.xz
webtools.dali-a8fd59c77964b4bce99bdb672a9b09448351b5da.zip
328509 - EclipseLink 2.2 platform and orm resource model support
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlBasic.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/META-INF/MANIFEST.MF5
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipseLinkResourceModels.genmodel57
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm.ecore93
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.properties1
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/schemas/eclipselink_orm_2_2.xsd4227
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/JptEclipseLinkCorePlugin.java12
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/operations/EclipseLinkOrmFileCreationDataModelProvider.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_1/context/orm/EclipseLinkOrmXml2_1Definition.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_2/EclipseLink2_2JpaPlatformFactory.java73
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_2/EclipseLink2_2JpaPlatformProvider.java155
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_2/context/orm/EclipseLinkOrmXml2_2Definition.java98
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmFactory.java24
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java589
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlAdditionalCriteria.java221
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasic.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicCollection.java104
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicMap.java104
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlElementCollection.java94
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEmbeddable.java234
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntity.java274
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntityMappings.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlId.java117
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlIndex.java563
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlManyToMany.java94
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlMappedSuperclass.java109
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlOneToMany.java94
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlOneToOne.java96
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlVersion.java109
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v1_1/EclipseLinkOrmV1_1Package.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/EclipseLinkOrmV2_0Package.java22
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlEntity_2_0.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_1/EclipseLinkOrmV2_1Package.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/EclipseLink2_2.java36
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/EclipseLinkOrmV2_2Factory.java113
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/EclipseLinkOrmV2_2Package.java1704
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlAdditionalCriteria_2_2.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlBasicCollection_2_2.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlBasicMap_2_2.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlBasic_2_2.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlElementCollection_2_2.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlEmbeddable_2_2.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlEntity_2_2.java119
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlId_2_2.java56
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlIndex_2_2.java191
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlManyToMany_2_2.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlMappedSuperclass_2_2.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlOneToMany_2_2.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlOneToOne_2_2.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlVersion_2_2.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/META-INF/MANIFEST.MF4
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/plugin.xml5
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkEntityMappings2_0DetailsProvider.java3
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_2/details/orm/EclipseLinkOrmXml2_2UiDefinition.java106
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_2/platform/EclipseLink2_2JpaPlatformUiFactory.java34
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_2/platform/EclipseLink2_2JpaPlatformUiProvider.java91
56 files changed, 10576 insertions, 199 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlBasic.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlBasic.java
index 731e0b1aa5..cad7f4d06f 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlBasic.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlBasic.java
@@ -683,5 +683,5 @@ public class XmlBasic extends AbstractXmlAttributeMapping implements ColumnMappi
protected static Translator buildEnumeratedTranslator() {
return new Translator(JPA.ENUMERATED, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Enumerated());
- }
+ }
}
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 d6ba914994..f5eec0e8d0 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
@@ -54,7 +54,7 @@ Export-Package: org.eclipse.jpt.eclipselink.core,
org.eclipse.jpt.eclipselink.core.internal.context.persistence.options;x-internal:=true,
org.eclipse.jpt.eclipselink.core.internal.context.persistence.schema.generation;x-internal:=true,
org.eclipse.jpt.eclipselink.core.internal.ddlgen;x-internal:=true,
- org.eclipse.jpt.eclipselink.core.internal.libval,
+ org.eclipse.jpt.eclipselink.core.internal.libval;x-internal:=true,
org.eclipse.jpt.eclipselink.core.internal.operations;x-internal:=true,
org.eclipse.jpt.eclipselink.core.internal.resource.java;x-internal:=true,
org.eclipse.jpt.eclipselink.core.internal.resource.java.binary;x-internal:=true,
@@ -79,6 +79,8 @@ Export-Package: org.eclipse.jpt.eclipselink.core,
org.eclipse.jpt.eclipselink.core.internal.v2_1.resource.java;x-internal:=true,
org.eclipse.jpt.eclipselink.core.internal.v2_1.resource.java.binary;x-internal:=true,
org.eclipse.jpt.eclipselink.core.internal.v2_1.resource.java.source;x-internal:=true,
+ org.eclipse.jpt.eclipselink.core.internal.v2_2;x-internal:=true,
+ org.eclipse.jpt.eclipselink.core.internal.v2_2.context.orm;x-internal:=true,
org.eclipse.jpt.eclipselink.core.platform,
org.eclipse.jpt.eclipselink.core.resource.java,
org.eclipse.jpt.eclipselink.core.resource.orm,
@@ -86,6 +88,7 @@ Export-Package: org.eclipse.jpt.eclipselink.core,
org.eclipse.jpt.eclipselink.core.resource.orm.v1_2,
org.eclipse.jpt.eclipselink.core.resource.orm.v2_0,
org.eclipse.jpt.eclipselink.core.resource.orm.v2_1,
+ org.eclipse.jpt.eclipselink.core.resource.orm.v2_2,
org.eclipse.jpt.eclipselink.core.v2_0.context,
org.eclipse.jpt.eclipselink.core.v2_0.context.persistence.connection,
org.eclipse.jpt.eclipselink.core.v2_0.context.persistence.logging,
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipseLinkResourceModels.genmodel b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipseLinkResourceModels.genmodel
index 07d001cca6..59bb30cb36 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipseLinkResourceModels.genmodel
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipseLinkResourceModels.genmodel
@@ -61,6 +61,7 @@
<genClasses image="false" ecoreClass="eclipselink_orm.ecore#//XmlAccessMethodsHolder">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//XmlAccessMethodsHolder/accessMethods"/>
</genClasses>
+ <genClasses ecoreClass="eclipselink_orm.ecore#//XmlAdditionalCriteria"/>
<genClasses image="false" ecoreClass="eclipselink_orm.ecore#//XmlAttributeMapping"/>
<genClasses ecoreClass="eclipselink_orm.ecore#//Attributes">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//Attributes/basicCollections"/>
@@ -151,6 +152,7 @@
<genClasses ecoreClass="eclipselink_orm.ecore#//XmlFetchAttribute"/>
<genClasses ecoreClass="eclipselink_orm.ecore#//XmlFetchGroup"/>
<genClasses ecoreClass="eclipselink_orm.ecore#//XmlId"/>
+ <genClasses ecoreClass="eclipselink_orm.ecore#//XmlIndex"/>
<genClasses ecoreClass="eclipselink_orm.ecore#//XmlInstantiationCopyPolicy"/>
<genClasses image="false" ecoreClass="eclipselink_orm.ecore#//XmlJoinFetch">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlJoinFetch/joinFetch"/>
@@ -377,7 +379,58 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_1/XmlVersion_2_1/attributeType"/>
</genClasses>
</nestedGenPackages>
- <nestedGenPackages prefix="V2_2" basePackage="org.eclipse.jpt.eclipselink.core.resource.orm"
- disposableProviderFactory="true" ecorePackage="eclipselink_orm.ecore#//v2_2"/>
+ <nestedGenPackages prefix="EclipseLinkOrmV2_2" basePackage="org.eclipse.jpt.eclipselink.core.resource.orm"
+ disposableProviderFactory="true" adapterFactory="false" fileExtensions="EclipseLinkOrmV2_2"
+ ecorePackage="eclipselink_orm.ecore#//v2_2">
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_2/XmlAdditionalCriteria_2_2">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlAdditionalCriteria_2_2/criteria"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_2/XmlBasic_2_2">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//v2_2/XmlBasic_2_2/index"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_2/XmlBasicCollection_2_2">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlBasicCollection_2_2/cascadeOnDelete"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_2/XmlBasicMap_2_2">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlBasicMap_2_2/cascadeOnDelete"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_2/XmlElementCollection_2_2">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlElementCollection_2_2/cascadeOnDelete"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_2/XmlEntity_2_2">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//v2_2/XmlEntity_2_2/additionalCriteria"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlEntity_2_2/cascadeOnDelete"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//v2_2/XmlEntity_2_2/index"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_2/XmlManyToMany_2_2">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlManyToMany_2_2/cascadeOnDelete"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_2/XmlOneToOne_2_2">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlOneToOne_2_2/cascadeOnDelete"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_2/XmlOneToMany_2_2">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlOneToMany_2_2/cascadeOnDelete"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_2/XmlEmbeddable_2_2">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlEmbeddable_2_2/parentClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eclipselink_orm.ecore#//v2_2/XmlId_2_2">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//v2_2/XmlId_2_2/index"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_2/XmlIndex_2_2">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlIndex_2_2/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlIndex_2_2/schema"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlIndex_2_2/catalog"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlIndex_2_2/table"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlIndex_2_2/unique"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_2/XmlIndex_2_2/columnNames"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_2/XmlMappedSuperclass_2_2">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//v2_2/XmlMappedSuperclass_2_2/additionalCriteria"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_2/XmlVersion_2_2">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//v2_2/XmlVersion_2_2/index"/>
+ </genClasses>
+ </nestedGenPackages>
</genPackages>
</genmodel:GenModel>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm.ecore b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm.ecore
index 8e75b77ff0..d862c423f3 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm.ecore
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm.ecore
@@ -12,6 +12,7 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="accessMethods" eType="#//XmlAccessMethods"
containment="true" resolveProxies="false"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlAdditionalCriteria" eSuperTypes="#//v2_2/XmlAdditionalCriteria_2_2"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlAttributeMapping" abstract="true"
interface="true" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlAttributeMapping #//XmlAccessMethodsHolder #//XmlPropertyContainer"/>
<eClassifiers xsi:type="ecore:EClass" name="Attributes" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//Attributes">
@@ -25,8 +26,8 @@
eType="#//XmlVariableOneToOne" containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="XmlBasic" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlBasic #//v1_1/XmlBasic_1_1 #//v2_1/XmlBasic_2_1 #//XmlAttributeMapping #//XmlMutable #//XmlConvertibleMapping"/>
- <eClassifiers xsi:type="ecore:EClass" name="XmlBasicCollection" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//AbstractXmlAttributeMapping #//XmlAttributeMapping"/>
- <eClassifiers xsi:type="ecore:EClass" name="XmlBasicMap" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//AbstractXmlAttributeMapping #//XmlAttributeMapping"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlBasicCollection" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//AbstractXmlAttributeMapping #//XmlAttributeMapping #//v2_2/XmlBasicCollection_2_2"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlBasicMap" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//AbstractXmlAttributeMapping #//XmlAttributeMapping #//v2_2/XmlBasicMap_2_2"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlBatchFetch" eSuperTypes="#//v2_1/XmlBatchFetch_2_1"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlBatchFetchHolder" abstract="true"
interface="true">
@@ -108,8 +109,8 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="customizer" eType="ecore:EClass ../../org.eclipse.jpt.core/model/orm.ecore#//XmlClassReference"
containment="true" resolveProxies="false"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="XmlElementCollection" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlElementCollection #//v2_0/XmlElementCollection_2_0 #//v2_1/XmlElementCollection_2_1"/>
- <eClassifiers xsi:type="ecore:EClass" name="XmlEmbeddable" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlEmbeddable #//v2_1/XmlEmbeddable_2_1 #//XmlCustomizerHolder #//XmlChangeTrackingHolder #//XmlConvertersHolder #//XmlPropertyContainer">
+ <eClassifiers xsi:type="ecore:EClass" name="XmlElementCollection" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlElementCollection #//v2_0/XmlElementCollection_2_0 #//v2_1/XmlElementCollection_2_1 #//v2_2/XmlElementCollection_2_2"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlEmbeddable" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlEmbeddable #//v2_1/XmlEmbeddable_2_1 #//v2_2/XmlEmbeddable_2_2 #//XmlCustomizerHolder #//XmlChangeTrackingHolder #//XmlConvertersHolder #//XmlPropertyContainer">
<eStructuralFeatures xsi:type="ecore:EReference" name="copyPolicy" eType="#//XmlCopyPolicy"
containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="instantiationCopyPolicy"
@@ -121,7 +122,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="XmlEmbedded" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlEmbedded #//v2_1/XmlEmbedded_2_1 #//XmlAttributeMapping"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlEmbeddedId" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlEmbeddedId #//v2_1/XmlEmbeddedId_2_1 #//XmlAttributeMapping"/>
- <eClassifiers xsi:type="ecore:EClass" name="XmlEntity" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlEntity #//v1_1/XmlEntity_1_1 #//v2_0/XmlEntity_2_0 #//v2_1/XmlEntity_2_1 #//XmlReadOnly #//XmlCustomizerHolder #//XmlChangeTrackingHolder #//XmlCacheHolder #//XmlConvertersHolder #//XmlQueryContainer #//XmlPropertyContainer">
+ <eClassifiers xsi:type="ecore:EClass" name="XmlEntity" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlEntity #//v1_1/XmlEntity_1_1 #//v2_0/XmlEntity_2_0 #//v2_1/XmlEntity_2_1 #//v2_2/XmlEntity_2_2 #//XmlReadOnly #//XmlCustomizerHolder #//XmlChangeTrackingHolder #//XmlCacheHolder #//XmlConvertersHolder #//XmlQueryContainer #//XmlPropertyContainer">
<eStructuralFeatures xsi:type="ecore:EReference" name="optimisticLocking" eType="#//XmlOptimisticLocking"
containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="copyPolicy" eType="#//XmlCopyPolicy"
@@ -136,14 +137,15 @@
<eClassifiers xsi:type="ecore:EClass" name="XmlEntityMappings" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlEntityMappings #//XmlConvertersHolder #//XmlQueryContainer"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlFetchAttribute" eSuperTypes="#//v2_1/XmlFetchAttribute_2_1"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlFetchGroup" eSuperTypes="#//v2_1/XmlFetchGroup_2_1"/>
- <eClassifiers xsi:type="ecore:EClass" name="XmlId" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlId #//v2_1/XmlId_2_1 #//XmlAttributeMapping #//XmlMutable #//XmlConvertibleMapping"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlId" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlId #//v2_1/XmlId_2_1 #//v2_2/XmlId_2_2 #//XmlAttributeMapping #//XmlMutable #//XmlConvertibleMapping"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlIndex" eSuperTypes="#//v2_2/XmlIndex_2_2"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlInstantiationCopyPolicy"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlJoinFetch" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="joinFetch" eType="#//XmlJoinFetchType"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="XmlManyToMany" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlManyToMany #//v2_0/XmlManyToMany_2_0 #//v2_1/XmlManyToMany_2_1 #//XmlAttributeMapping #//XmlJoinFetch"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlManyToMany" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlManyToMany #//v2_0/XmlManyToMany_2_0 #//v2_1/XmlManyToMany_2_1 #//v2_2/XmlManyToMany_2_2 #//XmlAttributeMapping #//XmlJoinFetch"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlManyToOne" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlManyToOne #//v2_1/XmlManyToOne_2_1 #//XmlAttributeMapping #//XmlJoinFetch"/>
- <eClassifiers xsi:type="ecore:EClass" name="XmlMappedSuperclass" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlMappedSuperclass #//v1_1/XmlMappedSuperclass_1_1 #//v2_0/XmlMappedSuperclass_2_0 #//v2_1/XmlMappedSuperclass_2_1 #//XmlReadOnly #//XmlCustomizerHolder #//XmlChangeTrackingHolder #//XmlCacheHolder #//XmlConvertersHolder #//XmlPropertyContainer">
+ <eClassifiers xsi:type="ecore:EClass" name="XmlMappedSuperclass" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlMappedSuperclass #//v1_1/XmlMappedSuperclass_1_1 #//v2_0/XmlMappedSuperclass_2_0 #//v2_1/XmlMappedSuperclass_2_1 #//v2_2/XmlMappedSuperclass_2_2 #//XmlReadOnly #//XmlCustomizerHolder #//XmlChangeTrackingHolder #//XmlCacheHolder #//XmlConvertersHolder #//XmlPropertyContainer">
<eStructuralFeatures xsi:type="ecore:EReference" name="optimisticLocking" eType="#//XmlOptimisticLocking"
containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="copyPolicy" eType="#//XmlCopyPolicy"
@@ -180,8 +182,8 @@
eType="#//XmlConversionValue" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="XmlOneToMany" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlOneToMany #//v2_0/XmlOneToMany_2_0 #//v2_1/XmlOneToMany_2_1 #//XmlAttributeMapping #//XmlPrivateOwned #//XmlJoinFetch"/>
- <eClassifiers xsi:type="ecore:EClass" name="XmlOneToOne" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlOneToOne #//v2_1/XmlOneToOne_2_1 #//XmlAttributeMapping #//XmlPrivateOwned #//XmlJoinFetch"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlOneToMany" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlOneToMany #//v2_0/XmlOneToMany_2_0 #//v2_1/XmlOneToMany_2_1 #//v2_2/XmlOneToMany_2_2 #//XmlAttributeMapping #//XmlPrivateOwned #//XmlJoinFetch"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlOneToOne" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlOneToOne #//v2_1/XmlOneToOne_2_1 #//v2_2/XmlOneToOne_2_2 #//XmlAttributeMapping #//XmlPrivateOwned #//XmlJoinFetch"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlOptimisticLocking">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//XmlOptimisticLockingType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="cascade" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
@@ -243,7 +245,7 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="objectType" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="XmlVariableOneToOne" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//AbstractXmlAttributeMapping #//XmlAttributeMapping"/>
- <eClassifiers xsi:type="ecore:EClass" name="XmlVersion" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlVersion #//v2_1/XmlVersion_2_1 #//XmlAttributeMapping #//XmlMutable #//XmlConvertibleMapping"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlVersion" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlVersion #//v2_1/XmlVersion_2_1 #//v2_2/XmlVersion_2_2 #//XmlAttributeMapping #//XmlMutable #//XmlConvertibleMapping"/>
<eClassifiers xsi:type="ecore:EEnum" name="CacheCoordinationType">
<eLiterals name="SEND_OBJECT_CHANGES"/>
<eLiterals name="INVALIDATE_CHANGED_OBJECTS" value="1"/>
@@ -322,8 +324,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="XmlElementCollection_2_0" abstract="true"
interface="true" eSuperTypes="#//XmlAttributeMapping #//XmlConvertibleMapping #//XmlConvertersHolder #//v2_0/XmlCollectionMapping_2_0"/>
- <eClassifiers xsi:type="ecore:EClass" name="XmlEntity_2_0" abstract="true" interface="true"
- eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//v2_0/XmlEntity_2_0">
+ <eClassifiers xsi:type="ecore:EClass" name="XmlEntity_2_0" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="cacheInterceptor" eType="ecore:EClass ../../org.eclipse.jpt.core/model/orm.ecore#//XmlClassReference"
containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="queryRedirectors" eType="#//XmlQueryRedirectors"
@@ -465,5 +466,69 @@
<eLiterals name="IN" value="2"/>
</eClassifiers>
</eSubpackages>
- <eSubpackages name="v2_2" nsURI="jpt.eclipselink.orm.v2_2.xmi" nsPrefix="org.eclipse.jpt.eclipselink.core.resource.orm.v2_2"/>
+ <eSubpackages name="v2_2" nsURI="jpt.eclipselink.orm.v2_2.xmi" nsPrefix="org.eclipse.jpt.eclipselink.core.resource.orm.v2_2">
+ <eClassifiers xsi:type="ecore:EClass" name="XmlAdditionalCriteria_2_2" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="criteria" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlBasic_2_2" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="index" eType="#//v2_2/XmlIndex_2_2"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlBasicCollection_2_2" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascadeOnDelete" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlBasicMap_2_2" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascadeOnDelete" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlElementCollection_2_2" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascadeOnDelete" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlEntity_2_2" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="additionalCriteria" eType="#//v2_2/XmlAdditionalCriteria_2_2"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascadeOnDelete" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="index" eType="#//v2_2/XmlIndex_2_2"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlManyToMany_2_2" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascadeOnDelete" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlOneToOne_2_2" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascadeOnDelete" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlOneToMany_2_2" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascadeOnDelete" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlEmbeddable_2_2" abstract="true"
+ interface="true" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlAttributeOverrideContainer ../../org.eclipse.jpt.core/model/orm.ecore#//XmlAssociationOverrideContainer">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="parentClass" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlId_2_2" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="index" eType="#//v2_2/XmlIndex_2_2"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlIndex_2_2" 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="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="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="columnNames" unique="false"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlMappedSuperclass_2_2" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="additionalCriteria" eType="#//v2_2/XmlAdditionalCriteria_2_2"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlVersion_2_2" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="index" eType="#//v2_2/XmlIndex_2_2"
+ containment="true"/>
+ </eClassifiers>
+ </eSubpackages>
</ecore:EPackage>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.properties b/jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.properties
index abd891f1c7..b7038f49e6 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.properties
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/plugin.properties
@@ -30,3 +30,4 @@ ECLIPSELINK1_1_x_PLATFORM = EclipseLink 1.1.x
ECLIPSELINK1_2_x_PLATFORM = EclipseLink 1.2.x
ECLIPSELINK2_0_x_PLATFORM = EclipseLink 2.0.x
ECLIPSELINK2_1_x_PLATFORM = EclipseLink 2.1.x
+ECLIPSELINK2_2_x_PLATFORM = EclipseLink 2.2.x
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/schemas/eclipselink_orm_2_2.xsd b/jpa/plugins/org.eclipse.jpt.eclipselink.core/schemas/eclipselink_orm_2_2.xsd
new file mode 100644
index 0000000000..58c4ec303f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/schemas/eclipselink_orm_2_2.xsd
@@ -0,0 +1,4227 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ******************************************************************************************************************************* -->
+<!-- Copyright (c) 1998, 2010 Oracle. All rights reserved. -->
+<!-- This program and the accompanying materials are made available under the -->
+<!-- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 -->
+<!-- which accompanies this distribution. -->
+<!-- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html -->
+<!-- and the Eclipse Distribution License is available at -->
+<!-- http://www.eclipse.org/org/documents/edl-v10.php. -->
+<!-- -->
+<!-- Contributors: -->
+<!-- Oracle - initial API and implementation from Oracle TopLink -->
+<!-- tware - update version number to 2.0 -->
+<!-- 12/2/2009-2.1 Guy Pelletier -->
+<!-- - 296289: Add current annotation metadata support on mapped superclasses to EclipseLink-ORM.XML Schema -->
+<!-- - 296612: Add current annotation only metadata support of return insert/update to the EclipseLink-ORM.XML Schema -->
+<!-- - formatted to match orm_2_0.xsd so that users can easily compare the two schemas -->
+<!-- 5/4/2010-2.1 Guy Pelletier -->
+<!-- - 227219: Expand EclipseLink-ORM.XML schema functionality for 2.1 release (update version to 2.1) -->
+<!-- 6/14/2010-2.2 Guy Pelletier -->
+<!-- - 247078: eclipselink-orm.xml schema should allow lob and enumerated on version and id mappings (update version to 2.2) -->
+<!-- 10/15/2010-2.2 Guy Pelletier -->
+<!-- - 322008: Improve usability of additional criteria applied to queries at the session/EM -->
+<!-- ******************************************************************************************************************************* -->
+
+<!-- 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="2.2">
+
+ <xsd:annotation>
+ <xsd:documentation>
+ @(#)eclipselink_orm_2_2.xsd 2.2 June 14 2010
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+
+ This is the XML Schema for the native Eclipselink XML mapping file
+ The file may be named "META-INF/eclipselink-orm.xml" in the persistence
+ archive or it may be named some other name which would be
+ used to locate the file as resource on the classpath.
+ Object/relational mapping files must indicate the object/relational
+ mapping file schema by using the persistence namespace:
+
+ http://www.eclipse.org/eclipselink/xsds/persistence/orm
+
+ and indicate the version of the schema by using the version element as shown below:
+
+ <entity-mappings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm
+ eclipselink_orm_2_2.xsd
+ version="2.2">
+ ...
+ </entity-mappings>
+
+ ]]></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: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="additional-criteria">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * An additional criteria can be specified at the Entity or MappedSuperclass
+ * level. When specified at the mapped superclass level, it applies to all
+ * inheriting entities unless those entities define their own additional
+ * criteria, at which point the additional criteria from the mapped superclass
+ * is ignored.
+ *
+ * The additional criteria supports any valid JPQL string and must use 'this'
+ * as an alias to form your additional criteria. E.G.,
+ *
+ * @Entity
+ * @AdditionalCriteria("this.nut.size = :NUT_SIZE and this.nut.color = :NUT_COLOR")
+ * public class Bolt {...}
+ *
+ * Additional criteria parameters are also accepted and are set through
+ * properties on the entity manager factory, or on an entity manager. When set
+ * on the entity manager, the properties must be set before any query execution
+ * and should not be changed for the life span of that entity manager.
+ *
+ * Properties set on the entity manager will override those similarly named
+ * properties set on the entity manager factory.
+ *
+ * Additional criteria is not supported with any native queries.
+ *
+ * @author Guy Pelletier
+ * @since EclipseLink 2.2
+ */
+ @Target({TYPE})
+ @Retention(RUNTIME)
+ public @interface AdditionalCriteria {
+ /**
+ * (Required) The JPQL fragment to use as the additional criteria.
+ */
+ String value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="criteria" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <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:complexType name="cache-interceptor">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface CacheInterceptor {
+ Class value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ </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="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,
+ * MappedSuperclass or Embeddable.
+ */
+ @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"/>
+ </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.config.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: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:element name="entity-mappings">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The entity-mappings element is the root element of a 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, named-native-query, or
+ result-set-mapping 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="access-methods" type="orm:access-methods"
+ 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="2.2" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <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: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,
+ 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="description" type="xsd:string" minOccurs="0"/>
+ <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, secondary tables, join
+ tables, collection tables, sequence generators, and table
+ generators that apply to the persistence unit
+ catalog - Used as the catalog for all tables, secondary tables, join
+ tables, collection tables, sequence generators, and table
+ generators that apply to the persistence unit
+ delimited-identifiers - Used to treat database identifiers as
+ delimited identifiers.
+ 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 all 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="description" 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="delimited-identifiers" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="access" type="orm:access-type"
+ minOccurs="0"/>
+ <xsd:element name="access-methods" type="orm:access-methods"
+ 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="access-methods" type="orm:access-methods" minOccurs="0"/>
+ <xsd:element name="additional-criteria" type="orm:additional-criteria" 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="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
+ <xsd:element name="index" type="orm:index" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
+ <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
+ <xsd:element name="inheritance" type="orm:inheritance" minOccurs="0"/>
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="discriminator-value" type="orm:discriminator-value" minOccurs="0"/>
+ <xsd:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:element name="class-extractor" type="orm:class-extractor" minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="optimistic-locking" type="orm:optimistic-locking" minOccurs="0"/>
+ <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
+ <xsd:element name="cache-interceptor" type="orm:cache-interceptor" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="fetch-group" type="orm:fetch-group" minOccurs="0" maxOccurs="unbounded"/>
+ <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="query-redirectors" type="orm:query-redirectors" 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="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="parent-class" type="xsd:string"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="cacheable" type="xsd:boolean"/>
+ <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: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:enumeration value="VIRTUAL"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="association-override">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface AssociationOverride {
+ String name();
+ JoinColumn[] joinColumns() default{};
+ JoinTable joinTable() default @JoinTable;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <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:sequence>
+ <xsd:attribute name="name" 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="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="column" type="orm:column"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </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:element name="description" type="xsd:string" minOccurs="0"/>
+ <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="element-collection" type="orm:element-collection"
+ 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: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:element name="index" type="orm:index" minOccurs="0"/>
+ <xsd:element name="generated-value" type="orm:generated-value" minOccurs="0"/>
+ <xsd:choice minOccurs="0">
+ <xsd:element name="lob" type="orm:lob"/>
+ <xsd:element name="temporal" type="orm:temporal"/>
+ <xsd:element name="enumerated" type="orm:enumerated"/>
+ <xsd:element name="convert" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:choice minOccurs="0">
+ <xsd:element name="converter" type="orm:converter"/>
+ <xsd:element name="type-converter" type="orm:type-converter"/>
+ <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
+ <xsd:element name="struct-converter" type="orm:struct-converter"/>
+ </xsd:choice>
+ <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"/>
+ <xsd:element name="return-insert" type="orm:return-insert" minOccurs="0"/>
+ <xsd:element name="return-update" type="orm:emptyType" minOccurs="0"/>
+ </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="access" type="orm:access-type"/>
+ <xsd:attribute name="mutable" type="xsd:boolean"/>
+ <xsd:attribute name="attribute-type" 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:choice minOccurs="0">
+ <xsd:element name="converter" type="orm:converter"/>
+ <xsd:element name="type-converter" type="orm:type-converter"/>
+ <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
+ <xsd:element name="struct-converter" type="orm:struct-converter"/>
+ </xsd:choice>
+ <xsd:element name="collection-table" type="orm:eclipselink-collection-table" minOccurs="0"/>
+ <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
+ <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
+ <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="access" type="orm:access-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() default @Column;
+
+ /**
+ * (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" minOccurs="0"/>
+ <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
+ <xsd:element name="value-converter" type="xsd:string" minOccurs="0"/>
+ <xsd:choice minOccurs="0" maxOccurs="2">
+ <xsd:element name="converter" type="orm:converter"/>
+ <xsd:element name="type-converter" type="orm:type-converter"/>
+ <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
+ <xsd:element name="struct-converter" type="orm:struct-converter"/>
+ </xsd:choice>
+ <xsd:element name="collection-table" type="orm:eclipselink-collection-table" minOccurs="0"/>
+ <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
+ <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
+ <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="cascade-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH, DETACH};
+
+ </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:element name="cascade-detach" type="orm:emptyType"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="class-extractor">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * A ClassExtractor allows for a user defined class indicator in place of
+ * providing a discriminator column. The class has the following restrictions:
+
+ * - It must extend the org.eclipse.persistence.descriptors.ClassExtractor
+ * class and implement the extractClassFromRow(Record, Session) method.
+ * - That method must take a database row (a Record/Map) as an argument and
+ * must return the class to use for that row.
+ *
+ * This method will be used to decide which class to instantiate when reading
+ * from the database. It is the application's responsibility to populate any
+ * typing information in the database required to determine the class from the
+ * row.
+ *
+ * The ClassExtractor must only be set on the root of an entity class or
+ * sub-hierarchy in which a different inheritance strategy is applied. The
+ * ClassExtractor can only be used with the SINGLE_TABLE and JOINED inheritance
+ * strategies.
+ *
+ * If a ClassExtractor is used then a DiscriminatorColumn cannot be used. A
+ * ClassExtractor also cannot be used on either the root or its subclasses.
+ *
+ * In addition, for more complex configurations using a ClassExtractor and a
+ * SINGLE_TABLE strategy, the descriptor's withAllSubclasses and onlyInstances
+ * expressions should be set through the ClassExtractor's initialize method.
+ *
+ * @see org.eclipse.persistence.descriptors.InheritancePolicy.setWithAllSubclassesExpression(Expression)
+ * @see org.eclipse.persistence.descriptors.InheritancePolicy.setOnlyInstancesExpression(Expression)
+ *
+ * @author Guy Pelletier
+ * @since EclipseLink 2.1
+ */
+ @Target({TYPE})
+ @Retention(RUNTIME)
+ public @interface ClassExtractor {
+ /**
+ * (Required) Defines the name of the class extractor that should be
+ * applied to this entity's descriptor.
+ */
+ Class value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ </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, MappedSuperclass
+ * or Embeddable.
+ *
+ * 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 {
+ String name() default "";
+ String catalog() default "";
+ String schema() default "";
+ JoinColumn[] joinColumns() 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="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="eclipselink-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="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="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="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="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="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, MappedSuperclass or
+ * Embeddable.
+ *
+ * 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="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="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="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: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:complexType name="element-collection">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface ElementCollection {
+ Class targetClass() default void.class;
+ FetchType fetch() default LAZY;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="order-by" type="orm:order-by"
+ minOccurs="0"/>
+ <xsd:element name="order-column" type="orm:order-column"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="map-key" type="orm:map-key"
+ minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="map-key-class" type="orm:map-key-class"
+ minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="map-key-temporal"
+ type="orm:temporal"
+ minOccurs="0"/>
+ <xsd:element name="map-key-enumerated"
+ type="orm:enumerated"
+ minOccurs="0"/>
+ <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="map-key-attribute-override"
+ type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="map-key-column"
+ type="orm:map-key-column"
+ minOccurs="0"/>
+ <xsd:element name="map-key-join-column"
+ type="orm:map-key-join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column" minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="temporal"
+ type="orm:temporal"
+ minOccurs="0"/>
+ <xsd:element name="enumerated"
+ type="orm:enumerated"
+ minOccurs="0"/>
+ <xsd:element name="lob"
+ type="orm:lob"
+ minOccurs="0"/>
+ <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:sequence>
+ <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:sequence>
+ </xsd:choice>
+ <xsd:choice minOccurs="0" maxOccurs="2">
+ <xsd:element name="converter" type="orm:converter"/>
+ <xsd:element name="type-converter" type="orm:type-converter"/>
+ <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
+ <xsd:element name="struct-converter" type="orm:struct-converter"/>
+ </xsd:choice>
+ <xsd:element name="collection-table" type="orm:collection-table"
+ minOccurs="0"/>
+ <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
+ <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
+ <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="target-class" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="attribute-type" type="xsd:string"/>
+</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="access-methods" type="orm:access-methods" 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="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="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="class" type="xsd:string" use="required"/>
+ <xsd:attribute name="parent-class" type="xsd:string"/>
+ <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="association-override"
+ type="orm:association-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"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="attribute-type" type="xsd:string"/>
+ </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"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="attribute-type" type="xsd:string"/>
+ </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="description" type="xsd:string" 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:sequence>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <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-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: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: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:complexType name="fetch-attribute">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE})
+ @Retention(RUNTIME)
+ public @interface FetchAttribute {
+ /**
+ * (Required) The fetch attribute name.
+ */
+ String name();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="fetch-group">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE})
+ @Retention(RUNTIME)
+ public @interface FetchGroup {
+ /**
+ * (Required) The fetch group name.
+ */
+ String name();
+
+ /**
+ * (Optional) Indicates whether all relationship attributes
+ * specified in the fetch group should be loaded.
+ */
+ boolean load() default true;
+
+ /**
+ * (Required) The list of attributes to fetch.
+ */
+ FetchAttribute[] attributes();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="attribute" type="orm:fetch-attribute" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="load" 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="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="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: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="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="index" type="orm:index" minOccurs="0"/>
+ <xsd:element name="generated-value" type="orm:generated-value"
+ minOccurs="0"/>
+ <xsd:choice minOccurs="0">
+ <xsd:element name="temporal" type="orm:temporal"/>
+ <xsd:element name="enumerated" type="orm:enumerated"/>
+ <xsd:element name="convert" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:choice minOccurs="0">
+ <xsd:element name="converter" type="orm:converter"/>
+ <xsd:element name="type-converter" type="orm:type-converter"/>
+ <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
+ <xsd:element name="struct-converter" type="orm:struct-converter"/>
+ </xsd:choice>
+ <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"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="mutable" type="xsd:boolean"/>
+ <xsd:attribute name="attribute-type" type="xsd:string"/>
+ </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:simpleType name="id-validation">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * The IdValidation enum determines the type value that are valid for an Id.
+ * By default null is not allowed, and 0 is not allow for singleton ids of long or int type.
+ * The default value is ZERO for singleton ids, and NULL for composite ids.
+ * This can be set using the @PrimaryKey annotation, or ClassDescriptor API.
+ *
+ * @see PrimaryKey
+ * @see org.eclipse.persistence.descriptors.ClassDescriptor#setIdValidation(IdValidation)
+ * @author James Sutherland
+ * @since EclipseLink 1.0
+ */
+ public enum IdValidation {
+ /**
+ * Only null is not allowed as an id value, 0 is allowed.
+ */
+ NULL,
+
+ /**
+ * null and 0 are not allowed, (only int and long).
+ */
+ ZERO,
+
+ /**
+ * No id validation is done.
+ */
+ NONE
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="NULL"/>
+ <xsd:enumeration value="ZERO"/>
+ <xsd:enumeration value="NONE"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="cache-key-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * Configures what type of Id value is used to store the object in the cache.
+ * This can either be the basic Id value for simple singleton Ids,
+ * or an optimized CacheKey type.
+ *
+ * @see PrimaryKey#cacheKeyType()
+ * @see ClassDescriptor#setCacheKeyType(CacheKeyType)
+ * @author James Sutherland
+ * @since EclipseLink 2.1
+ */
+ public enum CacheKeyType {
+ /**
+ * This can only be used for simple singleton Ids, such as long/int/String.
+ * This is the default for simple singleton Ids.
+ */
+ ID_VALUE,
+
+ /**
+ * Optimized cache key type that allows composite and complex values.
+ * This is the default for composite or complex Ids.
+ */
+ CACHE_KEY,
+
+ /**
+ * The cache key type is automatically configured depending on what is optimal for the class.
+ */
+ AUTO
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ID_VALUE"/>
+ <xsd:enumeration value="CACHE_KEY"/>
+ <xsd:enumeration value="AUTO"/>
+ </xsd:restriction>
+ </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: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,
+ * MappedSuperclass or Embeddable.
+ *
+ * Example:
+ * @Entity
+ * @InstantiationCopyPolicy
+ */
+ public @interface InstantiationCopyPolicy {
+ }
+ </xsd:documentation>
+ </xsd:annotation>
+ </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="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:simpleType name="batch-fetch-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ public enum BatchFetchType {
+ /**
+ * This is the default form of batch reading.
+ * The original query's selection criteria is joined with the batch query.
+ */
+ JOIN,
+
+ /**
+ * This uses an SQL EXISTS and a sub-select in the batch query instead of a join.
+ * This has the advantage of not requiring an SQL DISTINCT which can have issues
+ * with LOBs, or may be more efficient for some types of queries or on some databases.
+ */
+ EXISTS,
+
+ /**
+ * This uses an SQL IN clause in the batch query passing in the source object Ids.
+ * This has the advantage of only selecting the objects not already contained in the cache,
+ * and can work better with cursors, or if joins cannot be used.
+ * This may only work for singleton Ids on some databases.
+ */
+ IN
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="JOIN"/>
+ <xsd:enumeration value="EXISTS"/>
+ <xsd:enumeration value="IN"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="join-table">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ 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="lob">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Lob {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="lock-mode-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum LockModeType { READ, WRITE, OPTIMISTIC, OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE, PESSIMISTIC_FORCE_INCREMENT, NONE};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="READ"/>
+ <xsd:enumeration value="WRITE"/>
+ <xsd:enumeration value="OPTIMISTIC"/>
+ <xsd:enumeration value="OPTIMISTIC_FORCE_INCREMENT"/>
+ <xsd:enumeration value="PESSIMISTIC_READ"/>
+ <xsd:enumeration value="PESSIMISTIC_WRITE"/>
+ <xsd:enumeration value="PESSIMISTIC_FORCE_INCREMENT"/>
+ <xsd:enumeration value="NONE"/>
+
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+<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:choice>
+ <xsd:element name="order-by" type="orm:order-by"
+ minOccurs="0"/>
+ <xsd:element name="order-column" type="orm:order-column"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="map-key" type="orm:map-key"
+ minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="map-key-class" type="orm:map-key-class"
+ minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="map-key-temporal"
+ type="orm:temporal"
+ minOccurs="0"/>
+ <xsd:element name="map-key-enumerated"
+ type="orm:enumerated"
+ minOccurs="0"/>
+ <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="map-key-attribute-override"
+ type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="map-key-column" type="orm:map-key-column"
+ minOccurs="0"/>
+ <xsd:element name="map-key-join-column"
+ type="orm:map-key-join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:choice>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="converter" type="orm:converter"/>
+ <xsd:element name="type-converter" type="orm:type-converter"/>
+ <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
+ <xsd:element name="struct-converter" type="orm:struct-converter"/>
+ </xsd:choice>
+ <xsd:element name="join-table" type="orm:join-table"
+ minOccurs="0"/>
+ <xsd:element name="cascade" type="orm:cascade-type"
+ minOccurs="0"/>
+ <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
+ <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
+ <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
+ </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="access" type="orm:access-type"/>
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ <xsd:attribute name="attribute-type" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <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="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
+ </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="access" type="orm:access-type"/>
+ <xsd:attribute name="maps-id" type="xsd:string"/>
+ <xsd:attribute name="id" type="xsd:boolean"/>
+ </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:complexType name="map-key-class">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface MapKeyClass {
+ Class value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="map-key-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface MapKeyColumn {
+ String name() default "";
+ boolean unique() default false;
+ boolean nullable() default false;
+ 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="map-key-join-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface MapKeyJoinColumn {
+ String name() default "";
+ String referencedColumnName() default "";
+ boolean unique() default false;
+ boolean nullable() default false;
+ 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: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="access-methods" type="orm:access-methods" minOccurs="0"/>
+ <xsd:element name="additional-criteria" type="orm:additional-criteria" 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="primary-key" type="orm:primary-key" 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="cache-interceptor" type="orm:cache-interceptor" minOccurs="0"/>
+ <xsd:element name="fetch-group" type="orm:fetch-group" minOccurs="0" maxOccurs="unbounded"/>
+ <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="query-redirectors" type="orm:query-redirectors" 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="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="class" type="xsd:string" use="required"/>
+ <xsd:attribute name="parent-class" type="xsd:string"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="cacheable" type="xsd:boolean"/>
+ <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="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="description" type="xsd:string" minOccurs="0"/>
+ <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="named-query">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface NamedQuery {
+ String name();
+ String query();
+ LockModeType lockMode() default NONE;
+ QueryHint[] hints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="query" type="xsd:string"/>
+ <xsd:element name="lock-mode" type="orm:lock-mode-type" minOccurs="0"/>
+ <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-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="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="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:choice>
+ <xsd:element name="order-by" type="orm:order-by"
+ minOccurs="0"/>
+ <xsd:element name="order-column" type="orm:order-column"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="map-key" type="orm:map-key"
+ minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="map-key-class" type="orm:map-key-class"
+ minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="map-key-temporal"
+ type="orm:temporal"
+ minOccurs="0"/>
+ <xsd:element name="map-key-enumerated"
+ type="orm:enumerated"
+ minOccurs="0"/>
+ <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="map-key-attribute-override"
+ type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="map-key-column" type="orm:map-key-column"
+ minOccurs="0"/>
+ <xsd:element name="map-key-join-column"
+ type="orm:map-key-join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:choice>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="converter" type="orm:converter"/>
+ <xsd:element name="type-converter" type="orm:type-converter"/>
+ <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
+ <xsd:element name="struct-converter" type="orm:struct-converter"/>
+ </xsd:choice>
+ <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="cascade-on-delete" type="xsd:boolean" 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="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
+ </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="access" type="orm:access-type"/>
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
+ <xsd:attribute name="attribute-type" type="xsd:string"/>
+ </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 "";
+ boolean orphanRemoval() default false;
+ }
+
+ </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="cascade-on-delete" type="xsd:boolean" 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="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
+ </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="access" type="orm:access-type"/>
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
+ <xsd:attribute name="maps-id" type="xsd:string"/>
+ <xsd:attribute name="id" type="xsd:boolean"/>
+</xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <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: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="order-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface OrderColumn {
+ String name() default "";
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <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="correction-type" type="orm:order-column-correction-type"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="order-column-correction-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum OrderCorrectionType {
+ READ,
+ READ_WRITE,
+ EXCEPTION
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="READ"/>
+ <xsd:enumeration value="READ_WRITE"/>
+ <xsd:enumeration value="EXCEPTION"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="post-load">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PostLoad {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <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:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <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:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <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:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="method-name" 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:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <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:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <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:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="primary-key">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * The PrimaryKey annotation allows advanced configuration of the Id.
+ * A validation policy can be given that allows specifying if zero is a valid id value.
+ * The set of primary key columns can also be specified precisely.
+ *
+ * @author James Sutherland
+ * @since EclipseLink 1.1
+ */
+ @Target({TYPE})
+ @Retention(RUNTIME)
+ public @interface PrimaryKey {
+ /**
+ * (Optional) Configures what id validation is done.
+ * By default 0 is not a valid id value, this can be used to allow 0 id values.
+ */
+ IdValidation validation() default IdValidation.ZERO;
+
+ /**
+ * (Optional) Configures what cache key type is used to store the object in the cache.
+ * By default the type is determined by what type is optimal for the class.
+ */
+ CacheKeyType cacheKeyType() default CacheKeyType.AUTO;
+
+ /**
+ * (Optional) Used to specify the primary key columns directly.
+ * This can be used instead of @Id if the primary key includes a non basic field,
+ * such as a foreign key, or a inheritance discriminator, embedded, or transformation mapped field.
+ */
+ Column[] columns() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="validation" type="orm:id-validation"/>
+ <xsd:attribute name="cache-key-type" type="orm:cache-key-type"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <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="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:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="query-redirectors">
+ <xsd:annotation>
+ <xsd:documentation>
+
+@Target({TYPE}) @Retention(RUNTIME)
+public @interface QueryRedirectors {
+
+ /**
+ * This AllQueries Query Redirector will be applied to any executing object query
+ * that does not have a more precise redirector (like the
+ * ReadObjectQuery Redirector) or a redirector set directly on the query.
+ * Query redirectors allow the user to intercept query execution preventing
+ * it or alternately performing some side effect like auditing.
+ *
+ */
+ Class allQueries() default void.class;
+
+ /**
+ * A Default ReadAll Query Redirector will be applied to any executing
+ * ReadAllQuery that does not have a redirector set directly on the query.
+ * Query redirectors allow the user to intercept query execution preventing
+ * it or alternately performing some side effect like auditing.
+ * For users executing a JPA Query through the getResultList() API this is the redirector that will be invoked
+ */
+ Class readAll() default void.class;
+
+ /**
+ * A Default ReadObject Query Redirector will be applied to any executing
+ * ReadObjectQuery that does not have a redirector set directly on the query.
+ * Query redirectors allow the user to intercept query execution preventing
+ * it or alternately performing some side effect like auditing.
+ * For users executing a JPA Query through the getSingleResult() API or EntityManager.find() this is the redirector that will be invoked
+ */
+ Class readObject() default void.class;
+
+ /**
+ * A Default ReportQuery Redirector will be applied to any executing
+ * ReportQuery that does not have a redirector set directly on the query.
+ * Query redirectors allow the user to intercept query execution preventing
+ * it or alternately performing some side effect like auditing.
+ * For users executing a JPA Query that contains agregate functions or selects multiple entities this is the redirector that will be invoked
+ */
+ Class report() default void.class;
+
+ /**
+ * A Default Update Query Redirector will be applied to any executing
+ * UpdateObjectQuery or UpdateAllQuery that does not have a redirector set directly on the query.
+ * In EclipseLink an UpdateObjectQuery is executed whenever flushing changes to the datasource.
+ * Query redirectors allow the user to intercept query execution preventing
+ * it or alternately performing some side effect like auditing.
+ */
+ Class update() default void.class;
+
+ /**
+ * A Default Insert Query Redirector will be applied to any executing
+ * InsertObjectQuery that does not have a redirector set directly on the query.
+ * In EclipseLink an InsertObjectQuery is executed when persisting an object to the datasource.
+ * Query redirectors allow the user to intercept query execution preventing
+ * it or alternately performing some side effect like auditing.
+ */
+ Class insert() default void.class;
+
+ /**
+ * A Default Delete Object Query Redirector will be applied to any executing
+ * DeleteObjectQuery or DeleteAllQuery that does not have a redirector set directly on the query.
+ * Query redirectors allow the user to intercept query execution preventing
+ * it or alternately performing some side effect like auditing.
+ */
+ Class delete() default void.class;
+
+}
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="all-queries" type="xsd:string"/>
+ <xsd:attribute name="read-all" type="xsd:string"/>
+ <xsd:attribute name="read-object" type="xsd:string"/>
+ <xsd:attribute name="report" type="xsd:string"/>
+ <xsd:attribute name="update" type="xsd:string"/>
+ <xsd:attribute name="insert" type="xsd:string"/>
+ <xsd:attribute name="delete" type="xsd:string"/>
+ </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="return-insert">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD})
+ @Retention(RUNTIME)
+ public @interface ReturnInsert {
+ /**
+ * A ReturnInsert annotation allows for INSERT operations to return
+ * values back into the object being written. This allows for table
+ * default values, trigger or stored procedures computed values to
+ * be set back into the object.
+ */
+ boolean returnOnly() default false;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="return-only" type="xsd:boolean"/>
+ </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="sequence-generator">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface SequenceGenerator {
+ String name();
+ String sequenceName() default "";
+ String catalog() default "";
+ String schema() default "";
+ int initialValue() default 1;
+ int allocationSize() default 50;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="sequence-name" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ <xsd:attribute name="initial-value" type="xsd:int"/>
+ <xsd:attribute name="allocation-size" type="xsd:int"/>
+ </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="description" type="xsd:string" minOccurs="0"/>
+ <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="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: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="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="index">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ /**
+ * Allow a database INDEX to be define when generating DDL.
+ * The @Index can be defined on a Entity class, or on an attribute.
+ * The column is defaulted when defined on a attribute.
+ *
+ * @author James Sutherland
+ * @since EclipseLink 2.2
+ */
+ @Target({METHOD, FIELD, TYPE})
+ @Retention(RUNTIME)
+ public @interface Index {
+ /** The name of the INDEX, defaults to INDEX_(table-name) */
+ String name() default "";
+
+ /** The schema of the INDEX */
+ String schema() default "";
+
+ /** The catalog of the INDEX */
+ String catalog() default "";
+
+ /** The table to define the index on, defaults to entities primary table. */
+ String table() default "";
+
+ boolean unique() default false;
+
+ /**
+ * Specify the set of columns to define the index on.
+ * Not required when annotated on a field/method.
+ */
+ String[] columnNames() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column-name" type="xsd:string"
+ 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:attribute name="table" type="xsd:string"/>
+ <xsd:attribute name="unique" type="xsd:boolean"/>
+ </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="description" type="xsd:string" minOccurs="0"/>
+ <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: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: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="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"/>
+ </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="access" type="orm:access-type"/>
+ <xsd:attribute name="mutable" type="xsd:boolean"/>
+ <xsd:attribute name="attribute-type" type="xsd:string"/>
+ </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="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="unique-constraint">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface UniqueConstraint {
+ String name() default "";
+ String[] columnNames();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column-name" type="xsd:string"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <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"/>
+ </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:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
+ </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="index" type="orm:index" minOccurs="0"/>
+ <xsd:choice minOccurs="0">
+ <xsd:element name="temporal" type="orm:temporal"/>
+ <xsd:element name="convert" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:choice minOccurs="0">
+ <xsd:element name="converter" type="orm:converter"/>
+ <xsd:element name="type-converter" type="orm:type-converter"/>
+ <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
+ <xsd:element name="struct-converter" type="orm:struct-converter"/>
+ </xsd:choice>
+ <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="mutable" type="xsd:boolean"/>
+ <xsd:attribute name="attribute-type" 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="batch-fetch">
+ <xsd:annotation>
+ <xsd:documentation>
+ /**
+ * A BatchFetch annotation can be used on any relationship mapping,
+ * (OneToOne, ManyToOne, OneToMany, ManyToMany, ElementCollection, BasicCollection, BasicMap).
+ * It allows the related objects to be batch read in a single query.
+ * Batch fetching can also be set at the query level, and it is
+ * normally recommended to do so as all queries may not require batching.
+ *
+ * @author James Sutherland
+ * @since EclipseLink 2.1
+ */
+ @Target({METHOD, FIELD})
+ @Retention(RUNTIME)
+ public @interface BatchFetch {
+ /**
+ * (Optional) The type of batch-fetch to use.
+ * Either JOIN, EXISTS or IN.
+ * JOIN is the default.
+ */
+ BatchFetchType value() default BatchFetchType.JOIN;
+
+ /**
+ * Define the default batch fetch size.
+ * This is only used for IN type batch reading and defines
+ * the number of keys used in each IN clause.
+ * The default size is 256, or the query's pageSize for cursor queries.
+ */
+ int size() default -1;
+ }
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="type" type="orm:batch-fetch-type"/>
+ <xsd:attribute name="size" type="xsd:integer"/>
+ </xsd:complexType>
+
+</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 318394ab0d..f5143d7d2e 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
@@ -22,6 +22,7 @@ import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.EclipseLink1_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v1_2.EclipseLink1_2;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLink2_0;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLink2_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
import org.osgi.framework.BundleContext;
/**
@@ -58,6 +59,11 @@ public class JptEclipseLinkCorePlugin extends Plugin
public static final String ECLIPSELINK_PLATFORM_VERSION_2_1 = "2.1"; //$NON-NLS-1$
/**
+ * Version string for EclipseLink platform version 2.2
+ */
+ public static final String ECLIPSELINK_PLATFORM_VERSION_2_2 = "2.2"; //$NON-NLS-1$
+
+ /**
* 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.
@@ -97,6 +103,12 @@ public class JptEclipseLinkCorePlugin extends Plugin
public static final JpaResourceType ECLIPSELINK_ORM_XML_2_1_RESOURCE_TYPE
= new JpaResourceType(ECLIPSELINK_ORM_XML_CONTENT_TYPE, EclipseLink2_1.SCHEMA_VERSION);
+ /**
+ * The resource type for eclipselink-orm.xml version 2.2 mapping files
+ */
+ public static final JpaResourceType ECLIPSELINK_ORM_XML_2_2_RESOURCE_TYPE
+ = new JpaResourceType(ECLIPSELINK_ORM_XML_CONTENT_TYPE, EclipseLink2_2.SCHEMA_VERSION);
+
public static final IPath DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH = new Path("META-INF/eclipselink-orm.xml"); //$NON-NLS-1$
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/operations/EclipseLinkOrmFileCreationDataModelProvider.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/operations/EclipseLinkOrmFileCreationDataModelProvider.java
index f1510f482e..1dc027c458 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/operations/EclipseLinkOrmFileCreationDataModelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/operations/EclipseLinkOrmFileCreationDataModelProvider.java
@@ -20,6 +20,7 @@ import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.EclipseLink1_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v1_2.EclipseLink1_2;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLink2_0;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLink2_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
public class EclipseLinkOrmFileCreationDataModelProvider
@@ -64,7 +65,8 @@ public class EclipseLinkOrmFileCreationDataModelProvider
|| fileVersion.equals(EclipseLink1_1.SCHEMA_VERSION)
|| fileVersion.equals(EclipseLink1_2.SCHEMA_VERSION)
|| fileVersion.equals(EclipseLink2_0.SCHEMA_VERSION)
- || fileVersion.equals(EclipseLink2_1.SCHEMA_VERSION);
+ || fileVersion.equals(EclipseLink2_1.SCHEMA_VERSION)
+ || fileVersion.equals(EclipseLink2_2.SCHEMA_VERSION);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_1/context/orm/EclipseLinkOrmXml2_1Definition.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_1/context/orm/EclipseLinkOrmXml2_1Definition.java
index a88e8ec55a..8a9b0f1763 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_1/context/orm/EclipseLinkOrmXml2_1Definition.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_1/context/orm/EclipseLinkOrmXml2_1Definition.java
@@ -35,7 +35,7 @@ public class EclipseLinkOrmXml2_1Definition
/**
* Enforce singleton usage
*/
- private EclipseLinkOrmXml2_1Definition() {
+ protected EclipseLinkOrmXml2_1Definition() {
super();
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_2/EclipseLink2_2JpaPlatformFactory.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_2/EclipseLink2_2JpaPlatformFactory.java
new file mode 100644
index 0000000000..b5050abf8b
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_2/EclipseLink2_2JpaPlatformFactory.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.v2_2;
+
+import org.eclipse.jpt.core.JpaAnnotationProvider;
+import org.eclipse.jpt.core.JpaFacet;
+import org.eclipse.jpt.core.JpaPlatform;
+import org.eclipse.jpt.core.internal.GenericJpaAnnotationProvider;
+import org.eclipse.jpt.core.internal.GenericJpaPlatform;
+import org.eclipse.jpt.core.internal.jpa2.Generic2_0JpaAnnotationDefinitionProvider;
+import org.eclipse.jpt.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkVersion;
+import org.eclipse.jpt.eclipselink.core.internal.JptEclipseLinkCorePlugin;
+import org.eclipse.jpt.eclipselink.core.internal.v2_0.EclipseLink2_0JpaFactory;
+import org.eclipse.jpt.eclipselink.core.internal.v2_0.EclipseLink2_0JpaPlatformFactory;
+import org.eclipse.jpt.eclipselink.core.internal.v2_1.EclipseLink2_1JpaAnnotationDefinitionProvider;
+
+public class EclipseLink2_2JpaPlatformFactory
+ extends EclipseLink2_0JpaPlatformFactory
+{
+ /**
+ * zero-argument constructor
+ */
+ public EclipseLink2_2JpaPlatformFactory() {
+ super();
+ }
+
+
+ @Override
+ public JpaPlatform buildJpaPlatform(String id) {
+ return new GenericJpaPlatform(
+ id,
+ buildJpaVersion(),
+ new EclipseLink2_0JpaFactory(),
+ this.buildJpaAnnotationProvider(),
+ EclipseLink2_2JpaPlatformProvider.instance(),
+ this.buildJpaVariation());
+ }
+
+ @Override
+ protected JpaPlatform.Version buildJpaVersion() {
+ return new EclipseLinkVersion(
+ JptEclipseLinkCorePlugin.ECLIPSELINK_PLATFORM_VERSION_2_2,
+ JpaFacet.VERSION_2_0.getVersionString());
+ }
+
+ @Override
+ protected JpaAnnotationProvider buildJpaAnnotationProvider() {
+ return new GenericJpaAnnotationProvider(
+ Generic2_0JpaAnnotationDefinitionProvider.instance(),
+ EclipseLink2_1JpaAnnotationDefinitionProvider.instance());
+ }
+
+// @Override
+// protected JpaPlatformVariation buildJpaVariation() {
+// return new JpaPlatformVariation() {
+// public Supported getTablePerConcreteClassInheritanceIsSupported() {
+// return Supported.YES;
+// }
+//
+// public boolean isJoinTableOverridable() {
+// return true;
+// }
+// };
+// }
+} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_2/EclipseLink2_2JpaPlatformProvider.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_2/EclipseLink2_2JpaPlatformProvider.java
new file mode 100644
index 0000000000..4ca315910b
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_2/EclipseLink2_2JpaPlatformProvider.java
@@ -0,0 +1,155 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.v2_2;
+
+import org.eclipse.core.runtime.content.IContentType;
+import org.eclipse.jpt.core.JpaPlatformProvider;
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.ResourceDefinition;
+import org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmXmlDefinition;
+import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmXml2_0Definition;
+import org.eclipse.jpt.eclipselink.core.internal.JptEclipseLinkCorePlugin;
+import org.eclipse.jpt.eclipselink.core.internal.context.orm.EclipseLinkOrmXmlDefinition;
+import org.eclipse.jpt.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceXmlDefinition;
+import org.eclipse.jpt.eclipselink.core.internal.v1_1.context.orm.EclipseLinkOrmXml1_1Definition;
+import org.eclipse.jpt.eclipselink.core.internal.v1_2.context.orm.EclipseLinkOrmXml1_2Definition;
+import org.eclipse.jpt.eclipselink.core.internal.v2_0.EclipseLink2_0JpaPlatformProvider;
+import org.eclipse.jpt.eclipselink.core.internal.v2_0.context.orm.EclipseLinkOrmXml2_0Definition;
+import org.eclipse.jpt.eclipselink.core.internal.v2_0.context.persistence.EclipseLink2_0PersistenceXmlDefinition;
+import org.eclipse.jpt.eclipselink.core.internal.v2_1.context.orm.EclipseLinkOrmXml2_1Definition;
+import org.eclipse.jpt.eclipselink.core.internal.v2_2.context.orm.EclipseLinkOrmXml2_2Definition;
+
+public class EclipseLink2_2JpaPlatformProvider
+ extends EclipseLink2_0JpaPlatformProvider {
+
+ // singleton
+ private static final JpaPlatformProvider INSTANCE =
+ new EclipseLink2_2JpaPlatformProvider();
+
+
+ /**
+ * Return the singleton
+ */
+ public static JpaPlatformProvider instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private EclipseLink2_2JpaPlatformProvider() {
+ super();
+ }
+
+
+ // ********** resource models **********
+
+ @Override
+ public JpaResourceType getMostRecentSupportedResourceType(IContentType contentType) {
+// if (contentType.equals(JptCorePlugin.JAVA_SOURCE_CONTENT_TYPE)) {
+// return JptCorePlugin.JAVA_SOURCE_RESOURCE_TYPE;
+// }
+// else if (contentType.equals(JptCorePlugin.JAR_CONTENT_TYPE)) {
+// return JptCorePlugin.JAR_RESOURCE_TYPE;
+// }
+// else if (contentType.equals(JptCorePlugin.PERSISTENCE_XML_CONTENT_TYPE)) {
+// return JptCorePlugin.PERSISTENCE_XML_2_0_RESOURCE_TYPE;
+// }
+// else if (contentType.equals(JptCorePlugin.ORM_XML_CONTENT_TYPE)) {
+// return JptCorePlugin.ORM_XML_2_0_RESOURCE_TYPE;
+// }
+ if (contentType.equals(JptEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE)) {
+ return JptEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_2_RESOURCE_TYPE;
+ }
+ return super.getMostRecentSupportedResourceType(contentType);
+ }
+
+// @Override
+// protected JpaResourceModelProvider[] buildResourceModelProviders() {
+// // order should not be important here
+// return new JpaResourceModelProvider[] {
+// JavaResourceModelProvider.instance(),
+// JarResourceModelProvider.instance(),
+// PersistenceResourceModelProvider.instance(),
+// OrmResourceModelProvider.instance(),
+// EclipseLinkOrmResourceModelProvider.instance()};
+// }
+
+
+ // ********* java type mappings *********
+
+// @Override
+// protected JavaTypeMappingDefinition[] buildNonNullJavaTypeMappingDefinitions() {
+// // order determined by analyzing order that eclipselink uses
+// // NOTE: no type mappings specific to eclipselink
+// return new JavaTypeMappingDefinition[] {
+// JavaEntityDefinition.instance(),
+// JavaEmbeddableDefinition.instance(),
+// JavaMappedSuperclassDefinition.instance()};
+// }
+
+
+ // ********* java attribute mappings *********
+
+// @Override
+// protected JavaAttributeMappingDefinition[] buildNonNullDefaultJavaAttributeMappingDefinitions() {
+// // order determined by analyzing order that eclipselink uses
+// // NOTE: no new attribute mappings from eclipselink 1.0 to 1.1
+// return new JavaAttributeMappingDefinition[] {
+// JavaEmbeddedMappingDefinition.instance(),
+// JavaEclipseLinkOneToManyMappingDefinition.instance(),
+// JavaEclipseLinkOneToOneMappingDefinition.instance(),
+// JavaEclipseLinkVariableOneToOneMappingDefinition.instance(),
+// JavaBasicMappingDefinition.instance()};
+// }
+
+// @Override
+// protected JavaAttributeMappingDefinition[] buildNonNullSpecifiedJavaAttributeMappingDefinitions() {
+// // order determined by analyzing order that eclipselink uses
+// // NOTE: no new attribute mappings from eclipselink 1.0 to 2.0
+// return new JavaAttributeMappingDefinition[] {
+// JavaTransientMappingDefinition.instance(),
+// JavaEclipseLinkBasicCollectionMappingDefinition.instance(),
+// JavaEclipseLinkBasicMapMappingDefinition.instance(),
+// JavaElementCollectionMappingDefinition2_0.instance(),
+// JavaEclipseLinkIdMappingDefinition2_0.instance(),
+// JavaVersionMappingDefinition.instance(),
+// JavaBasicMappingDefinition.instance(),
+// JavaEmbeddedMappingDefinition.instance(),
+// JavaEmbeddedIdMappingDefinition.instance(),
+// JavaEclipseLinkTransformationMappingDefinition.instance(),
+// JavaManyToManyMappingDefinition.instance(),
+// JavaManyToOneMappingDefinition.instance(),
+// JavaEclipseLinkOneToManyMappingDefinition.instance(),
+// JavaEclipseLinkOneToOneMappingDefinition.instance(),
+// JavaEclipseLinkVariableOneToOneMappingDefinition.instance()};
+// }
+
+
+ // ********* mapping files *********
+
+ @Override
+ protected ResourceDefinition[] buildResourceDefinitions() {
+ // order should not be important here
+ return new ResourceDefinition[] {
+ EclipseLinkPersistenceXmlDefinition.instance(),
+ EclipseLink2_0PersistenceXmlDefinition.instance(),
+ GenericOrmXmlDefinition.instance(),
+ GenericOrmXml2_0Definition.instance(),
+ EclipseLinkOrmXmlDefinition.instance(),
+ EclipseLinkOrmXml1_1Definition.instance(),
+ EclipseLinkOrmXml1_2Definition.instance(),
+ EclipseLinkOrmXml2_0Definition.instance(),
+ EclipseLinkOrmXml2_1Definition.instance(),
+ EclipseLinkOrmXml2_2Definition.instance()};
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_2/context/orm/EclipseLinkOrmXml2_2Definition.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_2/context/orm/EclipseLinkOrmXml2_2Definition.java
new file mode 100644
index 0000000000..7679b3170d
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_2/context/orm/EclipseLinkOrmXml2_2Definition.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.v2_2.context.orm;
+
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.context.orm.OrmXmlContextNodeFactory;
+import org.eclipse.jpt.core.context.orm.OrmXmlDefinition;
+import org.eclipse.jpt.eclipselink.core.internal.JptEclipseLinkCorePlugin;
+import org.eclipse.jpt.eclipselink.core.internal.v2_1.context.orm.EclipseLinkOrmXml2_1ContextNodeFactory;
+import org.eclipse.jpt.eclipselink.core.internal.v2_1.context.orm.EclipseLinkOrmXml2_1Definition;
+
+public class EclipseLinkOrmXml2_2Definition
+ extends EclipseLinkOrmXml2_1Definition
+{
+ // singleton
+ private static final OrmXmlDefinition INSTANCE =
+ new EclipseLinkOrmXml2_2Definition();
+
+
+ /**
+ * Return the singleton.
+ */
+ public static OrmXmlDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private EclipseLinkOrmXml2_2Definition() {
+ super();
+ }
+
+
+// @Override
+// public EFactory getResourceNodeFactory() {
+// return EclipseLinkOrmFactory.eINSTANCE;
+// }
+
+ @Override
+ protected OrmXmlContextNodeFactory buildContextNodeFactory() {
+ return new EclipseLinkOrmXml2_1ContextNodeFactory();
+ }
+
+ @Override
+ public JpaResourceType getResourceType() {
+ return JptEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_2_RESOURCE_TYPE;
+ }
+
+
+ // ********* ORM type mappings *********
+
+// @Override
+// protected OrmTypeMappingDefinition[] buildOrmTypeMappingDefinitions() {
+// // order should not matter here, but we'll use the same order as for java
+// // @see {@link EclipseLink1_1JpaPlatformProvider}
+// // NOTE: no new type mapping providers from eclipselink 1.0 to 1.1
+// return new OrmTypeMappingDefinition[] {
+// OrmEntityDefinition.instance(),
+// OrmEmbeddableDefinition.instance(),
+// OrmMappedSuperclassDefinition.instance()};
+// }
+
+
+ // ********** ORM attribute mappings **********
+
+// @Override
+// protected OrmAttributeMappingDefinition[] buildOrmAttributeMappingDefinitions() {
+// // order should not matter here, but we'll use the same order as for java
+// // @see {@link EclipseLink1_1JpaPlatformProvider}
+// return new OrmAttributeMappingDefinition[] {
+// OrmTransientMappingDefinition.instance(),
+// OrmEclipseLinkBasicCollectionMappingDefinition.instance(),
+// OrmEclipseLinkBasicMapMappingDefinition.instance(),
+// OrmElementCollectionMapping2_0Definition.instance(),
+// OrmIdMappingDefinition.instance(),
+// OrmVersionMappingDefinition.instance(),
+// OrmBasicMappingDefinition.instance(),
+// OrmEmbeddedMappingDefinition.instance(),
+// OrmEmbeddedIdMappingDefinition.instance(),
+// OrmEclipseLinkTransformationMappingDefinition.instance(),
+// OrmManyToManyMappingDefinition.instance(),
+// OrmManyToOneMappingDefinition.instance(),
+// OrmOneToManyMappingDefinition.instance(),
+// OrmOneToOneMappingDefinition.instance(),
+// OrmEclipseLinkVariableOneToOneMappingDefinition.instance(),
+// NullOrmAttributeMappingDefinition.instance()};
+// }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmFactory.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmFactory.java
index 713f205fad..012ebaf0f7 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmFactory.java
@@ -82,6 +82,7 @@ public class EclipseLinkOrmFactory extends EFactoryImpl
switch (eClass.getClassifierID())
{
case EclipseLinkOrmPackage.XML_ACCESS_METHODS: return (EObject)createXmlAccessMethods();
+ case EclipseLinkOrmPackage.XML_ADDITIONAL_CRITERIA: return (EObject)createXmlAdditionalCriteria();
case EclipseLinkOrmPackage.ATTRIBUTES: return (EObject)createAttributes();
case EclipseLinkOrmPackage.XML_BASIC: return (EObject)createXmlBasic();
case EclipseLinkOrmPackage.XML_BASIC_COLLECTION: return (EObject)createXmlBasicCollection();
@@ -103,6 +104,7 @@ public class EclipseLinkOrmFactory extends EFactoryImpl
case EclipseLinkOrmPackage.XML_FETCH_ATTRIBUTE: return (EObject)createXmlFetchAttribute();
case EclipseLinkOrmPackage.XML_FETCH_GROUP: return (EObject)createXmlFetchGroup();
case EclipseLinkOrmPackage.XML_ID: return (EObject)createXmlId();
+ case EclipseLinkOrmPackage.XML_INDEX: return (EObject)createXmlIndex();
case EclipseLinkOrmPackage.XML_INSTANTIATION_COPY_POLICY: return (EObject)createXmlInstantiationCopyPolicy();
case EclipseLinkOrmPackage.XML_MANY_TO_MANY: return (EObject)createXmlManyToMany();
case EclipseLinkOrmPackage.XML_MANY_TO_ONE: return (EObject)createXmlManyToOne();
@@ -207,6 +209,17 @@ public class EclipseLinkOrmFactory extends EFactoryImpl
* <!-- end-user-doc -->
* @generated
*/
+ public XmlAdditionalCriteria createXmlAdditionalCriteria()
+ {
+ XmlAdditionalCriteria xmlAdditionalCriteria = new XmlAdditionalCriteria();
+ return xmlAdditionalCriteria;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public Attributes createAttributes()
{
Attributes attributes = new Attributes();
@@ -438,6 +451,17 @@ public class EclipseLinkOrmFactory extends EFactoryImpl
* <!-- end-user-doc -->
* @generated
*/
+ public XmlIndex createXmlIndex()
+ {
+ XmlIndex xmlIndex = new XmlIndex();
+ return xmlIndex;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public XmlInstantiationCopyPolicy createXmlInstantiationCopyPolicy()
{
XmlInstantiationCopyPolicy xmlInstantiationCopyPolicy = new XmlInstantiationCopyPolicy();
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java
index e383ac62b0..cf28f85154 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java
@@ -22,6 +22,7 @@ import org.eclipse.jpt.core.resource.xml.CommonPackage;
import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.EclipseLinkOrmV1_1Package;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
/**
* <!-- begin-user-doc -->
@@ -128,6 +129,31 @@ public class EclipseLinkOrmPackage extends EPackageImpl
*/
public static final int XML_ACCESS_METHODS_HOLDER_FEATURE_COUNT = 1;
/**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlAdditionalCriteria <em>Xml Additional Criteria</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlAdditionalCriteria
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlAdditionalCriteria()
+ * @generated
+ */
+ public static final int XML_ADDITIONAL_CRITERIA = 2;
+ /**
+ * The feature id for the '<em><b>Criteria</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ADDITIONAL_CRITERIA__CRITERIA = EclipseLinkOrmV2_2Package.XML_ADDITIONAL_CRITERIA_22__CRITERIA;
+ /**
+ * The number of structural features of the '<em>Xml Additional Criteria</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ADDITIONAL_CRITERIA_FEATURE_COUNT = EclipseLinkOrmV2_2Package.XML_ADDITIONAL_CRITERIA_22_FEATURE_COUNT + 0;
+ /**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlAttributeMapping <em>Xml Attribute Mapping</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -135,7 +161,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlAttributeMapping()
* @generated
*/
- public static final int XML_ATTRIBUTE_MAPPING = 2;
+ public static final int XML_ATTRIBUTE_MAPPING = 3;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -184,7 +210,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getAttributes()
* @generated
*/
- public static final int ATTRIBUTES = 3;
+ public static final int ATTRIBUTES = 4;
/**
* The feature id for the '<em><b>Description</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -329,7 +355,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlBasic()
* @generated
*/
- public static final int XML_BASIC = 4;
+ public static final int XML_BASIC = 5;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -522,7 +548,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlBasicCollection()
* @generated
*/
- public static final int XML_BASIC_COLLECTION = 5;
+ public static final int XML_BASIC_COLLECTION = 6;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -556,13 +582,21 @@ public class EclipseLinkOrmPackage extends EPackageImpl
*/
public static final int XML_BASIC_COLLECTION__PROPERTIES = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
/**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_COLLECTION__CASCADE_ON_DELETE = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+ /**
* The number of structural features of the '<em>Xml Basic Collection</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_BASIC_COLLECTION_FEATURE_COUNT = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+ public static final int XML_BASIC_COLLECTION_FEATURE_COUNT = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasicMap <em>Xml Basic Map</em>}' class.
* <!-- begin-user-doc -->
@@ -571,7 +605,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlBasicMap()
* @generated
*/
- public static final int XML_BASIC_MAP = 6;
+ public static final int XML_BASIC_MAP = 7;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -605,13 +639,21 @@ public class EclipseLinkOrmPackage extends EPackageImpl
*/
public static final int XML_BASIC_MAP__PROPERTIES = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1;
/**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_MAP__CASCADE_ON_DELETE = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+ /**
* The number of structural features of the '<em>Xml Basic Map</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_BASIC_MAP_FEATURE_COUNT = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2;
+ public static final int XML_BASIC_MAP_FEATURE_COUNT = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlBatchFetch <em>Xml Batch Fetch</em>}' class.
* <!-- begin-user-doc -->
@@ -620,7 +662,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlBatchFetch()
* @generated
*/
- public static final int XML_BATCH_FETCH = 7;
+ public static final int XML_BATCH_FETCH = 8;
/**
* The feature id for the '<em><b>Size</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -653,7 +695,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlBatchFetchHolder()
* @generated
*/
- public static final int XML_BATCH_FETCH_HOLDER = 8;
+ public static final int XML_BATCH_FETCH_HOLDER = 9;
/**
* The feature id for the '<em><b>Batch Fetch</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -678,7 +720,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCache()
* @generated
*/
- public static final int XML_CACHE = 9;
+ public static final int XML_CACHE = 10;
/**
* The feature id for the '<em><b>Expiry</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -767,7 +809,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCacheHolder()
* @generated
*/
- public static final int XML_CACHE_HOLDER = 10;
+ public static final int XML_CACHE_HOLDER = 11;
/**
* The feature id for the '<em><b>Cache</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -800,7 +842,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlChangeTracking()
* @generated
*/
- public static final int XML_CHANGE_TRACKING = 11;
+ public static final int XML_CHANGE_TRACKING = 12;
/**
* The feature id for the '<em><b>Type</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -825,7 +867,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlChangeTrackingHolder()
* @generated
*/
- public static final int XML_CHANGE_TRACKING_HOLDER = 12;
+ public static final int XML_CHANGE_TRACKING_HOLDER = 13;
/**
* The feature id for the '<em><b>Change Tracking</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -850,7 +892,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCloneCopyPolicy()
* @generated
*/
- public static final int XML_CLONE_COPY_POLICY = 13;
+ public static final int XML_CLONE_COPY_POLICY = 14;
/**
* The feature id for the '<em><b>Method</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -883,7 +925,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConversionValue()
* @generated
*/
- public static final int XML_CONVERSION_VALUE = 14;
+ public static final int XML_CONVERSION_VALUE = 15;
/**
* The feature id for the '<em><b>Data Value</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -916,7 +958,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlNamedConverter()
* @generated
*/
- public static final int XML_NAMED_CONVERTER = 37;
+ public static final int XML_NAMED_CONVERTER = 39;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -941,7 +983,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverter()
* @generated
*/
- public static final int XML_CONVERTER = 15;
+ public static final int XML_CONVERTER = 16;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -974,7 +1016,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder()
* @generated
*/
- public static final int XML_CONVERTER_HOLDER = 16;
+ public static final int XML_CONVERTER_HOLDER = 17;
/**
* The feature id for the '<em><b>Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -1023,7 +1065,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertersHolder()
* @generated
*/
- public static final int XML_CONVERTERS_HOLDER = 17;
+ public static final int XML_CONVERTERS_HOLDER = 18;
/**
* The feature id for the '<em><b>Converters</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -1072,7 +1114,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertibleMapping()
* @generated
*/
- public static final int XML_CONVERTIBLE_MAPPING = 18;
+ public static final int XML_CONVERTIBLE_MAPPING = 19;
/**
* The feature id for the '<em><b>Lob</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -1153,7 +1195,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCopyPolicy()
* @generated
*/
- public static final int XML_COPY_POLICY = 19;
+ public static final int XML_COPY_POLICY = 20;
/**
* The feature id for the '<em><b>Class</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -1178,7 +1220,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCustomizer()
* @generated
*/
- public static final int XML_CUSTOMIZER = 20;
+ public static final int XML_CUSTOMIZER = 21;
/**
* The feature id for the '<em><b>Customizer Class Name</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -1203,7 +1245,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCustomizerHolder()
* @generated
*/
- public static final int XML_CUSTOMIZER_HOLDER = 21;
+ public static final int XML_CUSTOMIZER_HOLDER = 22;
/**
* The feature id for the '<em><b>Customizer</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -1228,7 +1270,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlElementCollection()
* @generated
*/
- public static final int XML_ELEMENT_COLLECTION = 22;
+ public static final int XML_ELEMENT_COLLECTION = 23;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -1518,13 +1560,21 @@ public class EclipseLinkOrmPackage extends EPackageImpl
*/
public static final int XML_ELEMENT_COLLECTION__ATTRIBUTE_TYPE = OrmPackage.XML_ELEMENT_COLLECTION_FEATURE_COUNT + 15;
/**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION__CASCADE_ON_DELETE = OrmPackage.XML_ELEMENT_COLLECTION_FEATURE_COUNT + 16;
+ /**
* The number of structural features of the '<em>Xml Element Collection</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_ELEMENT_COLLECTION_FEATURE_COUNT = OrmPackage.XML_ELEMENT_COLLECTION_FEATURE_COUNT + 16;
+ public static final int XML_ELEMENT_COLLECTION_FEATURE_COUNT = OrmPackage.XML_ELEMENT_COLLECTION_FEATURE_COUNT + 17;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlEmbeddable <em>Xml Embeddable</em>}' class.
* <!-- begin-user-doc -->
@@ -1533,7 +1583,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddable()
* @generated
*/
- public static final int XML_EMBEDDABLE = 23;
+ public static final int XML_EMBEDDABLE = 24;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -1583,13 +1633,37 @@ public class EclipseLinkOrmPackage extends EPackageImpl
*/
public static final int XML_EMBEDDABLE__ACCESS_METHODS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 0;
/**
+ * 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_EMBEDDABLE__ATTRIBUTE_OVERRIDES = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 1;
+ /**
+ * 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_EMBEDDABLE__ASSOCIATION_OVERRIDES = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 2;
+ /**
+ * The feature id for the '<em><b>Parent Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDABLE__PARENT_CLASS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 3;
+ /**
* The feature id for the '<em><b>Customizer</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_EMBEDDABLE__CUSTOMIZER = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 1;
+ public static final int XML_EMBEDDABLE__CUSTOMIZER = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 4;
/**
* The feature id for the '<em><b>Change Tracking</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -1597,7 +1671,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_EMBEDDABLE__CHANGE_TRACKING = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 2;
+ public static final int XML_EMBEDDABLE__CHANGE_TRACKING = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 5;
/**
* The feature id for the '<em><b>Converters</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -1605,7 +1679,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_EMBEDDABLE__CONVERTERS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 3;
+ public static final int XML_EMBEDDABLE__CONVERTERS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 6;
/**
* The feature id for the '<em><b>Type Converters</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -1613,7 +1687,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_EMBEDDABLE__TYPE_CONVERTERS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 4;
+ public static final int XML_EMBEDDABLE__TYPE_CONVERTERS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 7;
/**
* The feature id for the '<em><b>Object Type Converters</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -1621,7 +1695,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_EMBEDDABLE__OBJECT_TYPE_CONVERTERS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 5;
+ public static final int XML_EMBEDDABLE__OBJECT_TYPE_CONVERTERS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 8;
/**
* The feature id for the '<em><b>Struct Converters</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -1629,7 +1703,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_EMBEDDABLE__STRUCT_CONVERTERS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 6;
+ public static final int XML_EMBEDDABLE__STRUCT_CONVERTERS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 9;
/**
* The feature id for the '<em><b>Properties</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -1637,7 +1711,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_EMBEDDABLE__PROPERTIES = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 7;
+ public static final int XML_EMBEDDABLE__PROPERTIES = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 10;
/**
* The feature id for the '<em><b>Copy Policy</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -1645,7 +1719,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_EMBEDDABLE__COPY_POLICY = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 8;
+ public static final int XML_EMBEDDABLE__COPY_POLICY = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 11;
/**
* The feature id for the '<em><b>Instantiation Copy Policy</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -1653,7 +1727,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_EMBEDDABLE__INSTANTIATION_COPY_POLICY = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 9;
+ public static final int XML_EMBEDDABLE__INSTANTIATION_COPY_POLICY = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 12;
/**
* The feature id for the '<em><b>Clone Copy Policy</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -1661,7 +1735,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_EMBEDDABLE__CLONE_COPY_POLICY = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 10;
+ public static final int XML_EMBEDDABLE__CLONE_COPY_POLICY = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 13;
/**
* The feature id for the '<em><b>Exclude Default Mappings</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -1669,7 +1743,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_EMBEDDABLE__EXCLUDE_DEFAULT_MAPPINGS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 11;
+ public static final int XML_EMBEDDABLE__EXCLUDE_DEFAULT_MAPPINGS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 14;
/**
* The number of structural features of the '<em>Xml Embeddable</em>' class.
* <!-- begin-user-doc -->
@@ -1677,7 +1751,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_EMBEDDABLE_FEATURE_COUNT = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 12;
+ public static final int XML_EMBEDDABLE_FEATURE_COUNT = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 15;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlEmbedded <em>Xml Embedded</em>}' class.
* <!-- begin-user-doc -->
@@ -1686,7 +1760,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbedded()
* @generated
*/
- public static final int XML_EMBEDDED = 24;
+ public static final int XML_EMBEDDED = 25;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -1759,7 +1833,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddedId()
* @generated
*/
- public static final int XML_EMBEDDED_ID = 25;
+ public static final int XML_EMBEDDED_ID = 26;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -1824,7 +1898,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEntity()
* @generated
*/
- public static final int XML_ENTITY = 26;
+ public static final int XML_ENTITY = 27;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -2130,13 +2204,37 @@ public class EclipseLinkOrmPackage extends EPackageImpl
*/
public static final int XML_ENTITY__PARENT_CLASS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 6;
/**
+ * The feature id for the '<em><b>Additional Criteria</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__ADDITIONAL_CRITERIA = OrmPackage.XML_ENTITY_FEATURE_COUNT + 7;
+ /**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__CASCADE_ON_DELETE = OrmPackage.XML_ENTITY_FEATURE_COUNT + 8;
+ /**
+ * The feature id for the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY__INDEX = OrmPackage.XML_ENTITY_FEATURE_COUNT + 9;
+ /**
* The feature id for the '<em><b>Read Only</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_ENTITY__READ_ONLY = OrmPackage.XML_ENTITY_FEATURE_COUNT + 7;
+ public static final int XML_ENTITY__READ_ONLY = OrmPackage.XML_ENTITY_FEATURE_COUNT + 10;
/**
* The feature id for the '<em><b>Customizer</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -2144,7 +2242,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__CUSTOMIZER = OrmPackage.XML_ENTITY_FEATURE_COUNT + 8;
+ public static final int XML_ENTITY__CUSTOMIZER = OrmPackage.XML_ENTITY_FEATURE_COUNT + 11;
/**
* The feature id for the '<em><b>Change Tracking</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -2152,7 +2250,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__CHANGE_TRACKING = OrmPackage.XML_ENTITY_FEATURE_COUNT + 9;
+ public static final int XML_ENTITY__CHANGE_TRACKING = OrmPackage.XML_ENTITY_FEATURE_COUNT + 12;
/**
* The feature id for the '<em><b>Cache</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -2160,7 +2258,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__CACHE = OrmPackage.XML_ENTITY_FEATURE_COUNT + 10;
+ public static final int XML_ENTITY__CACHE = OrmPackage.XML_ENTITY_FEATURE_COUNT + 13;
/**
* The feature id for the '<em><b>Existence Checking</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -2168,7 +2266,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__EXISTENCE_CHECKING = OrmPackage.XML_ENTITY_FEATURE_COUNT + 11;
+ public static final int XML_ENTITY__EXISTENCE_CHECKING = OrmPackage.XML_ENTITY_FEATURE_COUNT + 14;
/**
* The feature id for the '<em><b>Converters</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -2176,7 +2274,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__CONVERTERS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 12;
+ public static final int XML_ENTITY__CONVERTERS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 15;
/**
* The feature id for the '<em><b>Type Converters</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -2184,7 +2282,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__TYPE_CONVERTERS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 13;
+ public static final int XML_ENTITY__TYPE_CONVERTERS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 16;
/**
* The feature id for the '<em><b>Object Type Converters</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -2192,7 +2290,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__OBJECT_TYPE_CONVERTERS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 14;
+ public static final int XML_ENTITY__OBJECT_TYPE_CONVERTERS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 17;
/**
* The feature id for the '<em><b>Struct Converters</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -2200,7 +2298,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__STRUCT_CONVERTERS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 15;
+ public static final int XML_ENTITY__STRUCT_CONVERTERS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 18;
/**
* The feature id for the '<em><b>Named Stored Procedure Queries</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -2208,7 +2306,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__NAMED_STORED_PROCEDURE_QUERIES = OrmPackage.XML_ENTITY_FEATURE_COUNT + 16;
+ public static final int XML_ENTITY__NAMED_STORED_PROCEDURE_QUERIES = OrmPackage.XML_ENTITY_FEATURE_COUNT + 19;
/**
* The feature id for the '<em><b>Properties</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -2216,7 +2314,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__PROPERTIES = OrmPackage.XML_ENTITY_FEATURE_COUNT + 17;
+ public static final int XML_ENTITY__PROPERTIES = OrmPackage.XML_ENTITY_FEATURE_COUNT + 20;
/**
* The feature id for the '<em><b>Optimistic Locking</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -2224,7 +2322,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__OPTIMISTIC_LOCKING = OrmPackage.XML_ENTITY_FEATURE_COUNT + 18;
+ public static final int XML_ENTITY__OPTIMISTIC_LOCKING = OrmPackage.XML_ENTITY_FEATURE_COUNT + 21;
/**
* The feature id for the '<em><b>Copy Policy</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -2232,7 +2330,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__COPY_POLICY = OrmPackage.XML_ENTITY_FEATURE_COUNT + 19;
+ public static final int XML_ENTITY__COPY_POLICY = OrmPackage.XML_ENTITY_FEATURE_COUNT + 22;
/**
* The feature id for the '<em><b>Instantiation Copy Policy</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -2240,7 +2338,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__INSTANTIATION_COPY_POLICY = OrmPackage.XML_ENTITY_FEATURE_COUNT + 20;
+ public static final int XML_ENTITY__INSTANTIATION_COPY_POLICY = OrmPackage.XML_ENTITY_FEATURE_COUNT + 23;
/**
* The feature id for the '<em><b>Clone Copy Policy</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -2248,7 +2346,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__CLONE_COPY_POLICY = OrmPackage.XML_ENTITY_FEATURE_COUNT + 21;
+ public static final int XML_ENTITY__CLONE_COPY_POLICY = OrmPackage.XML_ENTITY_FEATURE_COUNT + 24;
/**
* The feature id for the '<em><b>Exclude Default Mappings</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -2256,7 +2354,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY__EXCLUDE_DEFAULT_MAPPINGS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 22;
+ public static final int XML_ENTITY__EXCLUDE_DEFAULT_MAPPINGS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 25;
/**
* The number of structural features of the '<em>Xml Entity</em>' class.
* <!-- begin-user-doc -->
@@ -2264,7 +2362,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY_FEATURE_COUNT = OrmPackage.XML_ENTITY_FEATURE_COUNT + 23;
+ public static final int XML_ENTITY_FEATURE_COUNT = OrmPackage.XML_ENTITY_FEATURE_COUNT + 26;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlEntityMappings <em>Xml Entity Mappings</em>}' class.
* <!-- begin-user-doc -->
@@ -2273,7 +2371,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEntityMappings()
* @generated
*/
- public static final int XML_ENTITY_MAPPINGS = 27;
+ public static final int XML_ENTITY_MAPPINGS = 28;
/**
* The feature id for the '<em><b>Version</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -2458,7 +2556,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlFetchAttribute()
* @generated
*/
- public static final int XML_FETCH_ATTRIBUTE = 28;
+ public static final int XML_FETCH_ATTRIBUTE = 29;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -2483,7 +2581,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlFetchGroup()
* @generated
*/
- public static final int XML_FETCH_GROUP = 29;
+ public static final int XML_FETCH_GROUP = 30;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -2524,7 +2622,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlId()
* @generated
*/
- public static final int XML_ID = 30;
+ public static final int XML_ID = 31;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -2606,13 +2704,21 @@ public class EclipseLinkOrmPackage extends EPackageImpl
*/
public static final int XML_ID__ATTRIBUTE_TYPE = OrmPackage.XML_ID_FEATURE_COUNT + 0;
/**
+ * The feature id for the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__INDEX = OrmPackage.XML_ID_FEATURE_COUNT + 1;
+ /**
* The feature id for the '<em><b>Access Methods</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_ID__ACCESS_METHODS = OrmPackage.XML_ID_FEATURE_COUNT + 1;
+ public static final int XML_ID__ACCESS_METHODS = OrmPackage.XML_ID_FEATURE_COUNT + 2;
/**
* The feature id for the '<em><b>Properties</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -2620,7 +2726,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ID__PROPERTIES = OrmPackage.XML_ID_FEATURE_COUNT + 2;
+ public static final int XML_ID__PROPERTIES = OrmPackage.XML_ID_FEATURE_COUNT + 3;
/**
* The feature id for the '<em><b>Mutable</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -2628,7 +2734,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ID__MUTABLE = OrmPackage.XML_ID_FEATURE_COUNT + 3;
+ public static final int XML_ID__MUTABLE = OrmPackage.XML_ID_FEATURE_COUNT + 4;
/**
* The feature id for the '<em><b>Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -2636,7 +2742,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ID__CONVERTER = OrmPackage.XML_ID_FEATURE_COUNT + 4;
+ public static final int XML_ID__CONVERTER = OrmPackage.XML_ID_FEATURE_COUNT + 5;
/**
* The feature id for the '<em><b>Type Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -2644,7 +2750,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ID__TYPE_CONVERTER = OrmPackage.XML_ID_FEATURE_COUNT + 5;
+ public static final int XML_ID__TYPE_CONVERTER = OrmPackage.XML_ID_FEATURE_COUNT + 6;
/**
* The feature id for the '<em><b>Object Type Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -2652,7 +2758,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ID__OBJECT_TYPE_CONVERTER = OrmPackage.XML_ID_FEATURE_COUNT + 6;
+ public static final int XML_ID__OBJECT_TYPE_CONVERTER = OrmPackage.XML_ID_FEATURE_COUNT + 7;
/**
* The feature id for the '<em><b>Struct Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -2660,7 +2766,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ID__STRUCT_CONVERTER = OrmPackage.XML_ID_FEATURE_COUNT + 7;
+ public static final int XML_ID__STRUCT_CONVERTER = OrmPackage.XML_ID_FEATURE_COUNT + 8;
/**
* The feature id for the '<em><b>Convert</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -2668,7 +2774,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ID__CONVERT = OrmPackage.XML_ID_FEATURE_COUNT + 8;
+ public static final int XML_ID__CONVERT = OrmPackage.XML_ID_FEATURE_COUNT + 9;
/**
* The number of structural features of the '<em>Xml Id</em>' class.
* <!-- begin-user-doc -->
@@ -2676,7 +2782,72 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ID_FEATURE_COUNT = OrmPackage.XML_ID_FEATURE_COUNT + 9;
+ public static final int XML_ID_FEATURE_COUNT = OrmPackage.XML_ID_FEATURE_COUNT + 10;
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlIndex <em>Xml Index</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlIndex
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlIndex()
+ * @generated
+ */
+ public static final int XML_INDEX = 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_INDEX__NAME = EclipseLinkOrmV2_2Package.XML_INDEX_22__NAME;
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_INDEX__SCHEMA = EclipseLinkOrmV2_2Package.XML_INDEX_22__SCHEMA;
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_INDEX__CATALOG = EclipseLinkOrmV2_2Package.XML_INDEX_22__CATALOG;
+ /**
+ * The feature id for the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_INDEX__TABLE = EclipseLinkOrmV2_2Package.XML_INDEX_22__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_INDEX__UNIQUE = EclipseLinkOrmV2_2Package.XML_INDEX_22__UNIQUE;
+ /**
+ * 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_INDEX__COLUMN_NAMES = EclipseLinkOrmV2_2Package.XML_INDEX_22__COLUMN_NAMES;
+ /**
+ * The number of structural features of the '<em>Xml Index</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_INDEX_FEATURE_COUNT = EclipseLinkOrmV2_2Package.XML_INDEX_22_FEATURE_COUNT + 0;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlInstantiationCopyPolicy <em>Xml Instantiation Copy Policy</em>}' class.
* <!-- begin-user-doc -->
@@ -2685,7 +2856,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlInstantiationCopyPolicy()
* @generated
*/
- public static final int XML_INSTANTIATION_COPY_POLICY = 31;
+ public static final int XML_INSTANTIATION_COPY_POLICY = 33;
/**
* The number of structural features of the '<em>Xml Instantiation Copy Policy</em>' class.
* <!-- begin-user-doc -->
@@ -2702,7 +2873,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlJoinFetch()
* @generated
*/
- public static final int XML_JOIN_FETCH = 32;
+ public static final int XML_JOIN_FETCH = 34;
/**
* The feature id for the '<em><b>Join Fetch</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -2727,7 +2898,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlManyToMany()
* @generated
*/
- public static final int XML_MANY_TO_MANY = 33;
+ public static final int XML_MANY_TO_MANY = 35;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -2921,13 +3092,21 @@ public class EclipseLinkOrmPackage extends EPackageImpl
*/
public static final int XML_MANY_TO_MANY__ATTRIBUTE_TYPE = OrmPackage.XML_MANY_TO_MANY_FEATURE_COUNT + 7;
/**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY__CASCADE_ON_DELETE = OrmPackage.XML_MANY_TO_MANY_FEATURE_COUNT + 8;
+ /**
* The feature id for the '<em><b>Access Methods</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_MANY_TO_MANY__ACCESS_METHODS = OrmPackage.XML_MANY_TO_MANY_FEATURE_COUNT + 8;
+ public static final int XML_MANY_TO_MANY__ACCESS_METHODS = OrmPackage.XML_MANY_TO_MANY_FEATURE_COUNT + 9;
/**
* The feature id for the '<em><b>Properties</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -2935,7 +3114,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MANY_TO_MANY__PROPERTIES = OrmPackage.XML_MANY_TO_MANY_FEATURE_COUNT + 9;
+ public static final int XML_MANY_TO_MANY__PROPERTIES = OrmPackage.XML_MANY_TO_MANY_FEATURE_COUNT + 10;
/**
* The feature id for the '<em><b>Join Fetch</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -2943,7 +3122,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MANY_TO_MANY__JOIN_FETCH = OrmPackage.XML_MANY_TO_MANY_FEATURE_COUNT + 10;
+ public static final int XML_MANY_TO_MANY__JOIN_FETCH = OrmPackage.XML_MANY_TO_MANY_FEATURE_COUNT + 11;
/**
* The number of structural features of the '<em>Xml Many To Many</em>' class.
* <!-- begin-user-doc -->
@@ -2951,7 +3130,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MANY_TO_MANY_FEATURE_COUNT = OrmPackage.XML_MANY_TO_MANY_FEATURE_COUNT + 11;
+ public static final int XML_MANY_TO_MANY_FEATURE_COUNT = OrmPackage.XML_MANY_TO_MANY_FEATURE_COUNT + 12;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToOne <em>Xml Many To One</em>}' class.
* <!-- begin-user-doc -->
@@ -2960,7 +3139,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlManyToOne()
* @generated
*/
- public static final int XML_MANY_TO_ONE = 34;
+ public static final int XML_MANY_TO_ONE = 36;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -3089,7 +3268,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlMappedSuperclass()
* @generated
*/
- public static final int XML_MAPPED_SUPERCLASS = 35;
+ public static final int XML_MAPPED_SUPERCLASS = 37;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -3283,13 +3462,21 @@ public class EclipseLinkOrmPackage extends EPackageImpl
*/
public static final int XML_MAPPED_SUPERCLASS__PARENT_CLASS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 14;
/**
+ * The feature id for the '<em><b>Additional Criteria</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_SUPERCLASS__ADDITIONAL_CRITERIA = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 15;
+ /**
* The feature id for the '<em><b>Read Only</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__READ_ONLY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 15;
+ public static final int XML_MAPPED_SUPERCLASS__READ_ONLY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 16;
/**
* The feature id for the '<em><b>Customizer</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -3297,7 +3484,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__CUSTOMIZER = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 16;
+ public static final int XML_MAPPED_SUPERCLASS__CUSTOMIZER = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 17;
/**
* The feature id for the '<em><b>Change Tracking</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -3305,7 +3492,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__CHANGE_TRACKING = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 17;
+ public static final int XML_MAPPED_SUPERCLASS__CHANGE_TRACKING = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 18;
/**
* The feature id for the '<em><b>Cache</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -3313,7 +3500,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__CACHE = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 18;
+ public static final int XML_MAPPED_SUPERCLASS__CACHE = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 19;
/**
* The feature id for the '<em><b>Existence Checking</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -3321,7 +3508,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__EXISTENCE_CHECKING = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 19;
+ public static final int XML_MAPPED_SUPERCLASS__EXISTENCE_CHECKING = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 20;
/**
* The feature id for the '<em><b>Converters</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -3329,7 +3516,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__CONVERTERS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 20;
+ public static final int XML_MAPPED_SUPERCLASS__CONVERTERS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 21;
/**
* The feature id for the '<em><b>Type Converters</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -3337,7 +3524,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__TYPE_CONVERTERS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 21;
+ public static final int XML_MAPPED_SUPERCLASS__TYPE_CONVERTERS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 22;
/**
* The feature id for the '<em><b>Object Type Converters</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -3345,7 +3532,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__OBJECT_TYPE_CONVERTERS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 22;
+ public static final int XML_MAPPED_SUPERCLASS__OBJECT_TYPE_CONVERTERS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 23;
/**
* The feature id for the '<em><b>Struct Converters</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -3353,7 +3540,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__STRUCT_CONVERTERS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 23;
+ public static final int XML_MAPPED_SUPERCLASS__STRUCT_CONVERTERS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 24;
/**
* The feature id for the '<em><b>Properties</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -3361,7 +3548,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__PROPERTIES = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 24;
+ public static final int XML_MAPPED_SUPERCLASS__PROPERTIES = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 25;
/**
* The feature id for the '<em><b>Optimistic Locking</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -3369,7 +3556,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__OPTIMISTIC_LOCKING = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 25;
+ public static final int XML_MAPPED_SUPERCLASS__OPTIMISTIC_LOCKING = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 26;
/**
* The feature id for the '<em><b>Copy Policy</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -3377,7 +3564,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__COPY_POLICY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 26;
+ public static final int XML_MAPPED_SUPERCLASS__COPY_POLICY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 27;
/**
* The feature id for the '<em><b>Instantiation Copy Policy</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -3385,7 +3572,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__INSTANTIATION_COPY_POLICY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 27;
+ public static final int XML_MAPPED_SUPERCLASS__INSTANTIATION_COPY_POLICY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 28;
/**
* The feature id for the '<em><b>Clone Copy Policy</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -3393,7 +3580,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__CLONE_COPY_POLICY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 28;
+ public static final int XML_MAPPED_SUPERCLASS__CLONE_COPY_POLICY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 29;
/**
* The feature id for the '<em><b>Exclude Default Mappings</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -3401,7 +3588,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_MAPPINGS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 29;
+ public static final int XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_MAPPINGS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 30;
/**
* The number of structural features of the '<em>Xml Mapped Superclass</em>' class.
* <!-- begin-user-doc -->
@@ -3409,7 +3596,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_MAPPED_SUPERCLASS_FEATURE_COUNT = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 30;
+ public static final int XML_MAPPED_SUPERCLASS_FEATURE_COUNT = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 31;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlMutable <em>Xml Mutable</em>}' class.
* <!-- begin-user-doc -->
@@ -3418,7 +3605,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlMutable()
* @generated
*/
- public static final int XML_MUTABLE = 36;
+ public static final int XML_MUTABLE = 38;
/**
* The feature id for the '<em><b>Mutable</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -3443,7 +3630,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlNamedStoredProcedureQuery()
* @generated
*/
- public static final int XML_NAMED_STORED_PROCEDURE_QUERY = 38;
+ public static final int XML_NAMED_STORED_PROCEDURE_QUERY = 40;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -3516,7 +3703,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlObjectTypeConverter()
* @generated
*/
- public static final int XML_OBJECT_TYPE_CONVERTER = 39;
+ public static final int XML_OBJECT_TYPE_CONVERTER = 41;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -3573,7 +3760,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToMany()
* @generated
*/
- public static final int XML_ONE_TO_MANY = 40;
+ public static final int XML_ONE_TO_MANY = 42;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -3783,13 +3970,21 @@ public class EclipseLinkOrmPackage extends EPackageImpl
*/
public static final int XML_ONE_TO_MANY__ATTRIBUTE_TYPE = OrmPackage.XML_ONE_TO_MANY_FEATURE_COUNT + 7;
/**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY__CASCADE_ON_DELETE = OrmPackage.XML_ONE_TO_MANY_FEATURE_COUNT + 8;
+ /**
* The feature id for the '<em><b>Access Methods</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_ONE_TO_MANY__ACCESS_METHODS = OrmPackage.XML_ONE_TO_MANY_FEATURE_COUNT + 8;
+ public static final int XML_ONE_TO_MANY__ACCESS_METHODS = OrmPackage.XML_ONE_TO_MANY_FEATURE_COUNT + 9;
/**
* The feature id for the '<em><b>Properties</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -3797,7 +3992,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ONE_TO_MANY__PROPERTIES = OrmPackage.XML_ONE_TO_MANY_FEATURE_COUNT + 9;
+ public static final int XML_ONE_TO_MANY__PROPERTIES = OrmPackage.XML_ONE_TO_MANY_FEATURE_COUNT + 10;
/**
* The feature id for the '<em><b>Private Owned</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -3805,7 +4000,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ONE_TO_MANY__PRIVATE_OWNED = OrmPackage.XML_ONE_TO_MANY_FEATURE_COUNT + 10;
+ public static final int XML_ONE_TO_MANY__PRIVATE_OWNED = OrmPackage.XML_ONE_TO_MANY_FEATURE_COUNT + 11;
/**
* The feature id for the '<em><b>Join Fetch</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -3813,7 +4008,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ONE_TO_MANY__JOIN_FETCH = OrmPackage.XML_ONE_TO_MANY_FEATURE_COUNT + 11;
+ public static final int XML_ONE_TO_MANY__JOIN_FETCH = OrmPackage.XML_ONE_TO_MANY_FEATURE_COUNT + 12;
/**
* The number of structural features of the '<em>Xml One To Many</em>' class.
* <!-- begin-user-doc -->
@@ -3821,7 +4016,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ONE_TO_MANY_FEATURE_COUNT = OrmPackage.XML_ONE_TO_MANY_FEATURE_COUNT + 12;
+ public static final int XML_ONE_TO_MANY_FEATURE_COUNT = OrmPackage.XML_ONE_TO_MANY_FEATURE_COUNT + 13;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToOne <em>Xml One To One</em>}' class.
* <!-- begin-user-doc -->
@@ -3830,7 +4025,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToOne()
* @generated
*/
- public static final int XML_ONE_TO_ONE = 41;
+ public static final int XML_ONE_TO_ONE = 43;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -3944,13 +4139,21 @@ public class EclipseLinkOrmPackage extends EPackageImpl
*/
public static final int XML_ONE_TO_ONE__BATCH_FETCH = OrmPackage.XML_ONE_TO_ONE_FEATURE_COUNT + 0;
/**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE__CASCADE_ON_DELETE = OrmPackage.XML_ONE_TO_ONE_FEATURE_COUNT + 1;
+ /**
* The feature id for the '<em><b>Access Methods</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_ONE_TO_ONE__ACCESS_METHODS = OrmPackage.XML_ONE_TO_ONE_FEATURE_COUNT + 1;
+ public static final int XML_ONE_TO_ONE__ACCESS_METHODS = OrmPackage.XML_ONE_TO_ONE_FEATURE_COUNT + 2;
/**
* The feature id for the '<em><b>Properties</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -3958,7 +4161,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ONE_TO_ONE__PROPERTIES = OrmPackage.XML_ONE_TO_ONE_FEATURE_COUNT + 2;
+ public static final int XML_ONE_TO_ONE__PROPERTIES = OrmPackage.XML_ONE_TO_ONE_FEATURE_COUNT + 3;
/**
* The feature id for the '<em><b>Private Owned</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -3966,7 +4169,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ONE_TO_ONE__PRIVATE_OWNED = OrmPackage.XML_ONE_TO_ONE_FEATURE_COUNT + 3;
+ public static final int XML_ONE_TO_ONE__PRIVATE_OWNED = OrmPackage.XML_ONE_TO_ONE_FEATURE_COUNT + 4;
/**
* The feature id for the '<em><b>Join Fetch</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -3974,7 +4177,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ONE_TO_ONE__JOIN_FETCH = OrmPackage.XML_ONE_TO_ONE_FEATURE_COUNT + 4;
+ public static final int XML_ONE_TO_ONE__JOIN_FETCH = OrmPackage.XML_ONE_TO_ONE_FEATURE_COUNT + 5;
/**
* The number of structural features of the '<em>Xml One To One</em>' class.
* <!-- begin-user-doc -->
@@ -3982,7 +4185,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ONE_TO_ONE_FEATURE_COUNT = OrmPackage.XML_ONE_TO_ONE_FEATURE_COUNT + 5;
+ public static final int XML_ONE_TO_ONE_FEATURE_COUNT = OrmPackage.XML_ONE_TO_ONE_FEATURE_COUNT + 6;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlOptimisticLocking <em>Xml Optimistic Locking</em>}' class.
* <!-- begin-user-doc -->
@@ -3991,7 +4194,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOptimisticLocking()
* @generated
*/
- public static final int XML_OPTIMISTIC_LOCKING = 42;
+ public static final int XML_OPTIMISTIC_LOCKING = 44;
/**
* The feature id for the '<em><b>Type</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4032,7 +4235,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOrderColumn()
* @generated
*/
- public static final int XML_ORDER_COLUMN = 43;
+ public static final int XML_ORDER_COLUMN = 45;
/**
* The feature id for the '<em><b>Column Definition</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4097,7 +4300,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlPersistenceUnitDefaults()
* @generated
*/
- public static final int XML_PERSISTENCE_UNIT_DEFAULTS = 44;
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS = 46;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4178,7 +4381,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlPersistenceUnitMetadata()
* @generated
*/
- public static final int XML_PERSISTENCE_UNIT_METADATA = 45;
+ public static final int XML_PERSISTENCE_UNIT_METADATA = 47;
/**
* The feature id for the '<em><b>Description</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4227,7 +4430,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlPrimaryKey()
* @generated
*/
- public static final int XML_PRIMARY_KEY = 46;
+ public static final int XML_PRIMARY_KEY = 48;
/**
* The feature id for the '<em><b>Validation</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4268,7 +4471,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlPrivateOwned()
* @generated
*/
- public static final int XML_PRIVATE_OWNED = 47;
+ public static final int XML_PRIVATE_OWNED = 49;
/**
* The feature id for the '<em><b>Private Owned</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4293,7 +4496,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlProperty()
* @generated
*/
- public static final int XML_PROPERTY = 48;
+ public static final int XML_PROPERTY = 50;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4334,7 +4537,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlPropertyContainer()
* @generated
*/
- public static final int XML_PROPERTY_CONTAINER = 49;
+ public static final int XML_PROPERTY_CONTAINER = 51;
/**
* The feature id for the '<em><b>Properties</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -4359,7 +4562,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlQueryContainer()
* @generated
*/
- public static final int XML_QUERY_CONTAINER = 50;
+ public static final int XML_QUERY_CONTAINER = 52;
/**
* The feature id for the '<em><b>Named Stored Procedure Queries</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -4384,7 +4587,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlQueryRedirectors()
* @generated
*/
- public static final int XML_QUERY_REDIRECTORS = 51;
+ public static final int XML_QUERY_REDIRECTORS = 53;
/**
* The feature id for the '<em><b>All Queries</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4457,7 +4660,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlReadOnly()
* @generated
*/
- public static final int XML_READ_ONLY = 52;
+ public static final int XML_READ_ONLY = 54;
/**
* The feature id for the '<em><b>Read Only</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4482,7 +4685,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlReturnInsert()
* @generated
*/
- public static final int XML_RETURN_INSERT = 53;
+ public static final int XML_RETURN_INSERT = 55;
/**
* The feature id for the '<em><b>Return Only</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4507,7 +4710,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlStoredProcedureParameter()
* @generated
*/
- public static final int XML_STORED_PROCEDURE_PARAMETER = 54;
+ public static final int XML_STORED_PROCEDURE_PARAMETER = 56;
/**
* The feature id for the '<em><b>Direction</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4572,7 +4775,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlStructConverter()
* @generated
*/
- public static final int XML_STRUCT_CONVERTER = 55;
+ public static final int XML_STRUCT_CONVERTER = 57;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4605,7 +4808,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTimeOfDay()
* @generated
*/
- public static final int XML_TIME_OF_DAY = 56;
+ public static final int XML_TIME_OF_DAY = 58;
/**
* The feature id for the '<em><b>Hour</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4654,7 +4857,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTransformation()
* @generated
*/
- public static final int XML_TRANSFORMATION = 57;
+ public static final int XML_TRANSFORMATION = 59;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4711,7 +4914,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTransient()
* @generated
*/
- public static final int XML_TRANSIENT = 58;
+ public static final int XML_TRANSIENT = 60;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4760,7 +4963,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeConverter()
* @generated
*/
- public static final int XML_TYPE_CONVERTER = 59;
+ public static final int XML_TYPE_CONVERTER = 61;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4801,7 +5004,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlVariableOneToOne()
* @generated
*/
- public static final int XML_VARIABLE_ONE_TO_ONE = 60;
+ public static final int XML_VARIABLE_ONE_TO_ONE = 62;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4850,7 +5053,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlVersion()
* @generated
*/
- public static final int XML_VERSION = 61;
+ public static final int XML_VERSION = 63;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4908,13 +5111,21 @@ public class EclipseLinkOrmPackage extends EPackageImpl
*/
public static final int XML_VERSION__ATTRIBUTE_TYPE = OrmPackage.XML_VERSION_FEATURE_COUNT + 0;
/**
+ * The feature id for the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION__INDEX = OrmPackage.XML_VERSION_FEATURE_COUNT + 1;
+ /**
* The feature id for the '<em><b>Access Methods</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_VERSION__ACCESS_METHODS = OrmPackage.XML_VERSION_FEATURE_COUNT + 1;
+ public static final int XML_VERSION__ACCESS_METHODS = OrmPackage.XML_VERSION_FEATURE_COUNT + 2;
/**
* The feature id for the '<em><b>Properties</b></em>' containment reference list.
* <!-- begin-user-doc -->
@@ -4922,7 +5133,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_VERSION__PROPERTIES = OrmPackage.XML_VERSION_FEATURE_COUNT + 2;
+ public static final int XML_VERSION__PROPERTIES = OrmPackage.XML_VERSION_FEATURE_COUNT + 3;
/**
* The feature id for the '<em><b>Mutable</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4930,7 +5141,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_VERSION__MUTABLE = OrmPackage.XML_VERSION_FEATURE_COUNT + 3;
+ public static final int XML_VERSION__MUTABLE = OrmPackage.XML_VERSION_FEATURE_COUNT + 4;
/**
* The feature id for the '<em><b>Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -4938,7 +5149,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_VERSION__CONVERTER = OrmPackage.XML_VERSION_FEATURE_COUNT + 4;
+ public static final int XML_VERSION__CONVERTER = OrmPackage.XML_VERSION_FEATURE_COUNT + 5;
/**
* The feature id for the '<em><b>Type Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -4946,7 +5157,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_VERSION__TYPE_CONVERTER = OrmPackage.XML_VERSION_FEATURE_COUNT + 5;
+ public static final int XML_VERSION__TYPE_CONVERTER = OrmPackage.XML_VERSION_FEATURE_COUNT + 6;
/**
* The feature id for the '<em><b>Object Type Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -4954,7 +5165,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_VERSION__OBJECT_TYPE_CONVERTER = OrmPackage.XML_VERSION_FEATURE_COUNT + 6;
+ public static final int XML_VERSION__OBJECT_TYPE_CONVERTER = OrmPackage.XML_VERSION_FEATURE_COUNT + 7;
/**
* The feature id for the '<em><b>Struct Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
@@ -4962,7 +5173,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_VERSION__STRUCT_CONVERTER = OrmPackage.XML_VERSION_FEATURE_COUNT + 7;
+ public static final int XML_VERSION__STRUCT_CONVERTER = OrmPackage.XML_VERSION_FEATURE_COUNT + 8;
/**
* The feature id for the '<em><b>Convert</b></em>' attribute.
* <!-- begin-user-doc -->
@@ -4970,7 +5181,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_VERSION__CONVERT = OrmPackage.XML_VERSION_FEATURE_COUNT + 8;
+ public static final int XML_VERSION__CONVERT = OrmPackage.XML_VERSION_FEATURE_COUNT + 9;
/**
* The number of structural features of the '<em>Xml Version</em>' class.
* <!-- begin-user-doc -->
@@ -4978,7 +5189,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_VERSION_FEATURE_COUNT = OrmPackage.XML_VERSION_FEATURE_COUNT + 9;
+ public static final int XML_VERSION_FEATURE_COUNT = OrmPackage.XML_VERSION_FEATURE_COUNT + 10;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.CacheCoordinationType <em>Cache Coordination Type</em>}' enum.
* <!-- begin-user-doc -->
@@ -4987,7 +5198,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getCacheCoordinationType()
* @generated
*/
- public static final int CACHE_COORDINATION_TYPE = 62;
+ public static final int CACHE_COORDINATION_TYPE = 64;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.CacheType <em>Cache Type</em>}' enum.
* <!-- begin-user-doc -->
@@ -4996,7 +5207,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getCacheType()
* @generated
*/
- public static final int CACHE_TYPE = 63;
+ public static final int CACHE_TYPE = 65;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlChangeTrackingType <em>Xml Change Tracking Type</em>}' enum.
* <!-- begin-user-doc -->
@@ -5005,7 +5216,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlChangeTrackingType()
* @generated
*/
- public static final int XML_CHANGE_TRACKING_TYPE = 64;
+ public static final int XML_CHANGE_TRACKING_TYPE = 66;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlDirection <em>Xml Direction</em>}' enum.
* <!-- begin-user-doc -->
@@ -5014,7 +5225,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlDirection()
* @generated
*/
- public static final int XML_DIRECTION = 65;
+ public static final int XML_DIRECTION = 67;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.ExistenceType <em>Existence Type</em>}' enum.
* <!-- begin-user-doc -->
@@ -5023,7 +5234,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getExistenceType()
* @generated
*/
- public static final int EXISTENCE_TYPE = 66;
+ public static final int EXISTENCE_TYPE = 68;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlJoinFetchType <em>Xml Join Fetch Type</em>}' enum.
* <!-- begin-user-doc -->
@@ -5032,7 +5243,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlJoinFetchType()
* @generated
*/
- public static final int XML_JOIN_FETCH_TYPE = 67;
+ public static final int XML_JOIN_FETCH_TYPE = 69;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlOptimisticLockingType <em>Xml Optimistic Locking Type</em>}' enum.
* <!-- begin-user-doc -->
@@ -5041,7 +5252,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOptimisticLockingType()
* @generated
*/
- public static final int XML_OPTIMISTIC_LOCKING_TYPE = 68;
+ public static final int XML_OPTIMISTIC_LOCKING_TYPE = 70;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -5059,6 +5270,12 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* <!-- end-user-doc -->
* @generated
*/
+ private EClass xmlAdditionalCriteriaEClass = null;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EClass xmlAttributeMappingEClass = null;
/**
* <!-- begin-user-doc -->
@@ -5233,6 +5450,12 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* <!-- end-user-doc -->
* @generated
*/
+ private EClass xmlIndexEClass = null;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EClass xmlInstantiationCopyPolicyEClass = null;
/**
* <!-- begin-user-doc -->
@@ -5514,18 +5737,21 @@ public class EclipseLinkOrmPackage extends EPackageImpl
EclipseLinkOrmV1_1Package theEclipseLinkOrmV1_1Package = (EclipseLinkOrmV1_1Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV1_1Package.eNS_URI) instanceof EclipseLinkOrmV1_1Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV1_1Package.eNS_URI) : EclipseLinkOrmV1_1Package.eINSTANCE);
EclipseLinkOrmV2_0Package theEclipseLinkOrmV2_0Package = (EclipseLinkOrmV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_0Package.eNS_URI) instanceof EclipseLinkOrmV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_0Package.eNS_URI) : EclipseLinkOrmV2_0Package.eINSTANCE);
EclipseLinkOrmV2_1Package theEclipseLinkOrmV2_1Package = (EclipseLinkOrmV2_1Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_1Package.eNS_URI) instanceof EclipseLinkOrmV2_1Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_1Package.eNS_URI) : EclipseLinkOrmV2_1Package.eINSTANCE);
+ EclipseLinkOrmV2_2Package theEclipseLinkOrmV2_2Package = (EclipseLinkOrmV2_2Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_2Package.eNS_URI) instanceof EclipseLinkOrmV2_2Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_2Package.eNS_URI) : EclipseLinkOrmV2_2Package.eINSTANCE);
// Create package meta-data objects
theEclipseLinkOrmPackage.createPackageContents();
theEclipseLinkOrmV1_1Package.createPackageContents();
theEclipseLinkOrmV2_0Package.createPackageContents();
theEclipseLinkOrmV2_1Package.createPackageContents();
+ theEclipseLinkOrmV2_2Package.createPackageContents();
// Initialize created meta-data
theEclipseLinkOrmPackage.initializePackageContents();
theEclipseLinkOrmV1_1Package.initializePackageContents();
theEclipseLinkOrmV2_0Package.initializePackageContents();
theEclipseLinkOrmV2_1Package.initializePackageContents();
+ theEclipseLinkOrmV2_2Package.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theEclipseLinkOrmPackage.freeze();
@@ -5605,6 +5831,19 @@ public class EclipseLinkOrmPackage extends EPackageImpl
}
/**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlAdditionalCriteria <em>Xml Additional Criteria</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Additional Criteria</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlAdditionalCriteria
+ * @generated
+ */
+ public EClass getXmlAdditionalCriteria()
+ {
+ return xmlAdditionalCriteriaEClass;
+ }
+
+ /**
* Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlAttributeMapping <em>Xml Attribute Mapping</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -6598,6 +6837,19 @@ public class EclipseLinkOrmPackage extends EPackageImpl
}
/**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlIndex <em>Xml Index</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Index</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlIndex
+ * @generated
+ */
+ public EClass getXmlIndex()
+ {
+ return xmlIndexEClass;
+ }
+
+ /**
* Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlInstantiationCopyPolicy <em>Xml Instantiation Copy Policy</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -7732,6 +7984,8 @@ public class EclipseLinkOrmPackage extends EPackageImpl
xmlAccessMethodsHolderEClass = createEClass(XML_ACCESS_METHODS_HOLDER);
createEReference(xmlAccessMethodsHolderEClass, XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS);
+ xmlAdditionalCriteriaEClass = createEClass(XML_ADDITIONAL_CRITERIA);
+
xmlAttributeMappingEClass = createEClass(XML_ATTRIBUTE_MAPPING);
attributesEClass = createEClass(ATTRIBUTES);
@@ -7834,6 +8088,8 @@ public class EclipseLinkOrmPackage extends EPackageImpl
xmlIdEClass = createEClass(XML_ID);
+ xmlIndexEClass = createEClass(XML_INDEX);
+
xmlInstantiationCopyPolicyEClass = createEClass(XML_INSTANTIATION_COPY_POLICY);
xmlJoinFetchEClass = createEClass(XML_JOIN_FETCH);
@@ -7977,6 +8233,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
EclipseLinkOrmV1_1Package theEclipseLinkOrmV1_1Package = (EclipseLinkOrmV1_1Package)EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV1_1Package.eNS_URI);
EclipseLinkOrmV2_0Package theEclipseLinkOrmV2_0Package = (EclipseLinkOrmV2_0Package)EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_0Package.eNS_URI);
EclipseLinkOrmV2_1Package theEclipseLinkOrmV2_1Package = (EclipseLinkOrmV2_1Package)EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_1Package.eNS_URI);
+ EclipseLinkOrmV2_2Package theEclipseLinkOrmV2_2Package = (EclipseLinkOrmV2_2Package)EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_2Package.eNS_URI);
XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
OrmPackage theOrmPackage = (OrmPackage)EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI);
@@ -7984,12 +8241,14 @@ public class EclipseLinkOrmPackage extends EPackageImpl
getESubpackages().add(theEclipseLinkOrmV1_1Package);
getESubpackages().add(theEclipseLinkOrmV2_0Package);
getESubpackages().add(theEclipseLinkOrmV2_1Package);
+ getESubpackages().add(theEclipseLinkOrmV2_2Package);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
+ xmlAdditionalCriteriaEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlAdditionalCriteria_2_2());
xmlAttributeMappingEClass.getESuperTypes().add(theOrmPackage.getXmlAttributeMapping());
xmlAttributeMappingEClass.getESuperTypes().add(this.getXmlAccessMethodsHolder());
xmlAttributeMappingEClass.getESuperTypes().add(this.getXmlPropertyContainer());
@@ -8002,8 +8261,10 @@ public class EclipseLinkOrmPackage extends EPackageImpl
xmlBasicEClass.getESuperTypes().add(this.getXmlConvertibleMapping());
xmlBasicCollectionEClass.getESuperTypes().add(theOrmPackage.getAbstractXmlAttributeMapping());
xmlBasicCollectionEClass.getESuperTypes().add(this.getXmlAttributeMapping());
+ xmlBasicCollectionEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlBasicCollection_2_2());
xmlBasicMapEClass.getESuperTypes().add(theOrmPackage.getAbstractXmlAttributeMapping());
xmlBasicMapEClass.getESuperTypes().add(this.getXmlAttributeMapping());
+ xmlBasicMapEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlBasicMap_2_2());
xmlBatchFetchEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlBatchFetch_2_1());
xmlConverterEClass.getESuperTypes().add(this.getXmlNamedConverter());
xmlConvertibleMappingEClass.getESuperTypes().add(theOrmPackage.getXmlConvertibleMapping());
@@ -8011,8 +8272,10 @@ public class EclipseLinkOrmPackage extends EPackageImpl
xmlElementCollectionEClass.getESuperTypes().add(theOrmPackage.getXmlElementCollection());
xmlElementCollectionEClass.getESuperTypes().add(theEclipseLinkOrmV2_0Package.getXmlElementCollection_2_0());
xmlElementCollectionEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlElementCollection_2_1());
+ xmlElementCollectionEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlElementCollection_2_2());
xmlEmbeddableEClass.getESuperTypes().add(theOrmPackage.getXmlEmbeddable());
xmlEmbeddableEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlEmbeddable_2_1());
+ xmlEmbeddableEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlEmbeddable_2_2());
xmlEmbeddableEClass.getESuperTypes().add(this.getXmlCustomizerHolder());
xmlEmbeddableEClass.getESuperTypes().add(this.getXmlChangeTrackingHolder());
xmlEmbeddableEClass.getESuperTypes().add(this.getXmlConvertersHolder());
@@ -8027,6 +8290,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
xmlEntityEClass.getESuperTypes().add(theEclipseLinkOrmV1_1Package.getXmlEntity_1_1());
xmlEntityEClass.getESuperTypes().add(theEclipseLinkOrmV2_0Package.getXmlEntity_2_0());
xmlEntityEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlEntity_2_1());
+ xmlEntityEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlEntity_2_2());
xmlEntityEClass.getESuperTypes().add(this.getXmlReadOnly());
xmlEntityEClass.getESuperTypes().add(this.getXmlCustomizerHolder());
xmlEntityEClass.getESuperTypes().add(this.getXmlChangeTrackingHolder());
@@ -8041,12 +8305,15 @@ public class EclipseLinkOrmPackage extends EPackageImpl
xmlFetchGroupEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlFetchGroup_2_1());
xmlIdEClass.getESuperTypes().add(theOrmPackage.getXmlId());
xmlIdEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlId_2_1());
+ xmlIdEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlId_2_2());
xmlIdEClass.getESuperTypes().add(this.getXmlAttributeMapping());
xmlIdEClass.getESuperTypes().add(this.getXmlMutable());
xmlIdEClass.getESuperTypes().add(this.getXmlConvertibleMapping());
+ xmlIndexEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlIndex_2_2());
xmlManyToManyEClass.getESuperTypes().add(theOrmPackage.getXmlManyToMany());
xmlManyToManyEClass.getESuperTypes().add(theEclipseLinkOrmV2_0Package.getXmlManyToMany_2_0());
xmlManyToManyEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlManyToMany_2_1());
+ xmlManyToManyEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlManyToMany_2_2());
xmlManyToManyEClass.getESuperTypes().add(this.getXmlAttributeMapping());
xmlManyToManyEClass.getESuperTypes().add(this.getXmlJoinFetch());
xmlManyToOneEClass.getESuperTypes().add(theOrmPackage.getXmlManyToOne());
@@ -8057,6 +8324,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
xmlMappedSuperclassEClass.getESuperTypes().add(theEclipseLinkOrmV1_1Package.getXmlMappedSuperclass_1_1());
xmlMappedSuperclassEClass.getESuperTypes().add(theEclipseLinkOrmV2_0Package.getXmlMappedSuperclass_2_0());
xmlMappedSuperclassEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlMappedSuperclass_2_1());
+ xmlMappedSuperclassEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlMappedSuperclass_2_2());
xmlMappedSuperclassEClass.getESuperTypes().add(this.getXmlReadOnly());
xmlMappedSuperclassEClass.getESuperTypes().add(this.getXmlCustomizerHolder());
xmlMappedSuperclassEClass.getESuperTypes().add(this.getXmlChangeTrackingHolder());
@@ -8067,11 +8335,13 @@ public class EclipseLinkOrmPackage extends EPackageImpl
xmlOneToManyEClass.getESuperTypes().add(theOrmPackage.getXmlOneToMany());
xmlOneToManyEClass.getESuperTypes().add(theEclipseLinkOrmV2_0Package.getXmlOneToMany_2_0());
xmlOneToManyEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlOneToMany_2_1());
+ xmlOneToManyEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlOneToMany_2_2());
xmlOneToManyEClass.getESuperTypes().add(this.getXmlAttributeMapping());
xmlOneToManyEClass.getESuperTypes().add(this.getXmlPrivateOwned());
xmlOneToManyEClass.getESuperTypes().add(this.getXmlJoinFetch());
xmlOneToOneEClass.getESuperTypes().add(theOrmPackage.getXmlOneToOne());
xmlOneToOneEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlOneToOne_2_1());
+ xmlOneToOneEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlOneToOne_2_2());
xmlOneToOneEClass.getESuperTypes().add(this.getXmlAttributeMapping());
xmlOneToOneEClass.getESuperTypes().add(this.getXmlPrivateOwned());
xmlOneToOneEClass.getESuperTypes().add(this.getXmlJoinFetch());
@@ -8095,6 +8365,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
xmlVariableOneToOneEClass.getESuperTypes().add(this.getXmlAttributeMapping());
xmlVersionEClass.getESuperTypes().add(theOrmPackage.getXmlVersion());
xmlVersionEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlVersion_2_1());
+ xmlVersionEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlVersion_2_2());
xmlVersionEClass.getESuperTypes().add(this.getXmlAttributeMapping());
xmlVersionEClass.getESuperTypes().add(this.getXmlMutable());
xmlVersionEClass.getESuperTypes().add(this.getXmlConvertibleMapping());
@@ -8107,6 +8378,8 @@ public class EclipseLinkOrmPackage extends EPackageImpl
initEClass(xmlAccessMethodsHolderEClass, XmlAccessMethodsHolder.class, "XmlAccessMethodsHolder", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getXmlAccessMethodsHolder_AccessMethods(), this.getXmlAccessMethods(), null, "accessMethods", null, 0, 1, XmlAccessMethodsHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(xmlAdditionalCriteriaEClass, XmlAdditionalCriteria.class, "XmlAdditionalCriteria", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
initEClass(xmlAttributeMappingEClass, XmlAttributeMapping.class, "XmlAttributeMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(attributesEClass, Attributes.class, "Attributes", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -8209,6 +8482,8 @@ public class EclipseLinkOrmPackage extends EPackageImpl
initEClass(xmlIdEClass, XmlId.class, "XmlId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEClass(xmlIndexEClass, XmlIndex.class, "XmlIndex", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
initEClass(xmlInstantiationCopyPolicyEClass, XmlInstantiationCopyPolicy.class, "XmlInstantiationCopyPolicy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(xmlJoinFetchEClass, XmlJoinFetch.class, "XmlJoinFetch", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -8421,6 +8696,16 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final EReference XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS = eINSTANCE.getXmlAccessMethodsHolder_AccessMethods();
/**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlAdditionalCriteria <em>Xml Additional Criteria</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlAdditionalCriteria
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlAdditionalCriteria()
+ * @generated
+ */
+ public static final EClass XML_ADDITIONAL_CRITERIA = eINSTANCE.getXmlAdditionalCriteria();
+
+ /**
* The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlAttributeMapping <em>Xml Attribute Mapping</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -9063,6 +9348,16 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final EClass XML_ID = eINSTANCE.getXmlId();
/**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlIndex <em>Xml Index</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlIndex
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlIndex()
+ * @generated
+ */
+ public static final EClass XML_INDEX = eINSTANCE.getXmlIndex();
+
+ /**
* The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlInstantiationCopyPolicy <em>Xml Instantiation Copy Policy</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlAdditionalCriteria.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlAdditionalCriteria.java
new file mode 100644
index 0000000000..0cf0c09c89
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlAdditionalCriteria.java
@@ -0,0 +1,221 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.core.resource.xml.AbstractJpaEObject;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Additional Criteria</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlAdditionalCriteria()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlAdditionalCriteria extends AbstractJpaEObject implements XmlAdditionalCriteria_2_2
+{
+ /**
+ * The default value of the '{@link #getCriteria() <em>Criteria</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCriteria()
+ * @generated
+ * @ordered
+ */
+ protected static final String CRITERIA_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCriteria() <em>Criteria</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCriteria()
+ * @generated
+ * @ordered
+ */
+ protected String criteria = CRITERIA_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlAdditionalCriteria()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_ADDITIONAL_CRITERIA;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Criteria</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Criteria</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Criteria</em>' attribute.
+ * @see #setCriteria(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlAdditionalCriteria_2_2_Criteria()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getCriteria()
+ {
+ return criteria;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlAdditionalCriteria#getCriteria <em>Criteria</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Criteria</em>' attribute.
+ * @see #getCriteria()
+ * @generated
+ */
+ public void setCriteria(String newCriteria)
+ {
+ String oldCriteria = criteria;
+ criteria = newCriteria;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ADDITIONAL_CRITERIA__CRITERIA, oldCriteria, criteria));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ADDITIONAL_CRITERIA__CRITERIA:
+ return getCriteria();
+ }
+ 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_ADDITIONAL_CRITERIA__CRITERIA:
+ setCriteria((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_ADDITIONAL_CRITERIA__CRITERIA:
+ setCriteria(CRITERIA_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ADDITIONAL_CRITERIA__CRITERIA:
+ return CRITERIA_EDEFAULT == null ? criteria != null : !CRITERIA_EDEFAULT.equals(criteria);
+ }
+ 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(" (criteria: ");
+ result.append(criteria);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ EclipseLinkOrmV2_2Package.eINSTANCE.getXmlAdditionalCriteria_2_2(),
+ buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildCriteriaTranslator()
+ };
+ }
+
+ protected static Translator buildCriteriaTranslator() {
+ return new Translator(EclipseLink2_2.CRITERIA, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlAdditionalCriteria_2_2_Criteria());
+ }
+
+} // XmlAdditionalCriteria
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasic.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasic.java
index 079d207571..1b477e695a 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasic.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasic.java
@@ -33,6 +33,8 @@ import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.XmlBasic_1_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLink2_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.XmlBasic_2_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
import org.eclipse.wst.common.internal.emf.resource.Translator;
/**
@@ -1405,6 +1407,7 @@ public class XmlBasic extends org.eclipse.jpt.core.resource.orm.XmlBasic impleme
buildMutableTranslator(),
buildAttributeTypeTranslator(),
buildColumnTranslator(),
+ buildIndexTranslator(),
buildGeneratedValueTranslator(),
buildLobTranslator(),
buildTemporalTranslator(),
@@ -1425,6 +1428,10 @@ public class XmlBasic extends org.eclipse.jpt.core.resource.orm.XmlBasic impleme
protected static Translator buildMutableTranslator() {
return new Translator(EclipseLink.MUTABLE, EclipseLinkOrmPackage.eINSTANCE.getXmlMutable_Mutable(), Translator.DOM_ATTRIBUTE);
}
+
+ protected static Translator buildIndexTranslator() {
+ return XmlIndex.buildTranslator(EclipseLink2_2.INDEX, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlBasic_2_2_Index());
+ }
protected static Translator buildGeneratedValueTranslator() {
return XmlGeneratedValue.buildTranslator(EclipseLink1_1.GENERATED_VALUE, EclipseLinkOrmV1_1Package.eINSTANCE.getXmlBasic_1_1_GeneratedValue());
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicCollection.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicCollection.java
index 0e2fbfed93..63c31ce292 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicCollection.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicCollection.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -22,6 +22,8 @@ import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
import org.eclipse.jpt.core.resource.orm.AbstractXmlAttributeMapping;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicCollection_2_2;
import org.eclipse.jpt.eclipselink.core.EclipseLinkMappingKeys;
import org.eclipse.wst.common.internal.emf.resource.Translator;
@@ -42,7 +44,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* @model kind="class"
* @generated
*/
-public class XmlBasicCollection extends AbstractXmlAttributeMapping implements XmlAttributeMapping
+public class XmlBasicCollection extends AbstractXmlAttributeMapping implements XmlAttributeMapping, XmlBasicCollection_2_2
{
/**
* The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference.
@@ -65,6 +67,26 @@ public class XmlBasicCollection extends AbstractXmlAttributeMapping implements X
protected EList<XmlProperty> properties;
/**
+ * The default value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean CASCADE_ON_DELETE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected Boolean cascadeOnDelete = CASCADE_ON_DELETE_EDEFAULT;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -169,6 +191,41 @@ public class XmlBasicCollection extends AbstractXmlAttributeMapping implements X
}
/**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlBasicCollection_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getCascadeOnDelete()
+ {
+ return cascadeOnDelete;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasicCollection#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ public void setCascadeOnDelete(Boolean newCascadeOnDelete)
+ {
+ Boolean oldCascadeOnDelete = cascadeOnDelete;
+ cascadeOnDelete = newCascadeOnDelete;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_COLLECTION__CASCADE_ON_DELETE, oldCascadeOnDelete, cascadeOnDelete));
+ }
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -200,6 +257,8 @@ public class XmlBasicCollection extends AbstractXmlAttributeMapping implements X
return getAccessMethods();
case EclipseLinkOrmPackage.XML_BASIC_COLLECTION__PROPERTIES:
return getProperties();
+ case EclipseLinkOrmPackage.XML_BASIC_COLLECTION__CASCADE_ON_DELETE:
+ return getCascadeOnDelete();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -222,6 +281,9 @@ public class XmlBasicCollection extends AbstractXmlAttributeMapping implements X
getProperties().clear();
getProperties().addAll((Collection<? extends XmlProperty>)newValue);
return;
+ case EclipseLinkOrmPackage.XML_BASIC_COLLECTION__CASCADE_ON_DELETE:
+ setCascadeOnDelete((Boolean)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -242,6 +304,9 @@ public class XmlBasicCollection extends AbstractXmlAttributeMapping implements X
case EclipseLinkOrmPackage.XML_BASIC_COLLECTION__PROPERTIES:
getProperties().clear();
return;
+ case EclipseLinkOrmPackage.XML_BASIC_COLLECTION__CASCADE_ON_DELETE:
+ setCascadeOnDelete(CASCADE_ON_DELETE_EDEFAULT);
+ return;
}
super.eUnset(featureID);
}
@@ -260,6 +325,8 @@ public class XmlBasicCollection extends AbstractXmlAttributeMapping implements X
return accessMethods != null;
case EclipseLinkOrmPackage.XML_BASIC_COLLECTION__PROPERTIES:
return properties != null && !properties.isEmpty();
+ case EclipseLinkOrmPackage.XML_BASIC_COLLECTION__CASCADE_ON_DELETE:
+ return CASCADE_ON_DELETE_EDEFAULT == null ? cascadeOnDelete != null : !CASCADE_ON_DELETE_EDEFAULT.equals(cascadeOnDelete);
}
return super.eIsSet(featureID);
}
@@ -295,6 +362,14 @@ public class XmlBasicCollection extends AbstractXmlAttributeMapping implements X
default: return -1;
}
}
+ if (baseClass == XmlBasicCollection_2_2.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_BASIC_COLLECTION__CASCADE_ON_DELETE: return EclipseLinkOrmV2_2Package.XML_BASIC_COLLECTION_22__CASCADE_ON_DELETE;
+ default: return -1;
+ }
+ }
return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
}
@@ -329,9 +404,34 @@ public class XmlBasicCollection extends AbstractXmlAttributeMapping implements X
default: return -1;
}
}
+ if (baseClass == XmlBasicCollection_2_2.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmV2_2Package.XML_BASIC_COLLECTION_22__CASCADE_ON_DELETE: return EclipseLinkOrmPackage.XML_BASIC_COLLECTION__CASCADE_ON_DELETE;
+ 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(" (cascadeOnDelete: ");
+ result.append(cascadeOnDelete);
+ result.append(')');
+ return result.toString();
+ }
+
public String getMappingKey() {
return EclipseLinkMappingKeys.BASIC_COLLECTION_ATTRIBUTE_MAPPING_KEY;
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicMap.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicMap.java
index 47bd6bf865..9ed66ec6e1 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicMap.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicMap.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -22,6 +22,8 @@ import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
import org.eclipse.jpt.core.resource.orm.AbstractXmlAttributeMapping;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicMap_2_2;
import org.eclipse.jpt.eclipselink.core.EclipseLinkMappingKeys;
import org.eclipse.wst.common.internal.emf.resource.Translator;
@@ -42,7 +44,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* @model kind="class"
* @generated
*/
-public class XmlBasicMap extends AbstractXmlAttributeMapping implements XmlAttributeMapping
+public class XmlBasicMap extends AbstractXmlAttributeMapping implements XmlAttributeMapping, XmlBasicMap_2_2
{
/**
* The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference.
@@ -65,6 +67,26 @@ public class XmlBasicMap extends AbstractXmlAttributeMapping implements XmlAttri
protected EList<XmlProperty> properties;
/**
+ * The default value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean CASCADE_ON_DELETE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected Boolean cascadeOnDelete = CASCADE_ON_DELETE_EDEFAULT;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -169,6 +191,41 @@ public class XmlBasicMap extends AbstractXmlAttributeMapping implements XmlAttri
}
/**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlBasicMap_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getCascadeOnDelete()
+ {
+ return cascadeOnDelete;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasicMap#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ public void setCascadeOnDelete(Boolean newCascadeOnDelete)
+ {
+ Boolean oldCascadeOnDelete = cascadeOnDelete;
+ cascadeOnDelete = newCascadeOnDelete;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_MAP__CASCADE_ON_DELETE, oldCascadeOnDelete, cascadeOnDelete));
+ }
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -200,6 +257,8 @@ public class XmlBasicMap extends AbstractXmlAttributeMapping implements XmlAttri
return getAccessMethods();
case EclipseLinkOrmPackage.XML_BASIC_MAP__PROPERTIES:
return getProperties();
+ case EclipseLinkOrmPackage.XML_BASIC_MAP__CASCADE_ON_DELETE:
+ return getCascadeOnDelete();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -222,6 +281,9 @@ public class XmlBasicMap extends AbstractXmlAttributeMapping implements XmlAttri
getProperties().clear();
getProperties().addAll((Collection<? extends XmlProperty>)newValue);
return;
+ case EclipseLinkOrmPackage.XML_BASIC_MAP__CASCADE_ON_DELETE:
+ setCascadeOnDelete((Boolean)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -242,6 +304,9 @@ public class XmlBasicMap extends AbstractXmlAttributeMapping implements XmlAttri
case EclipseLinkOrmPackage.XML_BASIC_MAP__PROPERTIES:
getProperties().clear();
return;
+ case EclipseLinkOrmPackage.XML_BASIC_MAP__CASCADE_ON_DELETE:
+ setCascadeOnDelete(CASCADE_ON_DELETE_EDEFAULT);
+ return;
}
super.eUnset(featureID);
}
@@ -260,6 +325,8 @@ public class XmlBasicMap extends AbstractXmlAttributeMapping implements XmlAttri
return accessMethods != null;
case EclipseLinkOrmPackage.XML_BASIC_MAP__PROPERTIES:
return properties != null && !properties.isEmpty();
+ case EclipseLinkOrmPackage.XML_BASIC_MAP__CASCADE_ON_DELETE:
+ return CASCADE_ON_DELETE_EDEFAULT == null ? cascadeOnDelete != null : !CASCADE_ON_DELETE_EDEFAULT.equals(cascadeOnDelete);
}
return super.eIsSet(featureID);
}
@@ -295,6 +362,14 @@ public class XmlBasicMap extends AbstractXmlAttributeMapping implements XmlAttri
default: return -1;
}
}
+ if (baseClass == XmlBasicMap_2_2.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_BASIC_MAP__CASCADE_ON_DELETE: return EclipseLinkOrmV2_2Package.XML_BASIC_MAP_22__CASCADE_ON_DELETE;
+ default: return -1;
+ }
+ }
return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
}
@@ -329,9 +404,34 @@ public class XmlBasicMap extends AbstractXmlAttributeMapping implements XmlAttri
default: return -1;
}
}
+ if (baseClass == XmlBasicMap_2_2.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmV2_2Package.XML_BASIC_MAP_22__CASCADE_ON_DELETE: return EclipseLinkOrmPackage.XML_BASIC_MAP__CASCADE_ON_DELETE;
+ 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(" (cascadeOnDelete: ");
+ result.append(cascadeOnDelete);
+ result.append(')');
+ return result.toString();
+ }
+
public String getMappingKey() {
return EclipseLinkMappingKeys.BASIC_MAP_ATTRIBUTE_MAPPING_KEY;
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlElementCollection.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlElementCollection.java
index ba63d6bc79..e66c8b1e74 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlElementCollection.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlElementCollection.java
@@ -22,6 +22,7 @@ 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.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.core.resource.orm.CascadeType;
import org.eclipse.jpt.core.resource.orm.JPA;
import org.eclipse.jpt.core.resource.orm.XmlAssociationOverride;
import org.eclipse.jpt.core.resource.orm.XmlCollectionTable;
@@ -38,6 +39,9 @@ import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlMapKeyAssociationOv
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLink2_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.XmlElementCollection_2_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlElementCollection_2_2;
import org.eclipse.wst.common.internal.emf.resource.Translator;
/**
@@ -59,7 +63,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* @model kind="class"
* @generated
*/
-public class XmlElementCollection extends org.eclipse.jpt.core.resource.orm.XmlElementCollection implements XmlElementCollection_2_0, XmlElementCollection_2_1
+public class XmlElementCollection extends org.eclipse.jpt.core.resource.orm.XmlElementCollection implements XmlElementCollection_2_0, XmlElementCollection_2_1, XmlElementCollection_2_2
{
/**
* The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference.
@@ -258,6 +262,26 @@ public class XmlElementCollection extends org.eclipse.jpt.core.resource.orm.XmlE
protected String attributeType = ATTRIBUTE_TYPE_EDEFAULT;
/**
+ * The default value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean CASCADE_ON_DELETE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected Boolean cascadeOnDelete = CASCADE_ON_DELETE_EDEFAULT;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -920,6 +944,41 @@ public class XmlElementCollection extends org.eclipse.jpt.core.resource.orm.XmlE
}
/**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlElementCollection_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getCascadeOnDelete()
+ {
+ return cascadeOnDelete;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlElementCollection#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ public void setCascadeOnDelete(Boolean newCascadeOnDelete)
+ {
+ Boolean oldCascadeOnDelete = cascadeOnDelete;
+ cascadeOnDelete = newCascadeOnDelete;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ELEMENT_COLLECTION__CASCADE_ON_DELETE, oldCascadeOnDelete, cascadeOnDelete));
+ }
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -999,6 +1058,8 @@ public class XmlElementCollection extends org.eclipse.jpt.core.resource.orm.XmlE
return getBatchFetch();
case EclipseLinkOrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_TYPE:
return getAttributeType();
+ case EclipseLinkOrmPackage.XML_ELEMENT_COLLECTION__CASCADE_ON_DELETE:
+ return getCascadeOnDelete();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -1068,6 +1129,9 @@ public class XmlElementCollection extends org.eclipse.jpt.core.resource.orm.XmlE
case EclipseLinkOrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_TYPE:
setAttributeType((String)newValue);
return;
+ case EclipseLinkOrmPackage.XML_ELEMENT_COLLECTION__CASCADE_ON_DELETE:
+ setCascadeOnDelete((Boolean)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -1130,6 +1194,9 @@ public class XmlElementCollection extends org.eclipse.jpt.core.resource.orm.XmlE
case EclipseLinkOrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_TYPE:
setAttributeType(ATTRIBUTE_TYPE_EDEFAULT);
return;
+ case EclipseLinkOrmPackage.XML_ELEMENT_COLLECTION__CASCADE_ON_DELETE:
+ setCascadeOnDelete(CASCADE_ON_DELETE_EDEFAULT);
+ return;
}
super.eUnset(featureID);
}
@@ -1176,6 +1243,8 @@ public class XmlElementCollection extends org.eclipse.jpt.core.resource.orm.XmlE
return batchFetch != null;
case EclipseLinkOrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_TYPE:
return ATTRIBUTE_TYPE_EDEFAULT == null ? attributeType != null : !ATTRIBUTE_TYPE_EDEFAULT.equals(attributeType);
+ case EclipseLinkOrmPackage.XML_ELEMENT_COLLECTION__CASCADE_ON_DELETE:
+ return CASCADE_ON_DELETE_EDEFAULT == null ? cascadeOnDelete != null : !CASCADE_ON_DELETE_EDEFAULT.equals(cascadeOnDelete);
}
return super.eIsSet(featureID);
}
@@ -1288,6 +1357,14 @@ public class XmlElementCollection extends org.eclipse.jpt.core.resource.orm.XmlE
default: return -1;
}
}
+ if (baseClass == XmlElementCollection_2_2.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ELEMENT_COLLECTION__CASCADE_ON_DELETE: return EclipseLinkOrmV2_2Package.XML_ELEMENT_COLLECTION_22__CASCADE_ON_DELETE;
+ default: return -1;
+ }
+ }
return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
}
@@ -1399,6 +1476,14 @@ public class XmlElementCollection extends org.eclipse.jpt.core.resource.orm.XmlE
default: return -1;
}
}
+ if (baseClass == XmlElementCollection_2_2.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmV2_2Package.XML_ELEMENT_COLLECTION_22__CASCADE_ON_DELETE: return EclipseLinkOrmPackage.XML_ELEMENT_COLLECTION__CASCADE_ON_DELETE;
+ default: return -1;
+ }
+ }
return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
}
@@ -1421,6 +1506,8 @@ public class XmlElementCollection extends org.eclipse.jpt.core.resource.orm.XmlE
result.append(joinFetch);
result.append(", attributeType: ");
result.append(attributeType);
+ result.append(", cascadeOnDelete: ");
+ result.append(cascadeOnDelete);
result.append(')');
return result.toString();
}
@@ -1492,6 +1579,7 @@ public class XmlElementCollection extends org.eclipse.jpt.core.resource.orm.XmlE
XmlConverter.buildTranslator(EclipseLink.OBJECT_TYPE_CONVERTER, EclipseLinkOrmPackage.eINSTANCE.getXmlConverterHolder_ObjectTypeConverter()),
XmlConverter.buildTranslator(EclipseLink.STRUCT_CONVERTER, EclipseLinkOrmPackage.eINSTANCE.getXmlConverterHolder_StructConverter()),
XmlCollectionTable.buildTranslator(JPA2_0.COLLECTION_TABLE, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_CollectionTable()),
+ buildCascadeOnDeleteTranslator(),
buildJoinFetchTranslator(),
buildBatchFetchTranslator(),
buildPropertyTranslator(),
@@ -1531,4 +1619,8 @@ public class XmlElementCollection extends org.eclipse.jpt.core.resource.orm.XmlE
return XmlBatchFetch.buildTranslator(EclipseLink2_1.BATCH_FETCH, EclipseLinkOrmPackage.eINSTANCE.getXmlBatchFetchHolder_BatchFetch());
}
+ protected static Translator buildCascadeOnDeleteTranslator() {
+ return CascadeType.buildTranslator(EclipseLink2_2.CASCADE_ON_DELETE, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlElementCollection_2_2_CascadeOnDelete());
+ }
+
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEmbeddable.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEmbeddable.java
index 7e356ceaa9..e9bca10444 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEmbeddable.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEmbeddable.java
@@ -20,9 +20,18 @@ 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.orm.JPA;
+import org.eclipse.jpt.core.resource.orm.OrmPackage;
+import org.eclipse.jpt.core.resource.orm.XmlAssociationOverride;
+import org.eclipse.jpt.core.resource.orm.XmlAssociationOverrideContainer;
+import org.eclipse.jpt.core.resource.orm.XmlAttributeOverride;
+import org.eclipse.jpt.core.resource.orm.XmlAttributeOverrideContainer;
import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
import org.eclipse.jpt.core.resource.orm.XmlClassReference;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.XmlEmbeddable_2_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2;
import org.eclipse.wst.common.internal.emf.resource.Translator;
/**
@@ -55,7 +64,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* @model kind="class"
* @generated
*/
-public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddable implements XmlEmbeddable_2_1, XmlCustomizerHolder, XmlChangeTrackingHolder, XmlConvertersHolder, XmlPropertyContainer
+public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddable implements XmlEmbeddable_2_1, XmlEmbeddable_2_2, XmlCustomizerHolder, XmlChangeTrackingHolder, XmlConvertersHolder, XmlPropertyContainer
{
/**
* The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference.
@@ -68,6 +77,46 @@ public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddab
protected XmlAccessMethods accessMethods;
/**
+ * The cached value of the '{@link #getAttributeOverrides() <em>Attribute Overrides</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributeOverrides()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlAttributeOverride> attributeOverrides;
+
+ /**
+ * The cached value of the '{@link #getAssociationOverrides() <em>Association Overrides</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAssociationOverrides()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlAssociationOverride> associationOverrides;
+
+ /**
+ * The default value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParentClass()
+ * @generated
+ * @ordered
+ */
+ protected static final String PARENT_CLASS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParentClass()
+ * @generated
+ * @ordered
+ */
+ protected String parentClass = PARENT_CLASS_EDEFAULT;
+
+ /**
* The cached value of the '{@link #getCustomizer() <em>Customizer</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -269,6 +318,87 @@ public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddab
}
/**
+ * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.core.resource.orm.XmlAttributeOverride}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Attribute Overrides</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Attribute Overrides</em>' containment reference list.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlAttributeOverrideContainer_AttributeOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAttributeOverride> getAttributeOverrides()
+ {
+ if (attributeOverrides == null)
+ {
+ attributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, EclipseLinkOrmPackage.XML_EMBEDDABLE__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.core.resource.orm.XmlAssociationOverride}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Association Overrides</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Association Overrides</em>' containment reference list.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlAssociationOverrideContainer_AssociationOverrides()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlAssociationOverride> getAssociationOverrides()
+ {
+ if (associationOverrides == null)
+ {
+ associationOverrides = new EObjectContainmentEList<XmlAssociationOverride>(XmlAssociationOverride.class, this, EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES);
+ }
+ return associationOverrides;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Parent Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parent 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>Parent Class</em>' attribute.
+ * @see #setParentClass(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddable_2_2_ParentClass()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getParentClass()
+ {
+ return parentClass;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlEmbeddable#getParentClass <em>Parent Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parent Class</em>' attribute.
+ * @see #getParentClass()
+ * @generated
+ */
+ public void setParentClass(String newParentClass)
+ {
+ String oldParentClass = parentClass;
+ parentClass = newParentClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS, oldParentClass, parentClass));
+ }
+
+ /**
* Returns the value of the '<em><b>Customizer</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
@@ -730,6 +860,10 @@ public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddab
{
case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS:
return basicSetAccessMethods(null, msgs);
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES:
+ return ((InternalEList<?>)getAttributeOverrides()).basicRemove(otherEnd, msgs);
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES:
+ return ((InternalEList<?>)getAssociationOverrides()).basicRemove(otherEnd, msgs);
case EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER:
return basicSetCustomizer(null, msgs);
case EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING:
@@ -766,6 +900,12 @@ public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddab
{
case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS:
return getAccessMethods();
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES:
+ return getAttributeOverrides();
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES:
+ return getAssociationOverrides();
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS:
+ return getParentClass();
case EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER:
return getCustomizer();
case EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING:
@@ -806,6 +946,17 @@ public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddab
case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS:
setAccessMethods((XmlAccessMethods)newValue);
return;
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ getAttributeOverrides().addAll((Collection<? extends XmlAttributeOverride>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES:
+ getAssociationOverrides().clear();
+ getAssociationOverrides().addAll((Collection<? extends XmlAssociationOverride>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS:
+ setParentClass((String)newValue);
+ return;
case EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER:
setCustomizer((XmlClassReference)newValue);
return;
@@ -861,6 +1012,15 @@ public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddab
case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS:
setAccessMethods((XmlAccessMethods)null);
return;
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES:
+ getAssociationOverrides().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS:
+ setParentClass(PARENT_CLASS_EDEFAULT);
+ return;
case EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER:
setCustomizer((XmlClassReference)null);
return;
@@ -910,6 +1070,12 @@ public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddab
{
case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS:
return accessMethods != null;
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES:
+ return attributeOverrides != null && !attributeOverrides.isEmpty();
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES:
+ return associationOverrides != null && !associationOverrides.isEmpty();
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS:
+ return PARENT_CLASS_EDEFAULT == null ? parentClass != null : !PARENT_CLASS_EDEFAULT.equals(parentClass);
case EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER:
return customizer != null;
case EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING:
@@ -959,6 +1125,30 @@ public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddab
default: return -1;
}
}
+ if (baseClass == XmlAttributeOverrideContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAssociationOverrideContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES: return OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlEmbeddable_2_2.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: return EclipseLinkOrmV2_2Package.XML_EMBEDDABLE_22__PARENT_CLASS;
+ default: return -1;
+ }
+ }
if (baseClass == XmlCustomizerHolder.class)
{
switch (derivedFeatureID)
@@ -1020,6 +1210,30 @@ public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddab
default: return -1;
}
}
+ if (baseClass == XmlAttributeOverrideContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES: return EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlAssociationOverrideContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES: return EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlEmbeddable_2_2.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmV2_2Package.XML_EMBEDDABLE_22__PARENT_CLASS: return EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS;
+ default: return -1;
+ }
+ }
if (baseClass == XmlCustomizerHolder.class)
{
switch (baseFeatureID)
@@ -1069,7 +1283,9 @@ public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddab
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
- result.append(" (excludeDefaultMappings: ");
+ result.append(" (parentClass: ");
+ result.append(parentClass);
+ result.append(", excludeDefaultMappings: ");
result.append(excludeDefaultMappings);
result.append(')');
return result.toString();
@@ -1088,6 +1304,7 @@ public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddab
private static Translator[] buildTranslatorChildren() {
return new Translator[] {
buildClassTranslator(),
+ buildParentClassTranslator(),
buildAccessTranslator(),
buildMetadataCompleteTranslator(),
buildExcludeDefaultMappingsTranslator(),
@@ -1103,6 +1320,8 @@ public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddab
buildInstantiationCoypPolicyTranslator(),
buildCloneCopyPolicyTranslator(),
buildPropertyTranslator(),
+ buildAttributeOverrideTranslator(),
+ buildAssociationOverrideTranslator(),
Attributes.buildTranslator()};
}
@@ -1154,4 +1373,15 @@ public class XmlEmbeddable extends org.eclipse.jpt.core.resource.orm.XmlEmbeddab
return XmlAccessMethods.buildTranslator(EclipseLink.ACCESS_METHODS, EclipseLinkOrmPackage.eINSTANCE.getXmlAccessMethodsHolder_AccessMethods());
}
+ protected static Translator buildParentClassTranslator() {
+ return new Translator(EclipseLink2_2.PARENT_CLASS, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlEmbeddable_2_2_ParentClass(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildAttributeOverrideTranslator() {
+ return XmlAttributeOverride.buildTranslator(JPA.ATTRIBUTE_OVERRIDE, OrmPackage.eINSTANCE.getXmlAttributeOverrideContainer_AttributeOverrides());
+ }
+
+ protected static Translator buildAssociationOverrideTranslator() {
+ return XmlAssociationOverride.buildTranslator(JPA.ASSOCIATION_OVERRIDE, OrmPackage.eINSTANCE.getXmlAssociationOverrideContainer_AssociationOverrides());
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntity.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntity.java
index 798b039446..5a3076d7c5 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntity.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntity.java
@@ -22,6 +22,7 @@ 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.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.core.resource.orm.CascadeType;
import org.eclipse.jpt.core.resource.orm.XmlClassReference;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.EclipseLink1_1;
@@ -34,6 +35,11 @@ import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLink2_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.XmlEntity_2_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.XmlFetchGroupContainer_2_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2;
import org.eclipse.wst.common.internal.emf.resource.Translator;
/**
@@ -67,7 +73,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* @model kind="class"
* @generated
*/
-public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity implements XmlEntity_1_1, XmlEntity_2_0, XmlEntity_2_1, XmlReadOnly, XmlCustomizerHolder, XmlChangeTrackingHolder, XmlCacheHolder, XmlConvertersHolder, XmlQueryContainer, XmlPropertyContainer
+public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity implements XmlEntity_1_1, XmlEntity_2_0, XmlEntity_2_1, XmlEntity_2_2, XmlReadOnly, XmlCustomizerHolder, XmlChangeTrackingHolder, XmlCacheHolder, XmlConvertersHolder, XmlQueryContainer, XmlPropertyContainer
{
/**
* The cached value of the '{@link #getPrimaryKey() <em>Primary Key</em>}' containment reference.
@@ -150,6 +156,46 @@ public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity imple
protected String parentClass = PARENT_CLASS_EDEFAULT;
/**
+ * The cached value of the '{@link #getAdditionalCriteria() <em>Additional Criteria</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdditionalCriteria()
+ * @generated
+ * @ordered
+ */
+ protected XmlAdditionalCriteria_2_2 additionalCriteria;
+
+ /**
+ * The default value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean CASCADE_ON_DELETE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected Boolean cascadeOnDelete = CASCADE_ON_DELETE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getIndex() <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIndex()
+ * @generated
+ * @ordered
+ */
+ protected XmlIndex_2_2 index;
+
+ /**
* The default value of the '{@link #getReadOnly() <em>Read Only</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1347,6 +1393,161 @@ public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity imple
}
/**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEntity_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getCascadeOnDelete()
+ {
+ return cascadeOnDelete;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlEntity#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ public void setCascadeOnDelete(Boolean newCascadeOnDelete)
+ {
+ Boolean oldCascadeOnDelete = cascadeOnDelete;
+ cascadeOnDelete = newCascadeOnDelete;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ENTITY__CASCADE_ON_DELETE, oldCascadeOnDelete, cascadeOnDelete));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Index</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>Index</em>' containment reference.
+ * @see #setIndex(XmlIndex_2_2)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEntity_2_2_Index()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlIndex_2_2 getIndex()
+ {
+ return index;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIndex(XmlIndex_2_2 newIndex, NotificationChain msgs)
+ {
+ XmlIndex_2_2 oldIndex = index;
+ index = newIndex;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ENTITY__INDEX, oldIndex, newIndex);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlEntity#getIndex <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Index</em>' containment reference.
+ * @see #getIndex()
+ * @generated
+ */
+ public void setIndex(XmlIndex_2_2 newIndex)
+ {
+ if (newIndex != index)
+ {
+ NotificationChain msgs = null;
+ if (index != null)
+ msgs = ((InternalEObject)index).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__INDEX, null, msgs);
+ if (newIndex != null)
+ msgs = ((InternalEObject)newIndex).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__INDEX, null, msgs);
+ msgs = basicSetIndex(newIndex, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ENTITY__INDEX, newIndex, newIndex));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Additional Criteria</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Additional Criteria</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>Additional Criteria</em>' containment reference.
+ * @see #setAdditionalCriteria(XmlAdditionalCriteria_2_2)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEntity_2_2_AdditionalCriteria()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlAdditionalCriteria_2_2 getAdditionalCriteria()
+ {
+ return additionalCriteria;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAdditionalCriteria(XmlAdditionalCriteria_2_2 newAdditionalCriteria, NotificationChain msgs)
+ {
+ XmlAdditionalCriteria_2_2 oldAdditionalCriteria = additionalCriteria;
+ additionalCriteria = newAdditionalCriteria;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ENTITY__ADDITIONAL_CRITERIA, oldAdditionalCriteria, newAdditionalCriteria);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlEntity#getAdditionalCriteria <em>Additional Criteria</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Additional Criteria</em>' containment reference.
+ * @see #getAdditionalCriteria()
+ * @generated
+ */
+ public void setAdditionalCriteria(XmlAdditionalCriteria_2_2 newAdditionalCriteria)
+ {
+ if (newAdditionalCriteria != additionalCriteria)
+ {
+ NotificationChain msgs = null;
+ if (additionalCriteria != null)
+ msgs = ((InternalEObject)additionalCriteria).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__ADDITIONAL_CRITERIA, null, msgs);
+ if (newAdditionalCriteria != null)
+ msgs = ((InternalEObject)newAdditionalCriteria).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ENTITY__ADDITIONAL_CRITERIA, null, msgs);
+ msgs = basicSetAdditionalCriteria(newAdditionalCriteria, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ENTITY__ADDITIONAL_CRITERIA, newAdditionalCriteria, newAdditionalCriteria));
+ }
+
+ /**
* Returns the value of the '<em><b>Exclude Default Mappings</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
@@ -1403,6 +1604,10 @@ public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity imple
return ((InternalEList<?>)getFetchGroups()).basicRemove(otherEnd, msgs);
case EclipseLinkOrmPackage.XML_ENTITY__CLASS_EXTRACTOR:
return basicSetClassExtractor(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__ADDITIONAL_CRITERIA:
+ return basicSetAdditionalCriteria(null, msgs);
+ case EclipseLinkOrmPackage.XML_ENTITY__INDEX:
+ return basicSetIndex(null, msgs);
case EclipseLinkOrmPackage.XML_ENTITY__CUSTOMIZER:
return basicSetCustomizer(null, msgs);
case EclipseLinkOrmPackage.XML_ENTITY__CHANGE_TRACKING:
@@ -1457,6 +1662,12 @@ public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity imple
return getClassExtractor();
case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS:
return getParentClass();
+ case EclipseLinkOrmPackage.XML_ENTITY__ADDITIONAL_CRITERIA:
+ return getAdditionalCriteria();
+ case EclipseLinkOrmPackage.XML_ENTITY__CASCADE_ON_DELETE:
+ return getCascadeOnDelete();
+ case EclipseLinkOrmPackage.XML_ENTITY__INDEX:
+ return getIndex();
case EclipseLinkOrmPackage.XML_ENTITY__READ_ONLY:
return getReadOnly();
case EclipseLinkOrmPackage.XML_ENTITY__CUSTOMIZER:
@@ -1526,6 +1737,15 @@ public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity imple
case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS:
setParentClass((String)newValue);
return;
+ case EclipseLinkOrmPackage.XML_ENTITY__ADDITIONAL_CRITERIA:
+ setAdditionalCriteria((XmlAdditionalCriteria_2_2)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__CASCADE_ON_DELETE:
+ setCascadeOnDelete((Boolean)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__INDEX:
+ setIndex((XmlIndex_2_2)newValue);
+ return;
case EclipseLinkOrmPackage.XML_ENTITY__READ_ONLY:
setReadOnly((Boolean)newValue);
return;
@@ -1615,6 +1835,15 @@ public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity imple
case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS:
setParentClass(PARENT_CLASS_EDEFAULT);
return;
+ case EclipseLinkOrmPackage.XML_ENTITY__ADDITIONAL_CRITERIA:
+ setAdditionalCriteria((XmlAdditionalCriteria_2_2)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__CASCADE_ON_DELETE:
+ setCascadeOnDelete(CASCADE_ON_DELETE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ENTITY__INDEX:
+ setIndex((XmlIndex_2_2)null);
+ return;
case EclipseLinkOrmPackage.XML_ENTITY__READ_ONLY:
setReadOnly(READ_ONLY_EDEFAULT);
return;
@@ -1691,6 +1920,12 @@ public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity imple
return classExtractor != null;
case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS:
return PARENT_CLASS_EDEFAULT == null ? parentClass != null : !PARENT_CLASS_EDEFAULT.equals(parentClass);
+ case EclipseLinkOrmPackage.XML_ENTITY__ADDITIONAL_CRITERIA:
+ return additionalCriteria != null;
+ case EclipseLinkOrmPackage.XML_ENTITY__CASCADE_ON_DELETE:
+ return CASCADE_ON_DELETE_EDEFAULT == null ? cascadeOnDelete != null : !CASCADE_ON_DELETE_EDEFAULT.equals(cascadeOnDelete);
+ case EclipseLinkOrmPackage.XML_ENTITY__INDEX:
+ return index != null;
case EclipseLinkOrmPackage.XML_ENTITY__READ_ONLY:
return READ_ONLY_EDEFAULT == null ? readOnly != null : !READ_ONLY_EDEFAULT.equals(readOnly);
case EclipseLinkOrmPackage.XML_ENTITY__CUSTOMIZER:
@@ -1777,6 +2012,16 @@ public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity imple
default: return -1;
}
}
+ if (baseClass == XmlEntity_2_2.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ENTITY__ADDITIONAL_CRITERIA: return EclipseLinkOrmV2_2Package.XML_ENTITY_22__ADDITIONAL_CRITERIA;
+ case EclipseLinkOrmPackage.XML_ENTITY__CASCADE_ON_DELETE: return EclipseLinkOrmV2_2Package.XML_ENTITY_22__CASCADE_ON_DELETE;
+ case EclipseLinkOrmPackage.XML_ENTITY__INDEX: return EclipseLinkOrmV2_2Package.XML_ENTITY_22__INDEX;
+ default: return -1;
+ }
+ }
if (baseClass == XmlReadOnly.class)
{
switch (derivedFeatureID)
@@ -1890,6 +2135,16 @@ public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity imple
default: return -1;
}
}
+ if (baseClass == XmlEntity_2_2.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmV2_2Package.XML_ENTITY_22__ADDITIONAL_CRITERIA: return EclipseLinkOrmPackage.XML_ENTITY__ADDITIONAL_CRITERIA;
+ case EclipseLinkOrmV2_2Package.XML_ENTITY_22__CASCADE_ON_DELETE: return EclipseLinkOrmPackage.XML_ENTITY__CASCADE_ON_DELETE;
+ case EclipseLinkOrmV2_2Package.XML_ENTITY_22__INDEX: return EclipseLinkOrmPackage.XML_ENTITY__INDEX;
+ default: return -1;
+ }
+ }
if (baseClass == XmlReadOnly.class)
{
switch (baseFeatureID)
@@ -1966,6 +2221,8 @@ public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity imple
StringBuffer result = new StringBuffer(super.toString());
result.append(" (parentClass: ");
result.append(parentClass);
+ result.append(", cascadeOnDelete: ");
+ result.append(cascadeOnDelete);
result.append(", readOnly: ");
result.append(readOnly);
result.append(", existenceChecking: ");
@@ -2003,11 +2260,14 @@ public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity imple
buildExcludeDefaultMappingsTranslator(),
buildDescriptionTranslator(),
buildAccessMethodsTranslator(),
+ buildAdditionalCriteriaTranslator(),
buildCustomizerTranslator(),
buildChangeTrackingTranslator(),
buildTableTranslator(),
buildSecondaryTableTranslator(),
buildPrimaryKeyJoinColumnTranslator(),
+ buildCascadeOnDeleteTranslator(),
+ buildIndexTranslator(),
buildIdClassTranslator(),
buildPrimaryKeyTranslator(),
buildInheritanceTranslator(),
@@ -2140,4 +2400,16 @@ public class XmlEntity extends org.eclipse.jpt.core.resource.orm.XmlEntity imple
return new Translator(EclipseLink2_1.PARENT_CLASS, EclipseLinkOrmV2_1Package.eINSTANCE.getXmlEntity_2_1_ParentClass(), Translator.DOM_ATTRIBUTE);
}
+ protected static Translator buildAdditionalCriteriaTranslator() {
+ return XmlAdditionalCriteria.buildTranslator(EclipseLink2_2.ADDITIONAL_CRITERIA, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlEntity_2_2_AdditionalCriteria());
+ }
+
+ protected static Translator buildCascadeOnDeleteTranslator() {
+ return CascadeType.buildTranslator(EclipseLink2_2.CASCADE_ON_DELETE, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlEntity_2_2_CascadeOnDelete());
+ }
+
+ protected static Translator buildIndexTranslator() {
+ return XmlIndex.buildTranslator(EclipseLink2_2.INDEX, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlEntity_2_2_Index());
+ }
+
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntityMappings.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntityMappings.java
index 3faa58a689..1537a0300e 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntityMappings.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntityMappings.java
@@ -31,6 +31,7 @@ import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.EclipseLink1_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v1_2.EclipseLink1_2;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLink2_0;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLink2_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
import org.eclipse.wst.common.internal.emf.resource.Translator;
/**
@@ -457,6 +458,7 @@ public class XmlEntityMappings extends org.eclipse.jpt.core.resource.orm.XmlEnti
map.put(EclipseLink1_2.SCHEMA_VERSION, EclipseLink1_2.SCHEMA_LOCATION);
map.put(EclipseLink2_0.SCHEMA_VERSION, EclipseLink2_0.SCHEMA_LOCATION);
map.put(EclipseLink2_1.SCHEMA_VERSION, EclipseLink2_1.SCHEMA_LOCATION);
+ map.put(EclipseLink2_2.SCHEMA_VERSION, EclipseLink2_2.SCHEMA_LOCATION);
return map;
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlId.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlId.java
index 391d99b285..99b7feed72 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlId.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlId.java
@@ -23,7 +23,13 @@ import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLink2_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.XmlId_2_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlId_2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2;
import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.core.resource.orm.JPA;
+import org.eclipse.jpt.core.resource.orm.OrmPackage;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.wst.common.internal.emf.resource.Translator;
@@ -48,7 +54,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* @model kind="class"
* @generated
*/
-public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements XmlId_2_1, XmlAttributeMapping, XmlMutable, XmlConvertibleMapping
+public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements XmlId_2_1, XmlId_2_2, XmlAttributeMapping, XmlMutable, XmlConvertibleMapping
{
/**
* The default value of the '{@link #getAttributeType() <em>Attribute Type</em>}' attribute.
@@ -71,6 +77,16 @@ public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements Xm
protected String attributeType = ATTRIBUTE_TYPE_EDEFAULT;
/**
+ * The cached value of the '{@link #getIndex() <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIndex()
+ * @generated
+ * @ordered
+ */
+ protected XmlIndex_2_2 index;
+
+ /**
* The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -227,6 +243,66 @@ public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements Xm
}
/**
+ * Returns the value of the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Index</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>Index</em>' containment reference.
+ * @see #setIndex(XmlIndex_2_2)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlId_2_2_Index()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlIndex_2_2 getIndex()
+ {
+ return index;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIndex(XmlIndex_2_2 newIndex, NotificationChain msgs)
+ {
+ XmlIndex_2_2 oldIndex = index;
+ index = newIndex;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID__INDEX, oldIndex, newIndex);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlId#getIndex <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Index</em>' containment reference.
+ * @see #getIndex()
+ * @generated
+ */
+ public void setIndex(XmlIndex_2_2 newIndex)
+ {
+ if (newIndex != index)
+ {
+ NotificationChain msgs = null;
+ if (index != null)
+ msgs = ((InternalEObject)index).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID__INDEX, null, msgs);
+ if (newIndex != null)
+ msgs = ((InternalEObject)newIndex).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID__INDEX, null, msgs);
+ msgs = basicSetIndex(newIndex, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID__INDEX, newIndex, newIndex));
+ }
+
+ /**
* Returns the value of the '<em><b>Mutable</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
@@ -629,6 +705,8 @@ public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements Xm
{
switch (featureID)
{
+ case EclipseLinkOrmPackage.XML_ID__INDEX:
+ return basicSetIndex(null, msgs);
case EclipseLinkOrmPackage.XML_ID__ACCESS_METHODS:
return basicSetAccessMethods(null, msgs);
case EclipseLinkOrmPackage.XML_ID__PROPERTIES:
@@ -657,6 +735,8 @@ public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements Xm
{
case EclipseLinkOrmPackage.XML_ID__ATTRIBUTE_TYPE:
return getAttributeType();
+ case EclipseLinkOrmPackage.XML_ID__INDEX:
+ return getIndex();
case EclipseLinkOrmPackage.XML_ID__ACCESS_METHODS:
return getAccessMethods();
case EclipseLinkOrmPackage.XML_ID__PROPERTIES:
@@ -691,6 +771,9 @@ public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements Xm
case EclipseLinkOrmPackage.XML_ID__ATTRIBUTE_TYPE:
setAttributeType((String)newValue);
return;
+ case EclipseLinkOrmPackage.XML_ID__INDEX:
+ setIndex((XmlIndex_2_2)newValue);
+ return;
case EclipseLinkOrmPackage.XML_ID__ACCESS_METHODS:
setAccessMethods((XmlAccessMethods)newValue);
return;
@@ -733,6 +816,9 @@ public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements Xm
case EclipseLinkOrmPackage.XML_ID__ATTRIBUTE_TYPE:
setAttributeType(ATTRIBUTE_TYPE_EDEFAULT);
return;
+ case EclipseLinkOrmPackage.XML_ID__INDEX:
+ setIndex((XmlIndex_2_2)null);
+ return;
case EclipseLinkOrmPackage.XML_ID__ACCESS_METHODS:
setAccessMethods((XmlAccessMethods)null);
return;
@@ -773,6 +859,8 @@ public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements Xm
{
case EclipseLinkOrmPackage.XML_ID__ATTRIBUTE_TYPE:
return ATTRIBUTE_TYPE_EDEFAULT == null ? attributeType != null : !ATTRIBUTE_TYPE_EDEFAULT.equals(attributeType);
+ case EclipseLinkOrmPackage.XML_ID__INDEX:
+ return index != null;
case EclipseLinkOrmPackage.XML_ID__ACCESS_METHODS:
return accessMethods != null;
case EclipseLinkOrmPackage.XML_ID__PROPERTIES:
@@ -809,6 +897,14 @@ public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements Xm
default: return -1;
}
}
+ if (baseClass == XmlId_2_2.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ID__INDEX: return EclipseLinkOrmV2_2Package.XML_ID_22__INDEX;
+ default: return -1;
+ }
+ }
if (baseClass == XmlAccessMethodsHolder.class)
{
switch (derivedFeatureID)
@@ -878,6 +974,14 @@ public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements Xm
default: return -1;
}
}
+ if (baseClass == XmlId_2_2.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmV2_2Package.XML_ID_22__INDEX: return EclipseLinkOrmPackage.XML_ID__INDEX;
+ default: return -1;
+ }
+ }
if (baseClass == XmlAccessMethodsHolder.class)
{
switch (baseFeatureID)
@@ -978,8 +1082,10 @@ public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements Xm
buildMutableTranslator(),
buildAttributeTypeTranslator(),
buildColumnTranslator(),
+ buildIndexTranslator(),
buildGeneratedValueTranslator(),
buildTemporalTranslator(),
+ buildEnumeratedTranslator(),
buildConvertTranslator(),
buildConverterTranslator(),
buildTypeConverterTranslator(),
@@ -996,6 +1102,10 @@ public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements Xm
return new Translator(EclipseLink.MUTABLE, EclipseLinkOrmPackage.eINSTANCE.getXmlMutable_Mutable(), Translator.DOM_ATTRIBUTE);
}
+ protected static Translator buildIndexTranslator() {
+ return XmlIndex.buildTranslator(EclipseLink2_2.INDEX, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlId_2_2_Index());
+ }
+
protected static Translator buildConvertTranslator() {
return new Translator(EclipseLink.CONVERT, EclipseLinkOrmPackage.eINSTANCE.getXmlConvertibleMapping_Convert());
}
@@ -1027,5 +1137,8 @@ public class XmlId extends org.eclipse.jpt.core.resource.orm.XmlId implements Xm
protected static Translator buildAttributeTypeTranslator() {
return new Translator(EclipseLink2_1.ATTRIBUTE_TYPE, EclipseLinkOrmV2_1Package.eINSTANCE.getXmlId_2_1_AttributeType(), Translator.DOM_ATTRIBUTE);
}
-
+
+ protected static Translator buildEnumeratedTranslator() {
+ return new Translator(JPA.ENUMERATED, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Enumerated());
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlIndex.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlIndex.java
new file mode 100644
index 0000000000..e635676f30
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlIndex.java
@@ -0,0 +1,563 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.jpt.core.internal.utility.translators.BooleanTranslator;
+import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.core.resource.xml.AbstractJpaEObject;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Index</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlIndex()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlIndex extends AbstractJpaEObject implements XmlIndex_2_2
+{
+ /**
+ * 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 #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 #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 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 XmlIndex()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_INDEX;
+ }
+
+ /**
+ * 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.orm.EclipseLinkOrmPackage#getXmlIndex_2_2_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.orm.XmlIndex#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_INDEX__NAME, oldName, name));
+ }
+
+ /**
+ * 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.orm.EclipseLinkOrmPackage#getXmlIndex_2_2_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.orm.XmlIndex#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_INDEX__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.orm.EclipseLinkOrmPackage#getXmlIndex_2_2_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.orm.XmlIndex#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_INDEX__CATALOG, oldCatalog, catalog));
+ }
+
+ /**
+ * 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.orm.EclipseLinkOrmPackage#getXmlIndex_2_2_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.orm.XmlIndex#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_INDEX__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.orm.EclipseLinkOrmPackage#getXmlIndex_2_2_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.orm.XmlIndex#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.XML_INDEX__UNIQUE, oldUnique, unique));
+ }
+
+ /**
+ * 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.orm.EclipseLinkOrmPackage#getXmlIndex_2_2_ColumnNames()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public EList<String> getColumnNames()
+ {
+ if (columnNames == null)
+ {
+ columnNames = new EDataTypeEList<String>(String.class, this, EclipseLinkOrmPackage.XML_INDEX__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_INDEX__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.XML_INDEX__SCHEMA:
+ return getSchema();
+ case EclipseLinkOrmPackage.XML_INDEX__CATALOG:
+ return getCatalog();
+ case EclipseLinkOrmPackage.XML_INDEX__TABLE:
+ return getTable();
+ case EclipseLinkOrmPackage.XML_INDEX__UNIQUE:
+ return getUnique();
+ case EclipseLinkOrmPackage.XML_INDEX__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_INDEX__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_INDEX__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_INDEX__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_INDEX__TABLE:
+ setTable((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_INDEX__UNIQUE:
+ setUnique((Boolean)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_INDEX__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_INDEX__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_INDEX__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_INDEX__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_INDEX__TABLE:
+ setTable(TABLE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_INDEX__UNIQUE:
+ setUnique(UNIQUE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_INDEX__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_INDEX__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.XML_INDEX__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case EclipseLinkOrmPackage.XML_INDEX__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case EclipseLinkOrmPackage.XML_INDEX__TABLE:
+ return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table);
+ case EclipseLinkOrmPackage.XML_INDEX__UNIQUE:
+ return UNIQUE_EDEFAULT == null ? unique != null : !UNIQUE_EDEFAULT.equals(unique);
+ case EclipseLinkOrmPackage.XML_INDEX__COLUMN_NAMES:
+ return columnNames != null && !columnNames.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", schema: ");
+ result.append(schema);
+ result.append(", catalog: ");
+ result.append(catalog);
+ result.append(", table: ");
+ result.append(table);
+ result.append(", unique: ");
+ result.append(unique);
+ result.append(", columnNames: ");
+ result.append(columnNames);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+ return new SimpleTranslator(
+ elementName,
+ structuralFeature,
+ EclipseLinkOrmV2_2Package.eINSTANCE.getXmlIndex_2_2(),
+ buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildColumnNameTranslator(),
+ buildNameTranslator(),
+ buildCatalogTranslator(),
+ buildSchemaTranslator(),
+ buildTableTranslator(),
+ buildUniqueTranslator()
+ };
+ }
+
+ protected static Translator buildColumnNameTranslator() {
+ return new Translator(EclipseLink2_2.INDEX__COLUMN_NAME, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlIndex_2_2_ColumnNames());
+ }
+ protected static Translator buildNameTranslator() {
+ return new Translator(EclipseLink2_2.INDEX__NAME, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlIndex_2_2_Name(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildCatalogTranslator() {
+ return new Translator(EclipseLink2_2.INDEX__CATALOG, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlIndex_2_2_Catalog(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildSchemaTranslator() {
+ return new Translator(EclipseLink2_2.INDEX__SCHEMA, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlIndex_2_2_Schema(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildTableTranslator() {
+ return new Translator(EclipseLink2_2.INDEX__TABLE, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlIndex_2_2_Table(), Translator.DOM_ATTRIBUTE);
+ }
+
+ protected static Translator buildUniqueTranslator() {
+ return new BooleanTranslator(EclipseLink2_2.INDEX__UNIQUE, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlIndex_2_2_Unique(), Translator.DOM_ATTRIBUTE);
+ }
+} // XmlIndex
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlManyToMany.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlManyToMany.java
index f52828153c..8907944703 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlManyToMany.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlManyToMany.java
@@ -21,6 +21,7 @@ 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.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.core.resource.orm.CascadeType;
import org.eclipse.jpt.core.resource.orm.XmlAssociationOverride;
import org.eclipse.jpt.core.resource.orm.XmlAttributeOverride;
import org.eclipse.jpt.core.resource.orm.v2_0.JPA2_0;
@@ -34,6 +35,9 @@ import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlMapKeyAssociationOv
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLink2_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.XmlManyToMany_2_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlManyToMany_2_2;
import org.eclipse.wst.common.internal.emf.resource.Translator;
/**
@@ -57,7 +61,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* @model kind="class"
* @generated
*/
-public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMany implements XmlManyToMany_2_0, XmlManyToMany_2_1, XmlAttributeMapping, XmlJoinFetch
+public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMany implements XmlManyToMany_2_0, XmlManyToMany_2_1, XmlManyToMany_2_2, XmlAttributeMapping, XmlJoinFetch
{
/**
* The cached value of the '{@link #getConverter() <em>Converter</em>}' containment reference.
@@ -160,6 +164,26 @@ public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMa
protected String attributeType = ATTRIBUTE_TYPE_EDEFAULT;
/**
+ * The default value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean CASCADE_ON_DELETE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected Boolean cascadeOnDelete = CASCADE_ON_DELETE_EDEFAULT;
+
+ /**
* The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -648,6 +672,41 @@ public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMa
}
/**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlManyToMany_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getCascadeOnDelete()
+ {
+ return cascadeOnDelete;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToMany#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ public void setCascadeOnDelete(Boolean newCascadeOnDelete)
+ {
+ Boolean oldCascadeOnDelete = cascadeOnDelete;
+ cascadeOnDelete = newCascadeOnDelete;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MANY_TO_MANY__CASCADE_ON_DELETE, oldCascadeOnDelete, cascadeOnDelete));
+ }
+
+ /**
* Returns the value of the '<em><b>Access Methods</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
@@ -786,6 +845,8 @@ public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMa
return getBatchFetch();
case EclipseLinkOrmPackage.XML_MANY_TO_MANY__ATTRIBUTE_TYPE:
return getAttributeType();
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY__CASCADE_ON_DELETE:
+ return getCascadeOnDelete();
case EclipseLinkOrmPackage.XML_MANY_TO_MANY__ACCESS_METHODS:
return getAccessMethods();
case EclipseLinkOrmPackage.XML_MANY_TO_MANY__PROPERTIES:
@@ -832,6 +893,9 @@ public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMa
case EclipseLinkOrmPackage.XML_MANY_TO_MANY__ATTRIBUTE_TYPE:
setAttributeType((String)newValue);
return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY__CASCADE_ON_DELETE:
+ setCascadeOnDelete((Boolean)newValue);
+ return;
case EclipseLinkOrmPackage.XML_MANY_TO_MANY__ACCESS_METHODS:
setAccessMethods((XmlAccessMethods)newValue);
return;
@@ -880,6 +944,9 @@ public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMa
case EclipseLinkOrmPackage.XML_MANY_TO_MANY__ATTRIBUTE_TYPE:
setAttributeType(ATTRIBUTE_TYPE_EDEFAULT);
return;
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY__CASCADE_ON_DELETE:
+ setCascadeOnDelete(CASCADE_ON_DELETE_EDEFAULT);
+ return;
case EclipseLinkOrmPackage.XML_MANY_TO_MANY__ACCESS_METHODS:
setAccessMethods((XmlAccessMethods)null);
return;
@@ -919,6 +986,8 @@ public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMa
return batchFetch != null;
case EclipseLinkOrmPackage.XML_MANY_TO_MANY__ATTRIBUTE_TYPE:
return ATTRIBUTE_TYPE_EDEFAULT == null ? attributeType != null : !ATTRIBUTE_TYPE_EDEFAULT.equals(attributeType);
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY__CASCADE_ON_DELETE:
+ return CASCADE_ON_DELETE_EDEFAULT == null ? cascadeOnDelete != null : !CASCADE_ON_DELETE_EDEFAULT.equals(cascadeOnDelete);
case EclipseLinkOrmPackage.XML_MANY_TO_MANY__ACCESS_METHODS:
return accessMethods != null;
case EclipseLinkOrmPackage.XML_MANY_TO_MANY__PROPERTIES:
@@ -987,6 +1056,14 @@ public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMa
default: return -1;
}
}
+ if (baseClass == XmlManyToMany_2_2.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_MANY_TO_MANY__CASCADE_ON_DELETE: return EclipseLinkOrmV2_2Package.XML_MANY_TO_MANY_22__CASCADE_ON_DELETE;
+ default: return -1;
+ }
+ }
if (baseClass == XmlAccessMethodsHolder.class)
{
switch (derivedFeatureID)
@@ -1079,6 +1156,14 @@ public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMa
default: return -1;
}
}
+ if (baseClass == XmlManyToMany_2_2.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmV2_2Package.XML_MANY_TO_MANY_22__CASCADE_ON_DELETE: return EclipseLinkOrmPackage.XML_MANY_TO_MANY__CASCADE_ON_DELETE;
+ default: return -1;
+ }
+ }
if (baseClass == XmlAccessMethodsHolder.class)
{
switch (baseFeatureID)
@@ -1128,6 +1213,8 @@ public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMa
result.append(mapKeyConvert);
result.append(", attributeType: ");
result.append(attributeType);
+ result.append(", cascadeOnDelete: ");
+ result.append(cascadeOnDelete);
result.append(", joinFetch: ");
result.append(joinFetch);
result.append(')');
@@ -1174,6 +1261,7 @@ public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMa
buildStructConverterTranslator(),
buildJoinTableTranslator(),
buildCascadeTranslator(),
+ buildCascadeOnDeleteTranslator(),
buildJoinFetchTranslator(),
buildBatchFetchTranslator(),
buildPropertyTranslator(),
@@ -1229,4 +1317,8 @@ public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMa
return XmlBatchFetch.buildTranslator(EclipseLink2_1.BATCH_FETCH, EclipseLinkOrmPackage.eINSTANCE.getXmlBatchFetchHolder_BatchFetch());
}
+ protected static Translator buildCascadeOnDeleteTranslator() {
+ return CascadeType.buildTranslator(EclipseLink2_2.CASCADE_ON_DELETE, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlManyToMany_2_2_CascadeOnDelete());
+ }
+
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlMappedSuperclass.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlMappedSuperclass.java
index ec1c6f9236..5a32b9ab28 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlMappedSuperclass.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlMappedSuperclass.java
@@ -48,6 +48,10 @@ import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLink2_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.XmlFetchGroupContainer_2_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.XmlMappedSuperclass_2_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlMappedSuperclass_2_2;
import org.eclipse.wst.common.internal.emf.resource.Translator;
/**
@@ -81,7 +85,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* @model kind="class"
* @generated
*/
-public class XmlMappedSuperclass extends org.eclipse.jpt.core.resource.orm.XmlMappedSuperclass implements XmlMappedSuperclass_1_1, XmlMappedSuperclass_2_0, XmlMappedSuperclass_2_1, XmlReadOnly, XmlCustomizerHolder, XmlChangeTrackingHolder, XmlCacheHolder, XmlConvertersHolder, XmlPropertyContainer
+public class XmlMappedSuperclass extends org.eclipse.jpt.core.resource.orm.XmlMappedSuperclass implements XmlMappedSuperclass_1_1, XmlMappedSuperclass_2_0, XmlMappedSuperclass_2_1, XmlMappedSuperclass_2_2, XmlReadOnly, XmlCustomizerHolder, XmlChangeTrackingHolder, XmlCacheHolder, XmlConvertersHolder, XmlPropertyContainer
{
/**
* The cached value of the '{@link #getPrimaryKey() <em>Primary Key</em>}' containment reference.
@@ -254,6 +258,16 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.core.resource.orm.XmlMa
protected String parentClass = PARENT_CLASS_EDEFAULT;
/**
+ * The cached value of the '{@link #getAdditionalCriteria() <em>Additional Criteria</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdditionalCriteria()
+ * @generated
+ * @ordered
+ */
+ protected XmlAdditionalCriteria_2_2 additionalCriteria;
+
+ /**
* The default value of the '{@link #getReadOnly() <em>Read Only</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1651,6 +1665,66 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.core.resource.orm.XmlMa
}
/**
+ * Returns the value of the '<em><b>Additional Criteria</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Additional Criteria</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>Additional Criteria</em>' containment reference.
+ * @see #setAdditionalCriteria(XmlAdditionalCriteria_2_2)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlMappedSuperclass_2_2_AdditionalCriteria()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlAdditionalCriteria_2_2 getAdditionalCriteria()
+ {
+ return additionalCriteria;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAdditionalCriteria(XmlAdditionalCriteria_2_2 newAdditionalCriteria, NotificationChain msgs)
+ {
+ XmlAdditionalCriteria_2_2 oldAdditionalCriteria = additionalCriteria;
+ additionalCriteria = newAdditionalCriteria;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ADDITIONAL_CRITERIA, oldAdditionalCriteria, newAdditionalCriteria);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlMappedSuperclass#getAdditionalCriteria <em>Additional Criteria</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Additional Criteria</em>' containment reference.
+ * @see #getAdditionalCriteria()
+ * @generated
+ */
+ public void setAdditionalCriteria(XmlAdditionalCriteria_2_2 newAdditionalCriteria)
+ {
+ if (newAdditionalCriteria != additionalCriteria)
+ {
+ NotificationChain msgs = null;
+ if (additionalCriteria != null)
+ msgs = ((InternalEObject)additionalCriteria).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ADDITIONAL_CRITERIA, null, msgs);
+ if (newAdditionalCriteria != null)
+ msgs = ((InternalEObject)newAdditionalCriteria).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ADDITIONAL_CRITERIA, null, msgs);
+ msgs = basicSetAdditionalCriteria(newAdditionalCriteria, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ADDITIONAL_CRITERIA, newAdditionalCriteria, newAdditionalCriteria));
+ }
+
+ /**
* Returns the value of the '<em><b>Exclude Default Mappings</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
@@ -1721,6 +1795,8 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.core.resource.orm.XmlMa
return ((InternalEList<?>)getSqlResultSetMappings()).basicRemove(otherEnd, msgs);
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__QUERY_REDIRECTORS:
return basicSetQueryRedirectors(null, msgs);
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ADDITIONAL_CRITERIA:
+ return basicSetAdditionalCriteria(null, msgs);
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CUSTOMIZER:
return basicSetCustomizer(null, msgs);
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CHANGE_TRACKING:
@@ -1789,6 +1865,8 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.core.resource.orm.XmlMa
return getQueryRedirectors();
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS:
return getParentClass();
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ADDITIONAL_CRITERIA:
+ return getAdditionalCriteria();
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__READ_ONLY:
return getReadOnly();
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CUSTOMIZER:
@@ -1886,6 +1964,9 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.core.resource.orm.XmlMa
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS:
setParentClass((String)newValue);
return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ADDITIONAL_CRITERIA:
+ setAdditionalCriteria((XmlAdditionalCriteria_2_2)newValue);
+ return;
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__READ_ONLY:
setReadOnly((Boolean)newValue);
return;
@@ -1995,6 +2076,9 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.core.resource.orm.XmlMa
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS:
setParentClass(PARENT_CLASS_EDEFAULT);
return;
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ADDITIONAL_CRITERIA:
+ setAdditionalCriteria((XmlAdditionalCriteria_2_2)null);
+ return;
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__READ_ONLY:
setReadOnly(READ_ONLY_EDEFAULT);
return;
@@ -2084,6 +2168,8 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.core.resource.orm.XmlMa
return queryRedirectors != null;
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS:
return PARENT_CLASS_EDEFAULT == null ? parentClass != null : !PARENT_CLASS_EDEFAULT.equals(parentClass);
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ADDITIONAL_CRITERIA:
+ return additionalCriteria != null;
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__READ_ONLY:
return READ_ONLY_EDEFAULT == null ? readOnly != null : !READ_ONLY_EDEFAULT.equals(readOnly);
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CUSTOMIZER:
@@ -2218,6 +2304,14 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.core.resource.orm.XmlMa
default: return -1;
}
}
+ if (baseClass == XmlMappedSuperclass_2_2.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ADDITIONAL_CRITERIA: return EclipseLinkOrmV2_2Package.XML_MAPPED_SUPERCLASS_22__ADDITIONAL_CRITERIA;
+ default: return -1;
+ }
+ }
if (baseClass == XmlReadOnly.class)
{
switch (derivedFeatureID)
@@ -2373,6 +2467,14 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.core.resource.orm.XmlMa
default: return -1;
}
}
+ if (baseClass == XmlMappedSuperclass_2_2.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmV2_2Package.XML_MAPPED_SUPERCLASS_22__ADDITIONAL_CRITERIA: return EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ADDITIONAL_CRITERIA;
+ default: return -1;
+ }
+ }
if (baseClass == XmlReadOnly.class)
{
switch (baseFeatureID)
@@ -2485,6 +2587,7 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.core.resource.orm.XmlMa
buildExcludeDefaultMappingsTranslator(),
buildDescriptionTranslator(),
buildAccessMethodsTranslator(),
+ buildAdditionalCriteriaTranslator(),
buildCustomizerTranslator(),
buildChangeTrackingTranslator(),
buildIdClassTranslator(),
@@ -2643,4 +2746,8 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.core.resource.orm.XmlMa
return new Translator(EclipseLink2_1.PARENT_CLASS, EclipseLinkOrmV2_1Package.eINSTANCE.getXmlMappedSuperclass_2_1_ParentClass(), Translator.DOM_ATTRIBUTE);
}
+ protected static Translator buildAdditionalCriteriaTranslator() {
+ return XmlAdditionalCriteria.buildTranslator(EclipseLink2_2.ADDITIONAL_CRITERIA, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlMappedSuperclass_2_2_AdditionalCriteria());
+ }
+
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlOneToMany.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlOneToMany.java
index 9ec1f9d908..a9e113ecca 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlOneToMany.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlOneToMany.java
@@ -22,6 +22,7 @@ import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jpt.core.internal.utility.translators.EmptyTagBooleanTranslator;
import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.core.resource.orm.CascadeType;
import org.eclipse.jpt.core.resource.orm.XmlAssociationOverride;
import org.eclipse.jpt.core.resource.orm.v2_0.JPA2_0;
import org.eclipse.jpt.core.resource.orm.v2_0.OrmV2_0Package;
@@ -34,6 +35,9 @@ import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlOneToMany_2_0;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLink2_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.XmlOneToMany_2_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToMany_2_2;
import org.eclipse.wst.common.internal.emf.resource.Translator;
/**
@@ -57,7 +61,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* @model kind="class"
* @generated
*/
-public class XmlOneToMany extends org.eclipse.jpt.core.resource.orm.XmlOneToMany implements XmlOneToMany_2_0, XmlOneToMany_2_1, XmlAttributeMapping, XmlPrivateOwned, XmlJoinFetch
+public class XmlOneToMany extends org.eclipse.jpt.core.resource.orm.XmlOneToMany implements XmlOneToMany_2_0, XmlOneToMany_2_1, XmlOneToMany_2_2, XmlAttributeMapping, XmlPrivateOwned, XmlJoinFetch
{
/**
* The cached value of the '{@link #getConverter() <em>Converter</em>}' containment reference.
@@ -160,6 +164,26 @@ public class XmlOneToMany extends org.eclipse.jpt.core.resource.orm.XmlOneToMany
protected String attributeType = ATTRIBUTE_TYPE_EDEFAULT;
/**
+ * The default value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean CASCADE_ON_DELETE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected Boolean cascadeOnDelete = CASCADE_ON_DELETE_EDEFAULT;
+
+ /**
* The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -703,6 +727,41 @@ public class XmlOneToMany extends org.eclipse.jpt.core.resource.orm.XmlOneToMany
}
/**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToMany_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getCascadeOnDelete()
+ {
+ return cascadeOnDelete;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToMany#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ public void setCascadeOnDelete(Boolean newCascadeOnDelete)
+ {
+ Boolean oldCascadeOnDelete = cascadeOnDelete;
+ cascadeOnDelete = newCascadeOnDelete;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ONE_TO_MANY__CASCADE_ON_DELETE, oldCascadeOnDelete, cascadeOnDelete));
+ }
+
+ /**
* Returns the value of the '<em><b>Access Methods</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
@@ -841,6 +900,8 @@ public class XmlOneToMany extends org.eclipse.jpt.core.resource.orm.XmlOneToMany
return getBatchFetch();
case EclipseLinkOrmPackage.XML_ONE_TO_MANY__ATTRIBUTE_TYPE:
return getAttributeType();
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY__CASCADE_ON_DELETE:
+ return getCascadeOnDelete();
case EclipseLinkOrmPackage.XML_ONE_TO_MANY__ACCESS_METHODS:
return getAccessMethods();
case EclipseLinkOrmPackage.XML_ONE_TO_MANY__PROPERTIES:
@@ -889,6 +950,9 @@ public class XmlOneToMany extends org.eclipse.jpt.core.resource.orm.XmlOneToMany
case EclipseLinkOrmPackage.XML_ONE_TO_MANY__ATTRIBUTE_TYPE:
setAttributeType((String)newValue);
return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY__CASCADE_ON_DELETE:
+ setCascadeOnDelete((Boolean)newValue);
+ return;
case EclipseLinkOrmPackage.XML_ONE_TO_MANY__ACCESS_METHODS:
setAccessMethods((XmlAccessMethods)newValue);
return;
@@ -940,6 +1004,9 @@ public class XmlOneToMany extends org.eclipse.jpt.core.resource.orm.XmlOneToMany
case EclipseLinkOrmPackage.XML_ONE_TO_MANY__ATTRIBUTE_TYPE:
setAttributeType(ATTRIBUTE_TYPE_EDEFAULT);
return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY__CASCADE_ON_DELETE:
+ setCascadeOnDelete(CASCADE_ON_DELETE_EDEFAULT);
+ return;
case EclipseLinkOrmPackage.XML_ONE_TO_MANY__ACCESS_METHODS:
setAccessMethods((XmlAccessMethods)null);
return;
@@ -982,6 +1049,8 @@ public class XmlOneToMany extends org.eclipse.jpt.core.resource.orm.XmlOneToMany
return batchFetch != null;
case EclipseLinkOrmPackage.XML_ONE_TO_MANY__ATTRIBUTE_TYPE:
return ATTRIBUTE_TYPE_EDEFAULT == null ? attributeType != null : !ATTRIBUTE_TYPE_EDEFAULT.equals(attributeType);
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY__CASCADE_ON_DELETE:
+ return CASCADE_ON_DELETE_EDEFAULT == null ? cascadeOnDelete != null : !CASCADE_ON_DELETE_EDEFAULT.equals(cascadeOnDelete);
case EclipseLinkOrmPackage.XML_ONE_TO_MANY__ACCESS_METHODS:
return accessMethods != null;
case EclipseLinkOrmPackage.XML_ONE_TO_MANY__PROPERTIES:
@@ -1052,6 +1121,14 @@ public class XmlOneToMany extends org.eclipse.jpt.core.resource.orm.XmlOneToMany
default: return -1;
}
}
+ if (baseClass == XmlOneToMany_2_2.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ONE_TO_MANY__CASCADE_ON_DELETE: return EclipseLinkOrmV2_2Package.XML_ONE_TO_MANY_22__CASCADE_ON_DELETE;
+ default: return -1;
+ }
+ }
if (baseClass == XmlAccessMethodsHolder.class)
{
switch (derivedFeatureID)
@@ -1152,6 +1229,14 @@ public class XmlOneToMany extends org.eclipse.jpt.core.resource.orm.XmlOneToMany
default: return -1;
}
}
+ if (baseClass == XmlOneToMany_2_2.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmV2_2Package.XML_ONE_TO_MANY_22__CASCADE_ON_DELETE: return EclipseLinkOrmPackage.XML_ONE_TO_MANY__CASCADE_ON_DELETE;
+ default: return -1;
+ }
+ }
if (baseClass == XmlAccessMethodsHolder.class)
{
switch (baseFeatureID)
@@ -1209,6 +1294,8 @@ public class XmlOneToMany extends org.eclipse.jpt.core.resource.orm.XmlOneToMany
result.append(mapKeyConvert);
result.append(", attributeType: ");
result.append(attributeType);
+ result.append(", cascadeOnDelete: ");
+ result.append(cascadeOnDelete);
result.append(", privateOwned: ");
result.append(privateOwned);
result.append(", joinFetch: ");
@@ -1263,6 +1350,7 @@ public class XmlOneToMany extends org.eclipse.jpt.core.resource.orm.XmlOneToMany
buildJoinTableTranslator(),
buildJoinColumnTranslator(),
buildCascadeTranslator(),
+ buildCascadeOnDeleteTranslator(),
buildPrivateOwnedTranslator(),
buildJoinFetchTranslator(),
buildBatchFetchTranslator(),
@@ -1319,4 +1407,8 @@ public class XmlOneToMany extends org.eclipse.jpt.core.resource.orm.XmlOneToMany
return XmlBatchFetch.buildTranslator(EclipseLink2_1.BATCH_FETCH, EclipseLinkOrmPackage.eINSTANCE.getXmlBatchFetchHolder_BatchFetch());
}
+ protected static Translator buildCascadeOnDeleteTranslator() {
+ return CascadeType.buildTranslator(EclipseLink2_2.CASCADE_ON_DELETE, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlOneToMany_2_2_CascadeOnDelete());
+ }
+
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlOneToOne.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlOneToOne.java
index 5d7dd96327..d829d05150 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlOneToOne.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlOneToOne.java
@@ -22,8 +22,12 @@ import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLink2_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.XmlOneToOne_2_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToOne_2_2;
import org.eclipse.jpt.core.internal.utility.translators.EmptyTagBooleanTranslator;
import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.core.resource.orm.CascadeType;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.wst.common.internal.emf.resource.Translator;
@@ -48,7 +52,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* @model kind="class"
* @generated
*/
-public class XmlOneToOne extends org.eclipse.jpt.core.resource.orm.XmlOneToOne implements XmlOneToOne_2_1, XmlAttributeMapping, XmlPrivateOwned, XmlJoinFetch
+public class XmlOneToOne extends org.eclipse.jpt.core.resource.orm.XmlOneToOne implements XmlOneToOne_2_1, XmlOneToOne_2_2, XmlAttributeMapping, XmlPrivateOwned, XmlJoinFetch
{
/**
* The cached value of the '{@link #getBatchFetch() <em>Batch Fetch</em>}' containment reference.
@@ -61,6 +65,26 @@ public class XmlOneToOne extends org.eclipse.jpt.core.resource.orm.XmlOneToOne i
protected XmlBatchFetch batchFetch;
/**
+ * The default value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean CASCADE_ON_DELETE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCascadeOnDelete() <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCascadeOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected Boolean cascadeOnDelete = CASCADE_ON_DELETE_EDEFAULT;
+
+ /**
* The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -198,6 +222,41 @@ public class XmlOneToOne extends org.eclipse.jpt.core.resource.orm.XmlOneToOne i
}
/**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToOne_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getCascadeOnDelete()
+ {
+ return cascadeOnDelete;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToOne#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ public void setCascadeOnDelete(Boolean newCascadeOnDelete)
+ {
+ Boolean oldCascadeOnDelete = cascadeOnDelete;
+ cascadeOnDelete = newCascadeOnDelete;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ONE_TO_ONE__CASCADE_ON_DELETE, oldCascadeOnDelete, cascadeOnDelete));
+ }
+
+ /**
* Returns the value of the '<em><b>Private Owned</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
@@ -385,6 +444,8 @@ public class XmlOneToOne extends org.eclipse.jpt.core.resource.orm.XmlOneToOne i
{
case EclipseLinkOrmPackage.XML_ONE_TO_ONE__BATCH_FETCH:
return getBatchFetch();
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE__CASCADE_ON_DELETE:
+ return getCascadeOnDelete();
case EclipseLinkOrmPackage.XML_ONE_TO_ONE__ACCESS_METHODS:
return getAccessMethods();
case EclipseLinkOrmPackage.XML_ONE_TO_ONE__PROPERTIES:
@@ -411,6 +472,9 @@ public class XmlOneToOne extends org.eclipse.jpt.core.resource.orm.XmlOneToOne i
case EclipseLinkOrmPackage.XML_ONE_TO_ONE__BATCH_FETCH:
setBatchFetch((XmlBatchFetch)newValue);
return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE__CASCADE_ON_DELETE:
+ setCascadeOnDelete((Boolean)newValue);
+ return;
case EclipseLinkOrmPackage.XML_ONE_TO_ONE__ACCESS_METHODS:
setAccessMethods((XmlAccessMethods)newValue);
return;
@@ -441,6 +505,9 @@ public class XmlOneToOne extends org.eclipse.jpt.core.resource.orm.XmlOneToOne i
case EclipseLinkOrmPackage.XML_ONE_TO_ONE__BATCH_FETCH:
setBatchFetch((XmlBatchFetch)null);
return;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE__CASCADE_ON_DELETE:
+ setCascadeOnDelete(CASCADE_ON_DELETE_EDEFAULT);
+ return;
case EclipseLinkOrmPackage.XML_ONE_TO_ONE__ACCESS_METHODS:
setAccessMethods((XmlAccessMethods)null);
return;
@@ -469,6 +536,8 @@ public class XmlOneToOne extends org.eclipse.jpt.core.resource.orm.XmlOneToOne i
{
case EclipseLinkOrmPackage.XML_ONE_TO_ONE__BATCH_FETCH:
return batchFetch != null;
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE__CASCADE_ON_DELETE:
+ return CASCADE_ON_DELETE_EDEFAULT == null ? cascadeOnDelete != null : !CASCADE_ON_DELETE_EDEFAULT.equals(cascadeOnDelete);
case EclipseLinkOrmPackage.XML_ONE_TO_ONE__ACCESS_METHODS:
return accessMethods != null;
case EclipseLinkOrmPackage.XML_ONE_TO_ONE__PROPERTIES:
@@ -504,6 +573,14 @@ public class XmlOneToOne extends org.eclipse.jpt.core.resource.orm.XmlOneToOne i
default: return -1;
}
}
+ if (baseClass == XmlOneToOne_2_2.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ONE_TO_ONE__CASCADE_ON_DELETE: return EclipseLinkOrmV2_2Package.XML_ONE_TO_ONE_22__CASCADE_ON_DELETE;
+ default: return -1;
+ }
+ }
if (baseClass == XmlAccessMethodsHolder.class)
{
switch (derivedFeatureID)
@@ -569,6 +646,14 @@ public class XmlOneToOne extends org.eclipse.jpt.core.resource.orm.XmlOneToOne i
default: return -1;
}
}
+ if (baseClass == XmlOneToOne_2_2.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmV2_2Package.XML_ONE_TO_ONE_22__CASCADE_ON_DELETE: return EclipseLinkOrmPackage.XML_ONE_TO_ONE__CASCADE_ON_DELETE;
+ default: return -1;
+ }
+ }
if (baseClass == XmlAccessMethodsHolder.class)
{
switch (baseFeatureID)
@@ -622,7 +707,9 @@ public class XmlOneToOne extends org.eclipse.jpt.core.resource.orm.XmlOneToOne i
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
- result.append(" (privateOwned: ");
+ result.append(" (cascadeOnDelete: ");
+ result.append(cascadeOnDelete);
+ result.append(", privateOwned: ");
result.append(privateOwned);
result.append(", joinFetch: ");
result.append(joinFetch);
@@ -664,6 +751,7 @@ public class XmlOneToOne extends org.eclipse.jpt.core.resource.orm.XmlOneToOne i
buildJoinColumnTranslator(),
buildJoinTableTranslator(),
buildCascadeTranslator(),
+ buildCascadeOnDeleteTranslator(),
buildPrivateOwnedTranslator(),
buildJoinFetchTranslator(),
buildBatchFetchTranslator(),
@@ -692,4 +780,8 @@ public class XmlOneToOne extends org.eclipse.jpt.core.resource.orm.XmlOneToOne i
return XmlBatchFetch.buildTranslator(EclipseLink2_1.BATCH_FETCH, EclipseLinkOrmPackage.eINSTANCE.getXmlBatchFetchHolder_BatchFetch());
}
+ protected static Translator buildCascadeOnDeleteTranslator() {
+ return CascadeType.buildTranslator(EclipseLink2_2.CASCADE_ON_DELETE, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlOneToOne_2_2_CascadeOnDelete());
+ }
+
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlVersion.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlVersion.java
index c2a9237c7f..d9eae112c9 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlVersion.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlVersion.java
@@ -23,6 +23,10 @@ import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLink2_1;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.XmlVersion_2_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLink2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlVersion_2_2;
import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.wst.common.internal.emf.resource.Translator;
@@ -48,7 +52,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* @model kind="class"
* @generated
*/
-public class XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion implements XmlVersion_2_1, XmlAttributeMapping, XmlMutable, XmlConvertibleMapping
+public class XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion implements XmlVersion_2_1, XmlVersion_2_2, XmlAttributeMapping, XmlMutable, XmlConvertibleMapping
{
/**
* The default value of the '{@link #getAttributeType() <em>Attribute Type</em>}' attribute.
@@ -71,6 +75,16 @@ public class XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion imp
protected String attributeType = ATTRIBUTE_TYPE_EDEFAULT;
/**
+ * The cached value of the '{@link #getIndex() <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIndex()
+ * @generated
+ * @ordered
+ */
+ protected XmlIndex_2_2 index;
+
+ /**
* The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -227,6 +241,66 @@ public class XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion imp
}
/**
+ * Returns the value of the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Index</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>Index</em>' containment reference.
+ * @see #setIndex(XmlIndex_2_2)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlVersion_2_2_Index()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlIndex_2_2 getIndex()
+ {
+ return index;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIndex(XmlIndex_2_2 newIndex, NotificationChain msgs)
+ {
+ XmlIndex_2_2 oldIndex = index;
+ index = newIndex;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_VERSION__INDEX, oldIndex, newIndex);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersion#getIndex <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Index</em>' containment reference.
+ * @see #getIndex()
+ * @generated
+ */
+ public void setIndex(XmlIndex_2_2 newIndex)
+ {
+ if (newIndex != index)
+ {
+ NotificationChain msgs = null;
+ if (index != null)
+ msgs = ((InternalEObject)index).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_VERSION__INDEX, null, msgs);
+ if (newIndex != null)
+ msgs = ((InternalEObject)newIndex).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_VERSION__INDEX, null, msgs);
+ msgs = basicSetIndex(newIndex, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_VERSION__INDEX, newIndex, newIndex));
+ }
+
+ /**
* Returns the value of the '<em><b>Mutable</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
@@ -629,6 +703,8 @@ public class XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion imp
{
switch (featureID)
{
+ case EclipseLinkOrmPackage.XML_VERSION__INDEX:
+ return basicSetIndex(null, msgs);
case EclipseLinkOrmPackage.XML_VERSION__ACCESS_METHODS:
return basicSetAccessMethods(null, msgs);
case EclipseLinkOrmPackage.XML_VERSION__PROPERTIES:
@@ -657,6 +733,8 @@ public class XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion imp
{
case EclipseLinkOrmPackage.XML_VERSION__ATTRIBUTE_TYPE:
return getAttributeType();
+ case EclipseLinkOrmPackage.XML_VERSION__INDEX:
+ return getIndex();
case EclipseLinkOrmPackage.XML_VERSION__ACCESS_METHODS:
return getAccessMethods();
case EclipseLinkOrmPackage.XML_VERSION__PROPERTIES:
@@ -691,6 +769,9 @@ public class XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion imp
case EclipseLinkOrmPackage.XML_VERSION__ATTRIBUTE_TYPE:
setAttributeType((String)newValue);
return;
+ case EclipseLinkOrmPackage.XML_VERSION__INDEX:
+ setIndex((XmlIndex_2_2)newValue);
+ return;
case EclipseLinkOrmPackage.XML_VERSION__ACCESS_METHODS:
setAccessMethods((XmlAccessMethods)newValue);
return;
@@ -733,6 +814,9 @@ public class XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion imp
case EclipseLinkOrmPackage.XML_VERSION__ATTRIBUTE_TYPE:
setAttributeType(ATTRIBUTE_TYPE_EDEFAULT);
return;
+ case EclipseLinkOrmPackage.XML_VERSION__INDEX:
+ setIndex((XmlIndex_2_2)null);
+ return;
case EclipseLinkOrmPackage.XML_VERSION__ACCESS_METHODS:
setAccessMethods((XmlAccessMethods)null);
return;
@@ -773,6 +857,8 @@ public class XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion imp
{
case EclipseLinkOrmPackage.XML_VERSION__ATTRIBUTE_TYPE:
return ATTRIBUTE_TYPE_EDEFAULT == null ? attributeType != null : !ATTRIBUTE_TYPE_EDEFAULT.equals(attributeType);
+ case EclipseLinkOrmPackage.XML_VERSION__INDEX:
+ return index != null;
case EclipseLinkOrmPackage.XML_VERSION__ACCESS_METHODS:
return accessMethods != null;
case EclipseLinkOrmPackage.XML_VERSION__PROPERTIES:
@@ -809,6 +895,14 @@ public class XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion imp
default: return -1;
}
}
+ if (baseClass == XmlVersion_2_2.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_VERSION__INDEX: return EclipseLinkOrmV2_2Package.XML_VERSION_22__INDEX;
+ default: return -1;
+ }
+ }
if (baseClass == XmlAccessMethodsHolder.class)
{
switch (derivedFeatureID)
@@ -878,6 +972,14 @@ public class XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion imp
default: return -1;
}
}
+ if (baseClass == XmlVersion_2_2.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmV2_2Package.XML_VERSION_22__INDEX: return EclipseLinkOrmPackage.XML_VERSION__INDEX;
+ default: return -1;
+ }
+ }
if (baseClass == XmlAccessMethodsHolder.class)
{
switch (baseFeatureID)
@@ -978,6 +1080,7 @@ public class XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion imp
buildMutableTranslator(),
buildAttributeTypeTranslator(),
buildColumnTranslator(),
+ buildIndexTranslator(),
buildTemporalTranslator(),
buildConvertTranslator(),
buildConverterTranslator(),
@@ -993,6 +1096,10 @@ public class XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion imp
return new Translator(EclipseLink.MUTABLE, EclipseLinkOrmPackage.eINSTANCE.getXmlMutable_Mutable(), Translator.DOM_ATTRIBUTE);
}
+ protected static Translator buildIndexTranslator() {
+ return XmlIndex.buildTranslator(EclipseLink2_2.INDEX, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlVersion_2_2_Index());
+ }
+
protected static Translator buildConvertTranslator() {
return new Translator(EclipseLink.CONVERT, EclipseLinkOrmPackage.eINSTANCE.getXmlConvertibleMapping_Convert());
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v1_1/EclipseLinkOrmV1_1Package.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v1_1/EclipseLinkOrmV1_1Package.java
index 6526bf5710..bd661e952c 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v1_1/EclipseLinkOrmV1_1Package.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v1_1/EclipseLinkOrmV1_1Package.java
@@ -22,6 +22,7 @@ import org.eclipse.jpt.core.resource.xml.CommonPackage;
import org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
/**
* <!-- begin-user-doc -->
@@ -312,18 +313,21 @@ public class EclipseLinkOrmV1_1Package extends EPackageImpl
EclipseLinkOrmPackage theEclipseLinkOrmPackage = (EclipseLinkOrmPackage)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmPackage.eNS_URI) instanceof EclipseLinkOrmPackage ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmPackage.eNS_URI) : EclipseLinkOrmPackage.eINSTANCE);
EclipseLinkOrmV2_0Package theEclipseLinkOrmV2_0Package = (EclipseLinkOrmV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_0Package.eNS_URI) instanceof EclipseLinkOrmV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_0Package.eNS_URI) : EclipseLinkOrmV2_0Package.eINSTANCE);
EclipseLinkOrmV2_1Package theEclipseLinkOrmV2_1Package = (EclipseLinkOrmV2_1Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_1Package.eNS_URI) instanceof EclipseLinkOrmV2_1Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_1Package.eNS_URI) : EclipseLinkOrmV2_1Package.eINSTANCE);
+ EclipseLinkOrmV2_2Package theEclipseLinkOrmV2_2Package = (EclipseLinkOrmV2_2Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_2Package.eNS_URI) instanceof EclipseLinkOrmV2_2Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_2Package.eNS_URI) : EclipseLinkOrmV2_2Package.eINSTANCE);
// Create package meta-data objects
theEclipseLinkOrmV1_1Package.createPackageContents();
theEclipseLinkOrmPackage.createPackageContents();
theEclipseLinkOrmV2_0Package.createPackageContents();
theEclipseLinkOrmV2_1Package.createPackageContents();
+ theEclipseLinkOrmV2_2Package.createPackageContents();
// Initialize created meta-data
theEclipseLinkOrmV1_1Package.initializePackageContents();
theEclipseLinkOrmPackage.initializePackageContents();
theEclipseLinkOrmV2_0Package.initializePackageContents();
theEclipseLinkOrmV2_1Package.initializePackageContents();
+ theEclipseLinkOrmV2_2Package.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theEclipseLinkOrmV1_1Package.freeze();
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/EclipseLinkOrmV2_0Package.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/EclipseLinkOrmV2_0Package.java
index 7235e804ea..adde385c03 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/EclipseLinkOrmV2_0Package.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/EclipseLinkOrmV2_0Package.java
@@ -24,6 +24,7 @@ import org.eclipse.jpt.core.resource.xml.CommonPackage;
import org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage;
import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.EclipseLinkOrmV1_1Package;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
/**
* <!-- begin-user-doc -->
@@ -331,22 +332,13 @@ public class EclipseLinkOrmV2_0Package extends EPackageImpl
public static final int XML_ENTITY_20 = 2;
/**
- * The feature id for the '<em><b>Cacheable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- public static final int XML_ENTITY_20__CACHEABLE = OrmV2_0Package.XML_ENTITY_20__CACHEABLE;
-
- /**
* The feature id for the '<em><b>Cache Interceptor</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_ENTITY_20__CACHE_INTERCEPTOR = OrmV2_0Package.XML_ENTITY_20_FEATURE_COUNT + 0;
+ public static final int XML_ENTITY_20__CACHE_INTERCEPTOR = 0;
/**
* The feature id for the '<em><b>Query Redirectors</b></em>' containment reference.
@@ -355,7 +347,7 @@ public class EclipseLinkOrmV2_0Package extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY_20__QUERY_REDIRECTORS = OrmV2_0Package.XML_ENTITY_20_FEATURE_COUNT + 1;
+ public static final int XML_ENTITY_20__QUERY_REDIRECTORS = 1;
/**
* The number of structural features of the '<em>Xml Entity 20</em>' class.
@@ -364,7 +356,7 @@ public class EclipseLinkOrmV2_0Package extends EPackageImpl
* @generated
* @ordered
*/
- public static final int XML_ENTITY_20_FEATURE_COUNT = OrmV2_0Package.XML_ENTITY_20_FEATURE_COUNT + 2;
+ public static final int XML_ENTITY_20_FEATURE_COUNT = 2;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlManyToMany_2_0 <em>Xml Many To Many 20</em>}' class.
@@ -796,18 +788,21 @@ public class EclipseLinkOrmV2_0Package extends EPackageImpl
EclipseLinkOrmPackage theEclipseLinkOrmPackage = (EclipseLinkOrmPackage)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmPackage.eNS_URI) instanceof EclipseLinkOrmPackage ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmPackage.eNS_URI) : EclipseLinkOrmPackage.eINSTANCE);
EclipseLinkOrmV1_1Package theEclipseLinkOrmV1_1Package = (EclipseLinkOrmV1_1Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV1_1Package.eNS_URI) instanceof EclipseLinkOrmV1_1Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV1_1Package.eNS_URI) : EclipseLinkOrmV1_1Package.eINSTANCE);
EclipseLinkOrmV2_1Package theEclipseLinkOrmV2_1Package = (EclipseLinkOrmV2_1Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_1Package.eNS_URI) instanceof EclipseLinkOrmV2_1Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_1Package.eNS_URI) : EclipseLinkOrmV2_1Package.eINSTANCE);
+ EclipseLinkOrmV2_2Package theEclipseLinkOrmV2_2Package = (EclipseLinkOrmV2_2Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_2Package.eNS_URI) instanceof EclipseLinkOrmV2_2Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_2Package.eNS_URI) : EclipseLinkOrmV2_2Package.eINSTANCE);
// Create package meta-data objects
theEclipseLinkOrmV2_0Package.createPackageContents();
theEclipseLinkOrmPackage.createPackageContents();
theEclipseLinkOrmV1_1Package.createPackageContents();
theEclipseLinkOrmV2_1Package.createPackageContents();
+ theEclipseLinkOrmV2_2Package.createPackageContents();
// Initialize created meta-data
theEclipseLinkOrmV2_0Package.initializePackageContents();
theEclipseLinkOrmPackage.initializePackageContents();
theEclipseLinkOrmV1_1Package.initializePackageContents();
theEclipseLinkOrmV2_1Package.initializePackageContents();
+ theEclipseLinkOrmV2_2Package.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theEclipseLinkOrmV2_0Package.freeze();
@@ -1242,8 +1237,8 @@ public class EclipseLinkOrmV2_0Package extends EPackageImpl
// Obtain other dependent packages
XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
EclipseLinkOrmPackage theEclipseLinkOrmPackage = (EclipseLinkOrmPackage)EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmPackage.eNS_URI);
- OrmV2_0Package theOrmV2_0Package = (OrmV2_0Package)EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI);
OrmPackage theOrmPackage = (OrmPackage)EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI);
+ OrmV2_0Package theOrmV2_0Package = (OrmV2_0Package)EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI);
// Create type parameters
@@ -1255,7 +1250,6 @@ public class EclipseLinkOrmV2_0Package extends EPackageImpl
xmlElementCollection_2_0EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlConvertibleMapping());
xmlElementCollection_2_0EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlConvertersHolder());
xmlElementCollection_2_0EClass.getESuperTypes().add(this.getXmlCollectionMapping_2_0());
- xmlEntity_2_0EClass.getESuperTypes().add(theOrmV2_0Package.getXmlEntity_2_0());
xmlManyToMany_2_0EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlConverterHolder());
xmlManyToMany_2_0EClass.getESuperTypes().add(this.getXmlCollectionMapping_2_0());
xmlMappedSuperclass_2_0EClass.getESuperTypes().add(theOrmV2_0Package.getXmlCacheable_2_0());
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlEntity_2_0.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlEntity_2_0.java
index 1680ba087a..e77612cb0a 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlEntity_2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlEntity_2_0.java
@@ -10,6 +10,7 @@
package org.eclipse.jpt.eclipselink.core.resource.orm.v2_0;
import org.eclipse.jpt.core.resource.orm.XmlClassReference;
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
import org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors;
/**
@@ -33,9 +34,10 @@ import org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors;
*
* @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlEntity_2_0()
* @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
* @generated
*/
-public interface XmlEntity_2_0 extends org.eclipse.jpt.core.resource.orm.v2_0.XmlEntity_2_0
+public interface XmlEntity_2_0 extends JpaEObject
{
/**
* Returns the value of the '<em><b>Cache Interceptor</b></em>' containment reference.
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_1/EclipseLinkOrmV2_1Package.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_1/EclipseLinkOrmV2_1Package.java
index bd3289dc6a..4824eb59df 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_1/EclipseLinkOrmV2_1Package.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_1/EclipseLinkOrmV2_1Package.java
@@ -23,6 +23,7 @@ import org.eclipse.jpt.core.resource.xml.CommonPackage;
import org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage;
import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.EclipseLinkOrmV1_1Package;
import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package;
/**
* <!-- begin-user-doc -->
@@ -1141,18 +1142,21 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl
EclipseLinkOrmPackage theEclipseLinkOrmPackage = (EclipseLinkOrmPackage)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmPackage.eNS_URI) instanceof EclipseLinkOrmPackage ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmPackage.eNS_URI) : EclipseLinkOrmPackage.eINSTANCE);
EclipseLinkOrmV1_1Package theEclipseLinkOrmV1_1Package = (EclipseLinkOrmV1_1Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV1_1Package.eNS_URI) instanceof EclipseLinkOrmV1_1Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV1_1Package.eNS_URI) : EclipseLinkOrmV1_1Package.eINSTANCE);
EclipseLinkOrmV2_0Package theEclipseLinkOrmV2_0Package = (EclipseLinkOrmV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_0Package.eNS_URI) instanceof EclipseLinkOrmV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_0Package.eNS_URI) : EclipseLinkOrmV2_0Package.eINSTANCE);
+ EclipseLinkOrmV2_2Package theEclipseLinkOrmV2_2Package = (EclipseLinkOrmV2_2Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_2Package.eNS_URI) instanceof EclipseLinkOrmV2_2Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_2Package.eNS_URI) : EclipseLinkOrmV2_2Package.eINSTANCE);
// Create package meta-data objects
theEclipseLinkOrmV2_1Package.createPackageContents();
theEclipseLinkOrmPackage.createPackageContents();
theEclipseLinkOrmV1_1Package.createPackageContents();
theEclipseLinkOrmV2_0Package.createPackageContents();
+ theEclipseLinkOrmV2_2Package.createPackageContents();
// Initialize created meta-data
theEclipseLinkOrmV2_1Package.initializePackageContents();
theEclipseLinkOrmPackage.initializePackageContents();
theEclipseLinkOrmV1_1Package.initializePackageContents();
theEclipseLinkOrmV2_0Package.initializePackageContents();
+ theEclipseLinkOrmV2_2Package.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theEclipseLinkOrmV2_1Package.freeze();
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/EclipseLink2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/EclipseLink2_2.java
new file mode 100644
index 0000000000..ba633d9d98
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/EclipseLink2_2.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLink;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLink2_0;
+
+@SuppressWarnings("nls")
+public interface EclipseLink2_2
+ extends EclipseLink2_0
+{
+ String SCHEMA_NAMESPACE = EclipseLink.SCHEMA_NAMESPACE;
+ String SCHEMA_LOCATION = "http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_2.xsd";
+ String SCHEMA_VERSION = "2.2";
+
+
+ // EclipseLink 2.2 specific nodes
+ String ADDITIONAL_CRITERIA = "additional-criteria";
+ String CASCADE_ON_DELETE = "cascade-on-delete";
+ String CRITERIA = "criteria";
+ String INDEX = "index";
+ String INDEX__COLUMN_NAME = "column-name";
+ String INDEX__NAME = "name";
+ String INDEX__CATALOG = "catalog";
+ String INDEX__SCHEMA = "schema";
+ String INDEX__TABLE = "table";
+ String INDEX__UNIQUE = "unique";
+ String PARENT_CLASS = "parent-class";
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/EclipseLinkOrmV2_2Factory.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/EclipseLinkOrmV2_2Factory.java
new file mode 100644
index 0000000000..a818dea837
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/EclipseLinkOrmV2_2Factory.java
@@ -0,0 +1,113 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package
+ * @generated
+ */
+public class EclipseLinkOrmV2_2Factory extends EFactoryImpl
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EclipseLinkOrmV2_2Factory eINSTANCE = init();
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EclipseLinkOrmV2_2Factory init()
+ {
+ try
+ {
+ EclipseLinkOrmV2_2Factory theEclipseLinkOrmV2_2Factory = (EclipseLinkOrmV2_2Factory)EPackage.Registry.INSTANCE.getEFactory("jpt.eclipselink.orm.v2_2.xmi");
+ if (theEclipseLinkOrmV2_2Factory != null)
+ {
+ return theEclipseLinkOrmV2_2Factory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new EclipseLinkOrmV2_2Factory();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EclipseLinkOrmV2_2Factory()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EclipseLinkOrmV2_2Package getEclipseLinkOrmV2_2Package()
+ {
+ return (EclipseLinkOrmV2_2Package)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static EclipseLinkOrmV2_2Package getPackage()
+ {
+ return EclipseLinkOrmV2_2Package.eINSTANCE;
+ }
+
+} //EclipseLinkOrmV2_2Factory
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/EclipseLinkOrmV2_2Package.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/EclipseLinkOrmV2_2Package.java
new file mode 100644
index 0000000000..4df4238a6b
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/EclipseLinkOrmV2_2Package.java
@@ -0,0 +1,1704 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+import org.eclipse.jpt.core.resource.orm.OrmPackage;
+import org.eclipse.jpt.core.resource.xml.CommonPackage;
+import org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.EclipseLinkOrmV1_1Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package;
+
+/**
+ * <!-- 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>
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Factory
+ * @model kind="package"
+ * @generated
+ */
+public class EclipseLinkOrmV2_2Package extends EPackageImpl
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNAME = "v2_2";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_URI = "jpt.eclipselink.orm.v2_2.xmi";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_PREFIX = "org.eclipse.jpt.eclipselink.core.resource.orm.v2_2";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EclipseLinkOrmV2_2Package eINSTANCE = org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2 <em>Xml Additional Criteria 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlAdditionalCriteria_2_2()
+ * @generated
+ */
+ public static final int XML_ADDITIONAL_CRITERIA_22 = 0;
+
+ /**
+ * The feature id for the '<em><b>Criteria</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ADDITIONAL_CRITERIA_22__CRITERIA = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Additional Criteria 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ADDITIONAL_CRITERIA_22_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasic_2_2 <em>Xml Basic 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasic_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlBasic_2_2()
+ * @generated
+ */
+ public static final int XML_BASIC_22 = 1;
+
+ /**
+ * The feature id for the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_22__INDEX = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Basic 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_22_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicCollection_2_2 <em>Xml Basic Collection 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicCollection_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlBasicCollection_2_2()
+ * @generated
+ */
+ public static final int XML_BASIC_COLLECTION_22 = 2;
+
+ /**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_COLLECTION_22__CASCADE_ON_DELETE = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Basic Collection 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_COLLECTION_22_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicMap_2_2 <em>Xml Basic Map 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicMap_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlBasicMap_2_2()
+ * @generated
+ */
+ public static final int XML_BASIC_MAP_22 = 3;
+
+ /**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_MAP_22__CASCADE_ON_DELETE = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Basic Map 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_MAP_22_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlElementCollection_2_2 <em>Xml Element Collection 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlElementCollection_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlElementCollection_2_2()
+ * @generated
+ */
+ public static final int XML_ELEMENT_COLLECTION_22 = 4;
+
+ /**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_22__CASCADE_ON_DELETE = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Element Collection 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ELEMENT_COLLECTION_22_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2 <em>Xml Entity 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlEntity_2_2()
+ * @generated
+ */
+ public static final int XML_ENTITY_22 = 5;
+
+ /**
+ * The feature id for the '<em><b>Additional Criteria</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_22__ADDITIONAL_CRITERIA = 0;
+
+ /**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_22__CASCADE_ON_DELETE = 1;
+
+ /**
+ * The feature id for the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_22__INDEX = 2;
+
+ /**
+ * The number of structural features of the '<em>Xml Entity 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ENTITY_22_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlManyToMany_2_2 <em>Xml Many To Many 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlManyToMany_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlManyToMany_2_2()
+ * @generated
+ */
+ public static final int XML_MANY_TO_MANY_22 = 6;
+
+ /**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY_22__CASCADE_ON_DELETE = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Many To Many 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MANY_TO_MANY_22_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToOne_2_2 <em>Xml One To One 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToOne_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlOneToOne_2_2()
+ * @generated
+ */
+ public static final int XML_ONE_TO_ONE_22 = 7;
+
+ /**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE_22__CASCADE_ON_DELETE = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml One To One 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_ONE_22_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToMany_2_2 <em>Xml One To Many 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToMany_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlOneToMany_2_2()
+ * @generated
+ */
+ public static final int XML_ONE_TO_MANY_22 = 8;
+
+ /**
+ * The feature id for the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY_22__CASCADE_ON_DELETE = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml One To Many 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ONE_TO_MANY_22_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2 <em>Xml Embeddable 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlEmbeddable_2_2()
+ * @generated
+ */
+ public static final int XML_EMBEDDABLE_22 = 9;
+
+ /**
+ * 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_EMBEDDABLE_22__ATTRIBUTE_OVERRIDES = OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES;
+
+ /**
+ * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDABLE_22__ASSOCIATION_OVERRIDES = OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Parent Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDABLE_22__PARENT_CLASS = OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Embeddable 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_EMBEDDABLE_22_FEATURE_COUNT = OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlId_2_2 <em>Xml Id 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlId_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlId_2_2()
+ * @generated
+ */
+ public static final int XML_ID_22 = 10;
+
+ /**
+ * The feature id for the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID_22__INDEX = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Id 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID_22_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2 <em>Xml Index 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlIndex_2_2()
+ * @generated
+ */
+ public static final int XML_INDEX_22 = 11;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_INDEX_22__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_INDEX_22__SCHEMA = 1;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_INDEX_22__CATALOG = 2;
+
+ /**
+ * The feature id for the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_INDEX_22__TABLE = 3;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_INDEX_22__UNIQUE = 4;
+
+ /**
+ * 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_INDEX_22__COLUMN_NAMES = 5;
+
+ /**
+ * The number of structural features of the '<em>Xml Index 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_INDEX_22_FEATURE_COUNT = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlMappedSuperclass_2_2 <em>Xml Mapped Superclass 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlMappedSuperclass_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlMappedSuperclass_2_2()
+ * @generated
+ */
+ public static final int XML_MAPPED_SUPERCLASS_22 = 12;
+
+ /**
+ * The feature id for the '<em><b>Additional Criteria</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_SUPERCLASS_22__ADDITIONAL_CRITERIA = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Mapped Superclass 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_MAPPED_SUPERCLASS_22_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlVersion_2_2 <em>Xml Version 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlVersion_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlVersion_2_2()
+ * @generated
+ */
+ public static final int XML_VERSION_22 = 13;
+
+ /**
+ * The feature id for the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION_22__INDEX = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Version 22</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION_22_FEATURE_COUNT = 1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlAdditionalCriteria_2_2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlBasic_2_2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlBasicCollection_2_2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlBasicMap_2_2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlElementCollection_2_2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEntity_2_2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlManyToMany_2_2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOneToOne_2_2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlOneToMany_2_2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlEmbeddable_2_2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlId_2_2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlIndex_2_2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlMappedSuperclass_2_2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlVersion_2_2EClass = 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.orm.v2_2.EclipseLinkOrmV2_2Package#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private EclipseLinkOrmV2_2Package()
+ {
+ super(eNS_URI, EclipseLinkOrmV2_2Factory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link EclipseLinkOrmV2_2Package#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static EclipseLinkOrmV2_2Package init()
+ {
+ if (isInited) return (EclipseLinkOrmV2_2Package)EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_2Package.eNS_URI);
+
+ // Obtain or create and register package
+ EclipseLinkOrmV2_2Package theEclipseLinkOrmV2_2Package = (EclipseLinkOrmV2_2Package)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EclipseLinkOrmV2_2Package ? EPackage.Registry.INSTANCE.get(eNS_URI) : new EclipseLinkOrmV2_2Package());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ OrmPackage.eINSTANCE.eClass();
+ CommonPackage.eINSTANCE.eClass();
+ XMLTypePackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EclipseLinkOrmPackage theEclipseLinkOrmPackage = (EclipseLinkOrmPackage)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmPackage.eNS_URI) instanceof EclipseLinkOrmPackage ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmPackage.eNS_URI) : EclipseLinkOrmPackage.eINSTANCE);
+ EclipseLinkOrmV1_1Package theEclipseLinkOrmV1_1Package = (EclipseLinkOrmV1_1Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV1_1Package.eNS_URI) instanceof EclipseLinkOrmV1_1Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV1_1Package.eNS_URI) : EclipseLinkOrmV1_1Package.eINSTANCE);
+ EclipseLinkOrmV2_0Package theEclipseLinkOrmV2_0Package = (EclipseLinkOrmV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_0Package.eNS_URI) instanceof EclipseLinkOrmV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_0Package.eNS_URI) : EclipseLinkOrmV2_0Package.eINSTANCE);
+ EclipseLinkOrmV2_1Package theEclipseLinkOrmV2_1Package = (EclipseLinkOrmV2_1Package)(EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_1Package.eNS_URI) instanceof EclipseLinkOrmV2_1Package ? EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmV2_1Package.eNS_URI) : EclipseLinkOrmV2_1Package.eINSTANCE);
+
+ // Create package meta-data objects
+ theEclipseLinkOrmV2_2Package.createPackageContents();
+ theEclipseLinkOrmPackage.createPackageContents();
+ theEclipseLinkOrmV1_1Package.createPackageContents();
+ theEclipseLinkOrmV2_0Package.createPackageContents();
+ theEclipseLinkOrmV2_1Package.createPackageContents();
+
+ // Initialize created meta-data
+ theEclipseLinkOrmV2_2Package.initializePackageContents();
+ theEclipseLinkOrmPackage.initializePackageContents();
+ theEclipseLinkOrmV1_1Package.initializePackageContents();
+ theEclipseLinkOrmV2_0Package.initializePackageContents();
+ theEclipseLinkOrmV2_1Package.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theEclipseLinkOrmV2_2Package.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(EclipseLinkOrmV2_2Package.eNS_URI, theEclipseLinkOrmV2_2Package);
+ return theEclipseLinkOrmV2_2Package;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2 <em>Xml Additional Criteria 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Additional Criteria 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2
+ * @generated
+ */
+ public EClass getXmlAdditionalCriteria_2_2()
+ {
+ return xmlAdditionalCriteria_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2#getCriteria <em>Criteria</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Criteria</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2#getCriteria()
+ * @see #getXmlAdditionalCriteria_2_2()
+ * @generated
+ */
+ public EAttribute getXmlAdditionalCriteria_2_2_Criteria()
+ {
+ return (EAttribute)xmlAdditionalCriteria_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasic_2_2 <em>Xml Basic 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Basic 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasic_2_2
+ * @generated
+ */
+ public EClass getXmlBasic_2_2()
+ {
+ return xmlBasic_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasic_2_2#getIndex <em>Index</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Index</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasic_2_2#getIndex()
+ * @see #getXmlBasic_2_2()
+ * @generated
+ */
+ public EReference getXmlBasic_2_2_Index()
+ {
+ return (EReference)xmlBasic_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicCollection_2_2 <em>Xml Basic Collection 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Basic Collection 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicCollection_2_2
+ * @generated
+ */
+ public EClass getXmlBasicCollection_2_2()
+ {
+ return xmlBasicCollection_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicCollection_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade On Delete</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicCollection_2_2#getCascadeOnDelete()
+ * @see #getXmlBasicCollection_2_2()
+ * @generated
+ */
+ public EAttribute getXmlBasicCollection_2_2_CascadeOnDelete()
+ {
+ return (EAttribute)xmlBasicCollection_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicMap_2_2 <em>Xml Basic Map 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Basic Map 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicMap_2_2
+ * @generated
+ */
+ public EClass getXmlBasicMap_2_2()
+ {
+ return xmlBasicMap_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicMap_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade On Delete</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicMap_2_2#getCascadeOnDelete()
+ * @see #getXmlBasicMap_2_2()
+ * @generated
+ */
+ public EAttribute getXmlBasicMap_2_2_CascadeOnDelete()
+ {
+ return (EAttribute)xmlBasicMap_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlElementCollection_2_2 <em>Xml Element Collection 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Element Collection 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlElementCollection_2_2
+ * @generated
+ */
+ public EClass getXmlElementCollection_2_2()
+ {
+ return xmlElementCollection_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlElementCollection_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade On Delete</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlElementCollection_2_2#getCascadeOnDelete()
+ * @see #getXmlElementCollection_2_2()
+ * @generated
+ */
+ public EAttribute getXmlElementCollection_2_2_CascadeOnDelete()
+ {
+ return (EAttribute)xmlElementCollection_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2 <em>Xml Entity 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Entity 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2
+ * @generated
+ */
+ public EClass getXmlEntity_2_2()
+ {
+ return xmlEntity_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade On Delete</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2#getCascadeOnDelete()
+ * @see #getXmlEntity_2_2()
+ * @generated
+ */
+ public EAttribute getXmlEntity_2_2_CascadeOnDelete()
+ {
+ return (EAttribute)xmlEntity_2_2EClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2#getIndex <em>Index</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Index</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2#getIndex()
+ * @see #getXmlEntity_2_2()
+ * @generated
+ */
+ public EReference getXmlEntity_2_2_Index()
+ {
+ return (EReference)xmlEntity_2_2EClass.getEStructuralFeatures().get(2);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2#getAdditionalCriteria <em>Additional Criteria</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Additional Criteria</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2#getAdditionalCriteria()
+ * @see #getXmlEntity_2_2()
+ * @generated
+ */
+ public EReference getXmlEntity_2_2_AdditionalCriteria()
+ {
+ return (EReference)xmlEntity_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlManyToMany_2_2 <em>Xml Many To Many 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Many To Many 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlManyToMany_2_2
+ * @generated
+ */
+ public EClass getXmlManyToMany_2_2()
+ {
+ return xmlManyToMany_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlManyToMany_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade On Delete</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlManyToMany_2_2#getCascadeOnDelete()
+ * @see #getXmlManyToMany_2_2()
+ * @generated
+ */
+ public EAttribute getXmlManyToMany_2_2_CascadeOnDelete()
+ {
+ return (EAttribute)xmlManyToMany_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToOne_2_2 <em>Xml One To One 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml One To One 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToOne_2_2
+ * @generated
+ */
+ public EClass getXmlOneToOne_2_2()
+ {
+ return xmlOneToOne_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToOne_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade On Delete</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToOne_2_2#getCascadeOnDelete()
+ * @see #getXmlOneToOne_2_2()
+ * @generated
+ */
+ public EAttribute getXmlOneToOne_2_2_CascadeOnDelete()
+ {
+ return (EAttribute)xmlOneToOne_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToMany_2_2 <em>Xml One To Many 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml One To Many 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToMany_2_2
+ * @generated
+ */
+ public EClass getXmlOneToMany_2_2()
+ {
+ return xmlOneToMany_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToMany_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cascade On Delete</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToMany_2_2#getCascadeOnDelete()
+ * @see #getXmlOneToMany_2_2()
+ * @generated
+ */
+ public EAttribute getXmlOneToMany_2_2_CascadeOnDelete()
+ {
+ return (EAttribute)xmlOneToMany_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2 <em>Xml Embeddable 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Embeddable 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2
+ * @generated
+ */
+ public EClass getXmlEmbeddable_2_2()
+ {
+ return xmlEmbeddable_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2#getParentClass <em>Parent Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Parent Class</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2#getParentClass()
+ * @see #getXmlEmbeddable_2_2()
+ * @generated
+ */
+ public EAttribute getXmlEmbeddable_2_2_ParentClass()
+ {
+ return (EAttribute)xmlEmbeddable_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlId_2_2 <em>Xml Id 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Id 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlId_2_2
+ * @generated
+ */
+ public EClass getXmlId_2_2()
+ {
+ return xmlId_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlId_2_2#getIndex <em>Index</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Index</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlId_2_2#getIndex()
+ * @see #getXmlId_2_2()
+ * @generated
+ */
+ public EReference getXmlId_2_2_Index()
+ {
+ return (EReference)xmlId_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2 <em>Xml Index 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Index 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2
+ * @generated
+ */
+ public EClass getXmlIndex_2_2()
+ {
+ return xmlIndex_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2#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.orm.v2_2.XmlIndex_2_2#getName()
+ * @see #getXmlIndex_2_2()
+ * @generated
+ */
+ public EAttribute getXmlIndex_2_2_Name()
+ {
+ return (EAttribute)xmlIndex_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2#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.orm.v2_2.XmlIndex_2_2#getSchema()
+ * @see #getXmlIndex_2_2()
+ * @generated
+ */
+ public EAttribute getXmlIndex_2_2_Schema()
+ {
+ return (EAttribute)xmlIndex_2_2EClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2#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.orm.v2_2.XmlIndex_2_2#getCatalog()
+ * @see #getXmlIndex_2_2()
+ * @generated
+ */
+ public EAttribute getXmlIndex_2_2_Catalog()
+ {
+ return (EAttribute)xmlIndex_2_2EClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2#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.orm.v2_2.XmlIndex_2_2#getTable()
+ * @see #getXmlIndex_2_2()
+ * @generated
+ */
+ public EAttribute getXmlIndex_2_2_Table()
+ {
+ return (EAttribute)xmlIndex_2_2EClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2#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.orm.v2_2.XmlIndex_2_2#getUnique()
+ * @see #getXmlIndex_2_2()
+ * @generated
+ */
+ public EAttribute getXmlIndex_2_2_Unique()
+ {
+ return (EAttribute)xmlIndex_2_2EClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2#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.orm.v2_2.XmlIndex_2_2#getColumnNames()
+ * @see #getXmlIndex_2_2()
+ * @generated
+ */
+ public EAttribute getXmlIndex_2_2_ColumnNames()
+ {
+ return (EAttribute)xmlIndex_2_2EClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlMappedSuperclass_2_2 <em>Xml Mapped Superclass 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Mapped Superclass 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlMappedSuperclass_2_2
+ * @generated
+ */
+ public EClass getXmlMappedSuperclass_2_2()
+ {
+ return xmlMappedSuperclass_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlMappedSuperclass_2_2#getAdditionalCriteria <em>Additional Criteria</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Additional Criteria</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlMappedSuperclass_2_2#getAdditionalCriteria()
+ * @see #getXmlMappedSuperclass_2_2()
+ * @generated
+ */
+ public EReference getXmlMappedSuperclass_2_2_AdditionalCriteria()
+ {
+ return (EReference)xmlMappedSuperclass_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlVersion_2_2 <em>Xml Version 22</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Version 22</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlVersion_2_2
+ * @generated
+ */
+ public EClass getXmlVersion_2_2()
+ {
+ return xmlVersion_2_2EClass;
+ }
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlVersion_2_2#getIndex <em>Index</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Index</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlVersion_2_2#getIndex()
+ * @see #getXmlVersion_2_2()
+ * @generated
+ */
+ public EReference getXmlVersion_2_2_Index()
+ {
+ return (EReference)xmlVersion_2_2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * 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 EclipseLinkOrmV2_2Factory getEclipseLinkOrmV2_2Factory()
+ {
+ return (EclipseLinkOrmV2_2Factory)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
+ xmlAdditionalCriteria_2_2EClass = createEClass(XML_ADDITIONAL_CRITERIA_22);
+ createEAttribute(xmlAdditionalCriteria_2_2EClass, XML_ADDITIONAL_CRITERIA_22__CRITERIA);
+
+ xmlBasic_2_2EClass = createEClass(XML_BASIC_22);
+ createEReference(xmlBasic_2_2EClass, XML_BASIC_22__INDEX);
+
+ xmlBasicCollection_2_2EClass = createEClass(XML_BASIC_COLLECTION_22);
+ createEAttribute(xmlBasicCollection_2_2EClass, XML_BASIC_COLLECTION_22__CASCADE_ON_DELETE);
+
+ xmlBasicMap_2_2EClass = createEClass(XML_BASIC_MAP_22);
+ createEAttribute(xmlBasicMap_2_2EClass, XML_BASIC_MAP_22__CASCADE_ON_DELETE);
+
+ xmlElementCollection_2_2EClass = createEClass(XML_ELEMENT_COLLECTION_22);
+ createEAttribute(xmlElementCollection_2_2EClass, XML_ELEMENT_COLLECTION_22__CASCADE_ON_DELETE);
+
+ xmlEntity_2_2EClass = createEClass(XML_ENTITY_22);
+ createEReference(xmlEntity_2_2EClass, XML_ENTITY_22__ADDITIONAL_CRITERIA);
+ createEAttribute(xmlEntity_2_2EClass, XML_ENTITY_22__CASCADE_ON_DELETE);
+ createEReference(xmlEntity_2_2EClass, XML_ENTITY_22__INDEX);
+
+ xmlManyToMany_2_2EClass = createEClass(XML_MANY_TO_MANY_22);
+ createEAttribute(xmlManyToMany_2_2EClass, XML_MANY_TO_MANY_22__CASCADE_ON_DELETE);
+
+ xmlOneToOne_2_2EClass = createEClass(XML_ONE_TO_ONE_22);
+ createEAttribute(xmlOneToOne_2_2EClass, XML_ONE_TO_ONE_22__CASCADE_ON_DELETE);
+
+ xmlOneToMany_2_2EClass = createEClass(XML_ONE_TO_MANY_22);
+ createEAttribute(xmlOneToMany_2_2EClass, XML_ONE_TO_MANY_22__CASCADE_ON_DELETE);
+
+ xmlEmbeddable_2_2EClass = createEClass(XML_EMBEDDABLE_22);
+ createEAttribute(xmlEmbeddable_2_2EClass, XML_EMBEDDABLE_22__PARENT_CLASS);
+
+ xmlId_2_2EClass = createEClass(XML_ID_22);
+ createEReference(xmlId_2_2EClass, XML_ID_22__INDEX);
+
+ xmlIndex_2_2EClass = createEClass(XML_INDEX_22);
+ createEAttribute(xmlIndex_2_2EClass, XML_INDEX_22__NAME);
+ createEAttribute(xmlIndex_2_2EClass, XML_INDEX_22__SCHEMA);
+ createEAttribute(xmlIndex_2_2EClass, XML_INDEX_22__CATALOG);
+ createEAttribute(xmlIndex_2_2EClass, XML_INDEX_22__TABLE);
+ createEAttribute(xmlIndex_2_2EClass, XML_INDEX_22__UNIQUE);
+ createEAttribute(xmlIndex_2_2EClass, XML_INDEX_22__COLUMN_NAMES);
+
+ xmlMappedSuperclass_2_2EClass = createEClass(XML_MAPPED_SUPERCLASS_22);
+ createEReference(xmlMappedSuperclass_2_2EClass, XML_MAPPED_SUPERCLASS_22__ADDITIONAL_CRITERIA);
+
+ xmlVersion_2_2EClass = createEClass(XML_VERSION_22);
+ createEReference(xmlVersion_2_2EClass, XML_VERSION_22__INDEX);
+ }
+
+ /**
+ * <!-- 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);
+ OrmPackage theOrmPackage = (OrmPackage)EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ xmlEmbeddable_2_2EClass.getESuperTypes().add(theOrmPackage.getXmlAttributeOverrideContainer());
+ xmlEmbeddable_2_2EClass.getESuperTypes().add(theOrmPackage.getXmlAssociationOverrideContainer());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(xmlAdditionalCriteria_2_2EClass, XmlAdditionalCriteria_2_2.class, "XmlAdditionalCriteria_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlAdditionalCriteria_2_2_Criteria(), theXMLTypePackage.getString(), "criteria", null, 0, 1, XmlAdditionalCriteria_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlBasic_2_2EClass, XmlBasic_2_2.class, "XmlBasic_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlBasic_2_2_Index(), this.getXmlIndex_2_2(), null, "index", null, 0, 1, XmlBasic_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlBasicCollection_2_2EClass, XmlBasicCollection_2_2.class, "XmlBasicCollection_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlBasicCollection_2_2_CascadeOnDelete(), theXMLTypePackage.getBooleanObject(), "cascadeOnDelete", null, 0, 1, XmlBasicCollection_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlBasicMap_2_2EClass, XmlBasicMap_2_2.class, "XmlBasicMap_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlBasicMap_2_2_CascadeOnDelete(), theXMLTypePackage.getBooleanObject(), "cascadeOnDelete", null, 0, 1, XmlBasicMap_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlElementCollection_2_2EClass, XmlElementCollection_2_2.class, "XmlElementCollection_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlElementCollection_2_2_CascadeOnDelete(), theXMLTypePackage.getBooleanObject(), "cascadeOnDelete", null, 0, 1, XmlElementCollection_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlEntity_2_2EClass, XmlEntity_2_2.class, "XmlEntity_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlEntity_2_2_AdditionalCriteria(), this.getXmlAdditionalCriteria_2_2(), null, "additionalCriteria", null, 0, 1, XmlEntity_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlEntity_2_2_CascadeOnDelete(), theXMLTypePackage.getBooleanObject(), "cascadeOnDelete", null, 0, 1, XmlEntity_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlEntity_2_2_Index(), this.getXmlIndex_2_2(), null, "index", null, 0, 1, XmlEntity_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlManyToMany_2_2EClass, XmlManyToMany_2_2.class, "XmlManyToMany_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlManyToMany_2_2_CascadeOnDelete(), theXMLTypePackage.getBooleanObject(), "cascadeOnDelete", null, 0, 1, XmlManyToMany_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlOneToOne_2_2EClass, XmlOneToOne_2_2.class, "XmlOneToOne_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlOneToOne_2_2_CascadeOnDelete(), theXMLTypePackage.getBooleanObject(), "cascadeOnDelete", null, 0, 1, XmlOneToOne_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlOneToMany_2_2EClass, XmlOneToMany_2_2.class, "XmlOneToMany_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlOneToMany_2_2_CascadeOnDelete(), theXMLTypePackage.getBooleanObject(), "cascadeOnDelete", null, 0, 1, XmlOneToMany_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlEmbeddable_2_2EClass, XmlEmbeddable_2_2.class, "XmlEmbeddable_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlEmbeddable_2_2_ParentClass(), theXMLTypePackage.getString(), "parentClass", null, 0, 1, XmlEmbeddable_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlId_2_2EClass, XmlId_2_2.class, "XmlId_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlId_2_2_Index(), this.getXmlIndex_2_2(), null, "index", null, 0, 1, XmlId_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlIndex_2_2EClass, XmlIndex_2_2.class, "XmlIndex_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlIndex_2_2_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, XmlIndex_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlIndex_2_2_Schema(), theXMLTypePackage.getString(), "schema", null, 0, 1, XmlIndex_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlIndex_2_2_Catalog(), theXMLTypePackage.getString(), "catalog", null, 0, 1, XmlIndex_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlIndex_2_2_Table(), theXMLTypePackage.getString(), "table", null, 0, 1, XmlIndex_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlIndex_2_2_Unique(), theXMLTypePackage.getBooleanObject(), "unique", null, 0, 1, XmlIndex_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlIndex_2_2_ColumnNames(), theXMLTypePackage.getString(), "columnNames", null, 0, -1, XmlIndex_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlMappedSuperclass_2_2EClass, XmlMappedSuperclass_2_2.class, "XmlMappedSuperclass_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlMappedSuperclass_2_2_AdditionalCriteria(), this.getXmlAdditionalCriteria_2_2(), null, "additionalCriteria", null, 0, 1, XmlMappedSuperclass_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlVersion_2_2EClass, XmlVersion_2_2.class, "XmlVersion_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlVersion_2_2_Index(), this.getXmlIndex_2_2(), null, "index", null, 0, 1, XmlVersion_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ }
+
+ /**
+ * <!-- 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.orm.v2_2.XmlAdditionalCriteria_2_2 <em>Xml Additional Criteria 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlAdditionalCriteria_2_2()
+ * @generated
+ */
+ public static final EClass XML_ADDITIONAL_CRITERIA_22 = eINSTANCE.getXmlAdditionalCriteria_2_2();
+
+ /**
+ * The meta object literal for the '<em><b>Criteria</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ADDITIONAL_CRITERIA_22__CRITERIA = eINSTANCE.getXmlAdditionalCriteria_2_2_Criteria();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasic_2_2 <em>Xml Basic 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasic_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlBasic_2_2()
+ * @generated
+ */
+ public static final EClass XML_BASIC_22 = eINSTANCE.getXmlBasic_2_2();
+
+ /**
+ * The meta object literal for the '<em><b>Index</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_BASIC_22__INDEX = eINSTANCE.getXmlBasic_2_2_Index();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicCollection_2_2 <em>Xml Basic Collection 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicCollection_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlBasicCollection_2_2()
+ * @generated
+ */
+ public static final EClass XML_BASIC_COLLECTION_22 = eINSTANCE.getXmlBasicCollection_2_2();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade On Delete</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_BASIC_COLLECTION_22__CASCADE_ON_DELETE = eINSTANCE.getXmlBasicCollection_2_2_CascadeOnDelete();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicMap_2_2 <em>Xml Basic Map 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicMap_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlBasicMap_2_2()
+ * @generated
+ */
+ public static final EClass XML_BASIC_MAP_22 = eINSTANCE.getXmlBasicMap_2_2();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade On Delete</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_BASIC_MAP_22__CASCADE_ON_DELETE = eINSTANCE.getXmlBasicMap_2_2_CascadeOnDelete();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlElementCollection_2_2 <em>Xml Element Collection 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlElementCollection_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlElementCollection_2_2()
+ * @generated
+ */
+ public static final EClass XML_ELEMENT_COLLECTION_22 = eINSTANCE.getXmlElementCollection_2_2();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade On Delete</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ELEMENT_COLLECTION_22__CASCADE_ON_DELETE = eINSTANCE.getXmlElementCollection_2_2_CascadeOnDelete();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2 <em>Xml Entity 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlEntity_2_2()
+ * @generated
+ */
+ public static final EClass XML_ENTITY_22 = eINSTANCE.getXmlEntity_2_2();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade On Delete</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ENTITY_22__CASCADE_ON_DELETE = eINSTANCE.getXmlEntity_2_2_CascadeOnDelete();
+
+ /**
+ * The meta object literal for the '<em><b>Index</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY_22__INDEX = eINSTANCE.getXmlEntity_2_2_Index();
+
+ /**
+ * The meta object literal for the '<em><b>Additional Criteria</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ENTITY_22__ADDITIONAL_CRITERIA = eINSTANCE.getXmlEntity_2_2_AdditionalCriteria();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlManyToMany_2_2 <em>Xml Many To Many 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlManyToMany_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlManyToMany_2_2()
+ * @generated
+ */
+ public static final EClass XML_MANY_TO_MANY_22 = eINSTANCE.getXmlManyToMany_2_2();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade On Delete</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_MANY_TO_MANY_22__CASCADE_ON_DELETE = eINSTANCE.getXmlManyToMany_2_2_CascadeOnDelete();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToOne_2_2 <em>Xml One To One 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToOne_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlOneToOne_2_2()
+ * @generated
+ */
+ public static final EClass XML_ONE_TO_ONE_22 = eINSTANCE.getXmlOneToOne_2_2();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade On Delete</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ONE_TO_ONE_22__CASCADE_ON_DELETE = eINSTANCE.getXmlOneToOne_2_2_CascadeOnDelete();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToMany_2_2 <em>Xml One To Many 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToMany_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlOneToMany_2_2()
+ * @generated
+ */
+ public static final EClass XML_ONE_TO_MANY_22 = eINSTANCE.getXmlOneToMany_2_2();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade On Delete</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_ONE_TO_MANY_22__CASCADE_ON_DELETE = eINSTANCE.getXmlOneToMany_2_2_CascadeOnDelete();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2 <em>Xml Embeddable 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlEmbeddable_2_2()
+ * @generated
+ */
+ public static final EClass XML_EMBEDDABLE_22 = eINSTANCE.getXmlEmbeddable_2_2();
+
+ /**
+ * The meta object literal for the '<em><b>Parent Class</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_EMBEDDABLE_22__PARENT_CLASS = eINSTANCE.getXmlEmbeddable_2_2_ParentClass();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlId_2_2 <em>Xml Id 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlId_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlId_2_2()
+ * @generated
+ */
+ public static final EClass XML_ID_22 = eINSTANCE.getXmlId_2_2();
+
+ /**
+ * The meta object literal for the '<em><b>Index</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ID_22__INDEX = eINSTANCE.getXmlId_2_2_Index();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2 <em>Xml Index 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlIndex_2_2()
+ * @generated
+ */
+ public static final EClass XML_INDEX_22 = eINSTANCE.getXmlIndex_2_2();
+
+ /**
+ * 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_INDEX_22__NAME = eINSTANCE.getXmlIndex_2_2_Name();
+
+ /**
+ * 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_INDEX_22__SCHEMA = eINSTANCE.getXmlIndex_2_2_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_INDEX_22__CATALOG = eINSTANCE.getXmlIndex_2_2_Catalog();
+
+ /**
+ * 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_INDEX_22__TABLE = eINSTANCE.getXmlIndex_2_2_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_INDEX_22__UNIQUE = eINSTANCE.getXmlIndex_2_2_Unique();
+
+ /**
+ * 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_INDEX_22__COLUMN_NAMES = eINSTANCE.getXmlIndex_2_2_ColumnNames();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlMappedSuperclass_2_2 <em>Xml Mapped Superclass 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlMappedSuperclass_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlMappedSuperclass_2_2()
+ * @generated
+ */
+ public static final EClass XML_MAPPED_SUPERCLASS_22 = eINSTANCE.getXmlMappedSuperclass_2_2();
+
+ /**
+ * The meta object literal for the '<em><b>Additional Criteria</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_MAPPED_SUPERCLASS_22__ADDITIONAL_CRITERIA = eINSTANCE.getXmlMappedSuperclass_2_2_AdditionalCriteria();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlVersion_2_2 <em>Xml Version 22</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlVersion_2_2
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlVersion_2_2()
+ * @generated
+ */
+ public static final EClass XML_VERSION_22 = eINSTANCE.getXmlVersion_2_2();
+
+ /**
+ * The meta object literal for the '<em><b>Index</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_VERSION_22__INDEX = eINSTANCE.getXmlVersion_2_2_Index();
+
+ }
+
+} //EclipseLinkOrmV2_2Package
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlAdditionalCriteria_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlAdditionalCriteria_2_2.java
new file mode 100644
index 0000000000..000756373a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlAdditionalCriteria_2_2.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Additional Criteria 22</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2#getCriteria <em>Criteria</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlAdditionalCriteria_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlAdditionalCriteria_2_2 extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Criteria</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Criteria</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Criteria</em>' attribute.
+ * @see #setCriteria(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlAdditionalCriteria_2_2_Criteria()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getCriteria();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2#getCriteria <em>Criteria</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Criteria</em>' attribute.
+ * @see #getCriteria()
+ * @generated
+ */
+ void setCriteria(String value);
+
+} // XmlAdditionalCriteria_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlBasicCollection_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlBasicCollection_2_2.java
new file mode 100644
index 0000000000..8c240da2f8
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlBasicCollection_2_2.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Basic Collection 22</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicCollection_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlBasicCollection_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlBasicCollection_2_2 extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlBasicCollection_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getCascadeOnDelete();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicCollection_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ void setCascadeOnDelete(Boolean value);
+
+} // XmlBasicCollection_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlBasicMap_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlBasicMap_2_2.java
new file mode 100644
index 0000000000..61a435ebdf
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlBasicMap_2_2.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Basic Map 22</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicMap_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlBasicMap_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlBasicMap_2_2 extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlBasicMap_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getCascadeOnDelete();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasicMap_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ void setCascadeOnDelete(Boolean value);
+
+} // XmlBasicMap_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlBasic_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlBasic_2_2.java
new file mode 100644
index 0000000000..09cf374465
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlBasic_2_2.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Basic 22</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasic_2_2#getIndex <em>Index</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlBasic_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlBasic_2_2 extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Index</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>Index</em>' containment reference.
+ * @see #setIndex(XmlIndex_2_2)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlBasic_2_2_Index()
+ * @model containment="true"
+ * @generated
+ */
+ XmlIndex_2_2 getIndex();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlBasic_2_2#getIndex <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Index</em>' containment reference.
+ * @see #getIndex()
+ * @generated
+ */
+ void setIndex(XmlIndex_2_2 value);
+
+} // XmlBasic_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlElementCollection_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlElementCollection_2_2.java
new file mode 100644
index 0000000000..3f205d0e6a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlElementCollection_2_2.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Element Collection 22</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlElementCollection_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlElementCollection_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlElementCollection_2_2 extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlElementCollection_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getCascadeOnDelete();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlElementCollection_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ void setCascadeOnDelete(Boolean value);
+
+} // XmlElementCollection_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlEmbeddable_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlEmbeddable_2_2.java
new file mode 100644
index 0000000000..d22d279436
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlEmbeddable_2_2.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.core.resource.orm.XmlAssociationOverrideContainer;
+import org.eclipse.jpt.core.resource.orm.XmlAttributeOverrideContainer;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Embeddable 22</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2#getParentClass <em>Parent Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlEmbeddable_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlEmbeddable_2_2 extends XmlAttributeOverrideContainer, XmlAssociationOverrideContainer
+{
+ /**
+ * Returns the value of the '<em><b>Parent Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parent 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>Parent Class</em>' attribute.
+ * @see #setParentClass(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlEmbeddable_2_2_ParentClass()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getParentClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2#getParentClass <em>Parent Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parent Class</em>' attribute.
+ * @see #getParentClass()
+ * @generated
+ */
+ void setParentClass(String value);
+
+} // XmlEmbeddable_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlEntity_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlEntity_2_2.java
new file mode 100644
index 0000000000..52c5892c69
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlEntity_2_2.java
@@ -0,0 +1,119 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Entity 22</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2#getAdditionalCriteria <em>Additional Criteria</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2#getIndex <em>Index</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlEntity_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlEntity_2_2 extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlEntity_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getCascadeOnDelete();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ void setCascadeOnDelete(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Index</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>Index</em>' containment reference.
+ * @see #setIndex(XmlIndex_2_2)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlEntity_2_2_Index()
+ * @model containment="true"
+ * @generated
+ */
+ XmlIndex_2_2 getIndex();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2#getIndex <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Index</em>' containment reference.
+ * @see #getIndex()
+ * @generated
+ */
+ void setIndex(XmlIndex_2_2 value);
+
+ /**
+ * Returns the value of the '<em><b>Additional Criteria</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Additional Criteria</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>Additional Criteria</em>' containment reference.
+ * @see #setAdditionalCriteria(XmlAdditionalCriteria_2_2)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlEntity_2_2_AdditionalCriteria()
+ * @model containment="true"
+ * @generated
+ */
+ XmlAdditionalCriteria_2_2 getAdditionalCriteria();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlEntity_2_2#getAdditionalCriteria <em>Additional Criteria</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Additional Criteria</em>' containment reference.
+ * @see #getAdditionalCriteria()
+ * @generated
+ */
+ void setAdditionalCriteria(XmlAdditionalCriteria_2_2 value);
+
+} // XmlEntity_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlId_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlId_2_2.java
new file mode 100644
index 0000000000..40513cef0e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlId_2_2.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: XmlId_2_2.java,v 1.1 2010/10/25 18:21:53 kmoore Exp $
+ */
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Id 22</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlId_2_2#getIndex <em>Index</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlId_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlId_2_2 extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Index</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>Index</em>' containment reference.
+ * @see #setIndex(XmlIndex_2_2)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlId_2_2_Index()
+ * @model containment="true"
+ * @generated
+ */
+ XmlIndex_2_2 getIndex();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlId_2_2#getIndex <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Index</em>' containment reference.
+ * @see #getIndex()
+ * @generated
+ */
+ void setIndex(XmlIndex_2_2 value);
+
+} // XmlId_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlIndex_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlIndex_2_2.java
new file mode 100644
index 0000000000..fb53af0ff3
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlIndex_2_2.java
@@ -0,0 +1,191 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Index 22</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2#getTable <em>Table</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2#getUnique <em>Unique</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlIndex_2_2#getColumnNames <em>Column Names</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlIndex_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlIndex_2_2 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.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlIndex_2_2_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.orm.v2_2.XmlIndex_2_2#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>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.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlIndex_2_2_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.orm.v2_2.XmlIndex_2_2#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>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.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlIndex_2_2_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.orm.v2_2.XmlIndex_2_2#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>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.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlIndex_2_2_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.orm.v2_2.XmlIndex_2_2#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.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlIndex_2_2_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.orm.v2_2.XmlIndex_2_2#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>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.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlIndex_2_2_ColumnNames()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ EList<String> getColumnNames();
+
+} // XmlIndex_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlManyToMany_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlManyToMany_2_2.java
new file mode 100644
index 0000000000..c6a84688dc
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlManyToMany_2_2.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Many To Many 22</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlManyToMany_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlManyToMany_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlManyToMany_2_2 extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlManyToMany_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getCascadeOnDelete();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlManyToMany_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ void setCascadeOnDelete(Boolean value);
+
+} // XmlManyToMany_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlMappedSuperclass_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlMappedSuperclass_2_2.java
new file mode 100644
index 0000000000..c1ad92c7b4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlMappedSuperclass_2_2.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Mapped Superclass 22</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlMappedSuperclass_2_2#getAdditionalCriteria <em>Additional Criteria</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlMappedSuperclass_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlMappedSuperclass_2_2 extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Additional Criteria</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Additional Criteria</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>Additional Criteria</em>' containment reference.
+ * @see #setAdditionalCriteria(XmlAdditionalCriteria_2_2)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlMappedSuperclass_2_2_AdditionalCriteria()
+ * @model containment="true"
+ * @generated
+ */
+ XmlAdditionalCriteria_2_2 getAdditionalCriteria();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlMappedSuperclass_2_2#getAdditionalCriteria <em>Additional Criteria</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Additional Criteria</em>' containment reference.
+ * @see #getAdditionalCriteria()
+ * @generated
+ */
+ void setAdditionalCriteria(XmlAdditionalCriteria_2_2 value);
+
+} // XmlMappedSuperclass_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlOneToMany_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlOneToMany_2_2.java
new file mode 100644
index 0000000000..66ef4b951c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlOneToMany_2_2.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml One To Many 22</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToMany_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlOneToMany_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlOneToMany_2_2 extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlOneToMany_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getCascadeOnDelete();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToMany_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ void setCascadeOnDelete(Boolean value);
+
+} // XmlOneToMany_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlOneToOne_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlOneToOne_2_2.java
new file mode 100644
index 0000000000..7426f74dcf
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlOneToOne_2_2.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml One To One 22</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToOne_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlOneToOne_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlOneToOne_2_2 extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Cascade On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade On Delete</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 On Delete</em>' attribute.
+ * @see #setCascadeOnDelete(Boolean)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlOneToOne_2_2_CascadeOnDelete()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ Boolean getCascadeOnDelete();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlOneToOne_2_2#getCascadeOnDelete <em>Cascade On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cascade On Delete</em>' attribute.
+ * @see #getCascadeOnDelete()
+ * @generated
+ */
+ void setCascadeOnDelete(Boolean value);
+
+} // XmlOneToOne_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlVersion_2_2.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlVersion_2_2.java
new file mode 100644
index 0000000000..c38f58226e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_2/XmlVersion_2_2.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_2;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Version 22</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlVersion_2_2#getIndex <em>Index</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlVersion_2_2()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlVersion_2_2 extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Index</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>Index</em>' containment reference.
+ * @see #setIndex(XmlIndex_2_2)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlVersion_2_2_Index()
+ * @model containment="true"
+ * @generated
+ */
+ XmlIndex_2_2 getIndex();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_2.XmlVersion_2_2#getIndex <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Index</em>' containment reference.
+ * @see #getIndex()
+ * @generated
+ */
+ void setIndex(XmlIndex_2_2 value);
+
+} // XmlVersion_2_2
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/META-INF/MANIFEST.MF b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/META-INF/MANIFEST.MF
index 88546f1584..34cd34f707 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/META-INF/MANIFEST.MF
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/META-INF/MANIFEST.MF
@@ -51,9 +51,13 @@ Export-Package: org.eclipse.jpt.eclipselink.ui,
org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.orm;x-internal:=true,
org.eclipse.jpt.eclipselink.ui.internal.v2_0.persistence;x-internal:=true,
org.eclipse.jpt.eclipselink.ui.internal.v2_0.persistence.caching;x-internal:=true,
+ org.eclipse.jpt.eclipselink.ui.internal.v2_0.persistence.customization;x-internal:=true,
org.eclipse.jpt.eclipselink.ui.internal.v2_0.persistence.logging;x-internal:=true,
org.eclipse.jpt.eclipselink.ui.internal.v2_0.persistence.options;x-internal:=true,
org.eclipse.jpt.eclipselink.ui.internal.v2_0.platform;x-internal:=true,
+ org.eclipse.jpt.eclipselink.ui.internal.v2_1.details.orm;x-internal:=true,
org.eclipse.jpt.eclipselink.ui.internal.v2_1.platform;x-internal:=true,
+ org.eclipse.jpt.eclipselink.ui.internal.v2_2.details.orm;x-internal:=true,
+ org.eclipse.jpt.eclipselink.ui.internal.v2_2.platform;x-internal:=true,
org.eclipse.jpt.eclipselink.ui.internal.wizards;x-internal:=true
Import-Package: com.ibm.icu.text;version="4.0.1"
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/plugin.xml b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/plugin.xml
index c90eb90b77..5ada25a6e8 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/plugin.xml
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/plugin.xml
@@ -39,6 +39,11 @@
jpaPlatform="eclipselink2_1"
factoryClass="org.eclipse.jpt.eclipselink.ui.internal.v2_1.platform.EclipseLink2_1JpaPlatformUiFactory"/>
+ <jpaPlatformUi
+ id="eclipselink2_2.ui"
+ jpaPlatform="eclipselink2_2"
+ factoryClass="org.eclipse.jpt.eclipselink.ui.internal.v2_2.platform.EclipseLink2_2JpaPlatformUiFactory"/>
+
</extension>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkEntityMappings2_0DetailsProvider.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkEntityMappings2_0DetailsProvider.java
index 3cb4efecaa..5468a6b2ce 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkEntityMappings2_0DetailsProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkEntityMappings2_0DetailsProvider.java
@@ -52,7 +52,8 @@ public class EclipseLinkEntityMappings2_0DetailsProvider
@Override
protected boolean providesDetails(JpaResourceType resourceType) {
return resourceType.equals(JptEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_0_RESOURCE_TYPE) ||
- resourceType.equals(JptEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_1_RESOURCE_TYPE);
+ resourceType.equals(JptEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_1_RESOURCE_TYPE) ||
+ resourceType.equals(JptEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_2_RESOURCE_TYPE);
}
public JpaDetailsPage<? extends JpaStructureNode> buildDetailsPage(
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_2/details/orm/EclipseLinkOrmXml2_2UiDefinition.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_2/details/orm/EclipseLinkOrmXml2_2UiDefinition.java
new file mode 100644
index 0000000000..f180fbf188
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_2/details/orm/EclipseLinkOrmXml2_2UiDefinition.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.ui.internal.v2_2.details.orm;
+
+import java.util.List;
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.context.AttributeMapping;
+import org.eclipse.jpt.core.context.TypeMapping;
+import org.eclipse.jpt.eclipselink.core.internal.JptEclipseLinkCorePlugin;
+import org.eclipse.jpt.eclipselink.ui.internal.details.orm.OrmEclipseLinkBasicCollectionMappingUiDefinition;
+import org.eclipse.jpt.eclipselink.ui.internal.details.orm.OrmEclipseLinkBasicMapMappingUiDefinition;
+import org.eclipse.jpt.eclipselink.ui.internal.details.orm.OrmEclipseLinkTransformationMappingUiDefinition;
+import org.eclipse.jpt.eclipselink.ui.internal.details.orm.OrmEclipseLinkVariableOneToOneMappingUiDefinition;
+import org.eclipse.jpt.eclipselink.ui.internal.structure.EclipseLinkOrmResourceModelStructureProvider;
+import org.eclipse.jpt.eclipselink.ui.internal.v2_1.details.orm.EclipseLinkOrmXml2_1UiFactory;
+import org.eclipse.jpt.ui.ResourceUiDefinition;
+import org.eclipse.jpt.ui.details.orm.OrmAttributeMappingUiDefinition;
+import org.eclipse.jpt.ui.details.orm.OrmTypeMappingUiDefinition;
+import org.eclipse.jpt.ui.details.orm.OrmXmlUiFactory;
+import org.eclipse.jpt.ui.internal.details.orm.AbstractOrmXmlResourceUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmBasicMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmEmbeddableUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmEmbeddedIdMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmEmbeddedMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmEntityUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmIdMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmManyToManyMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmManyToOneMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmMappedSuperclassUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmOneToManyMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmOneToOneMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmTransientMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmVersionMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.jpa2.details.orm.OrmElementCollectionMapping2_0UiDefinition;
+import org.eclipse.jpt.ui.structure.JpaStructureProvider;
+
+public class EclipseLinkOrmXml2_2UiDefinition extends AbstractOrmXmlResourceUiDefinition
+{
+ // singleton
+ private static final ResourceUiDefinition INSTANCE = new EclipseLinkOrmXml2_2UiDefinition();
+
+
+ /**
+ * Return the singleton
+ */
+ public static ResourceUiDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private EclipseLinkOrmXml2_2UiDefinition() {
+ super();
+ }
+
+
+ @Override
+ protected OrmXmlUiFactory buildOrmXmlUiFactory() {
+ return new EclipseLinkOrmXml2_1UiFactory();
+ }
+
+ public boolean providesUi(JpaResourceType resourceType) {
+ return resourceType.equals(JptEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_2_RESOURCE_TYPE);
+ }
+
+ public JpaStructureProvider getStructureProvider() {
+ return EclipseLinkOrmResourceModelStructureProvider.instance();
+ }
+
+ @Override
+ protected void addOrmAttributeMappingUiDefinitionsTo(List<OrmAttributeMappingUiDefinition<? extends AttributeMapping>> definitions) {
+ definitions.add(OrmIdMappingUiDefinition.instance());
+ definitions.add(OrmEmbeddedIdMappingUiDefinition.instance());
+ definitions.add(OrmBasicMappingUiDefinition.instance());
+ definitions.add(OrmVersionMappingUiDefinition.instance());
+ definitions.add(OrmManyToOneMappingUiDefinition.instance());
+ definitions.add(OrmOneToManyMappingUiDefinition.instance());
+ definitions.add(OrmOneToOneMappingUiDefinition.instance());
+ definitions.add(OrmManyToManyMappingUiDefinition.instance());
+ definitions.add(OrmEmbeddedMappingUiDefinition.instance());
+ definitions.add(OrmTransientMappingUiDefinition.instance());
+
+ definitions.add(OrmEclipseLinkBasicCollectionMappingUiDefinition.instance());
+ definitions.add(OrmEclipseLinkBasicMapMappingUiDefinition.instance());
+ definitions.add(OrmEclipseLinkVariableOneToOneMappingUiDefinition.instance());
+ definitions.add(OrmEclipseLinkTransformationMappingUiDefinition.instance());
+
+ definitions.add(OrmElementCollectionMapping2_0UiDefinition.instance());
+ }
+
+ @Override
+ protected void addOrmTypeMappingUiDefinitionsTo(List<OrmTypeMappingUiDefinition<? extends TypeMapping>> definitions) {
+ definitions.add(OrmEntityUiDefinition.instance());
+ definitions.add(OrmMappedSuperclassUiDefinition.instance());
+ definitions.add(OrmEmbeddableUiDefinition.instance());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_2/platform/EclipseLink2_2JpaPlatformUiFactory.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_2/platform/EclipseLink2_2JpaPlatformUiFactory.java
new file mode 100644
index 0000000000..f9bcf2dab9
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_2/platform/EclipseLink2_2JpaPlatformUiFactory.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.ui.internal.v2_2.platform;
+
+import org.eclipse.jpt.eclipselink.ui.internal.platform.EclipseLinkNavigatorProvider;
+import org.eclipse.jpt.eclipselink.ui.internal.v2_0.platform.EclipseLink2_0JpaPlatformUi;
+import org.eclipse.jpt.eclipselink.ui.internal.v2_0.platform.EclipseLink2_0JpaPlatformUiFactory;
+import org.eclipse.jpt.ui.JpaPlatformUi;
+
+public class EclipseLink2_2JpaPlatformUiFactory
+ extends EclipseLink2_0JpaPlatformUiFactory
+{
+ /**
+ * Zero arg constructor for extension point
+ */
+ public EclipseLink2_2JpaPlatformUiFactory() {
+ super();
+ }
+ @Override
+ public JpaPlatformUi buildJpaPlatformUi() {
+ return new EclipseLink2_0JpaPlatformUi(
+ new EclipseLinkNavigatorProvider(),
+ EclipseLink2_2JpaPlatformUiProvider.instance()
+ );
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_2/platform/EclipseLink2_2JpaPlatformUiProvider.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_2/platform/EclipseLink2_2JpaPlatformUiProvider.java
new file mode 100644
index 0000000000..8a3e0713cb
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_2/platform/EclipseLink2_2JpaPlatformUiProvider.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+* Copyright (c) 2010 Oracle. All rights reserved.
+* This program and the accompanying materials are made available under the
+* terms of the Eclipse Public License v1.0, which accompanies this distribution
+* and is available at http://www.eclipse.org/legal/epl-v10.html.
+*
+* Contributors:
+* Oracle - initial API and implementation
+*******************************************************************************/
+package org.eclipse.jpt.eclipselink.ui.internal.v2_2.platform;
+
+import java.util.List;
+import org.eclipse.jpt.eclipselink.ui.internal.details.orm.EclipseLinkEntityMappingsDetailsProvider;
+import org.eclipse.jpt.eclipselink.ui.internal.details.orm.EclipseLinkOrmXmlUiDefinition;
+import org.eclipse.jpt.eclipselink.ui.internal.persistence.EclipseLinkPersistenceXmlUiDefinition;
+import org.eclipse.jpt.eclipselink.ui.internal.v1_1.details.orm.EclipseLinkOrmXml1_1UiDefinition;
+import org.eclipse.jpt.eclipselink.ui.internal.v1_2.details.orm.EclipseLinkOrmXml1_2UiDefinition;
+import org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.java.EclipseLink2_0JavaResourceUiDefinition;
+import org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.orm.EclipseLinkEntityMappings2_0DetailsProvider;
+import org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.orm.EclipseLinkOrmXml2_0UiDefinition;
+import org.eclipse.jpt.eclipselink.ui.internal.v2_0.persistence.EclipseLinkPersistenceXml2_0UiDefinition;
+import org.eclipse.jpt.eclipselink.ui.internal.v2_1.details.orm.EclipseLinkOrmXml2_1UiDefinition;
+import org.eclipse.jpt.eclipselink.ui.internal.v2_2.details.orm.EclipseLinkOrmXml2_2UiDefinition;
+import org.eclipse.jpt.ui.JpaPlatformUiProvider;
+import org.eclipse.jpt.ui.ResourceUiDefinition;
+import org.eclipse.jpt.ui.details.JpaDetailsProvider;
+import org.eclipse.jpt.ui.internal.AbstractJpaPlatformUiProvider;
+import org.eclipse.jpt.ui.internal.details.java.JavaPersistentAttributeDetailsProvider;
+import org.eclipse.jpt.ui.internal.details.java.JavaPersistentTypeDetailsProvider;
+import org.eclipse.jpt.ui.internal.details.orm.EntityMappingsDetailsProvider;
+import org.eclipse.jpt.ui.internal.details.orm.OrmPersistentAttributeDetailsProvider;
+import org.eclipse.jpt.ui.internal.details.orm.OrmPersistentTypeDetailsProvider;
+import org.eclipse.jpt.ui.internal.details.orm.OrmXmlUiDefinition;
+import org.eclipse.jpt.ui.internal.jpa2.details.orm.EntityMappings2_0DetailsProvider;
+import org.eclipse.jpt.ui.internal.jpa2.details.orm.OrmXml2_0UiDefinition;
+
+/**
+ * EclipseLink2_2JpaPlatformUiProvider
+ */
+public class EclipseLink2_2JpaPlatformUiProvider extends AbstractJpaPlatformUiProvider
+{
+
+ // singleton
+ private static final JpaPlatformUiProvider INSTANCE = new EclipseLink2_2JpaPlatformUiProvider();
+
+ /**
+ * Return the singleton.
+ */
+ public static JpaPlatformUiProvider instance() {
+ return INSTANCE;
+ }
+
+ /**
+ * Ensure single instance.
+ */
+ private EclipseLink2_2JpaPlatformUiProvider() {
+ super();
+ }
+
+
+ // ********** details providers **********
+
+ @Override
+ protected void addDetailsProvidersTo(List<JpaDetailsProvider> providers) {
+ providers.add(JavaPersistentTypeDetailsProvider.instance());
+ providers.add(JavaPersistentAttributeDetailsProvider.instance());
+ providers.add(EntityMappingsDetailsProvider.instance());
+ providers.add(OrmPersistentTypeDetailsProvider.instance());
+ providers.add(OrmPersistentAttributeDetailsProvider.instance());
+ providers.add(EntityMappings2_0DetailsProvider.instance());
+ providers.add(EclipseLinkEntityMappingsDetailsProvider.instance());
+ providers.add(EclipseLinkEntityMappings2_0DetailsProvider.instance());
+ }
+
+ // ********** resource ui definitions **********
+
+ @Override
+ protected void addResourceUiDefinitionsTo(List<ResourceUiDefinition> definitions) {
+ definitions.add(EclipseLink2_0JavaResourceUiDefinition.instance());
+ definitions.add(OrmXmlUiDefinition.instance());
+ definitions.add(OrmXml2_0UiDefinition.instance());
+ definitions.add(EclipseLinkOrmXmlUiDefinition.instance());
+ definitions.add(EclipseLinkOrmXml1_1UiDefinition.instance());
+ definitions.add(EclipseLinkOrmXml1_2UiDefinition.instance());
+ definitions.add(EclipseLinkOrmXml2_0UiDefinition.instance());
+ definitions.add(EclipseLinkOrmXml2_1UiDefinition.instance());
+ definitions.add(EclipseLinkOrmXml2_2UiDefinition.instance());
+ definitions.add(EclipseLinkPersistenceXmlUiDefinition.instance());
+ definitions.add(EclipseLinkPersistenceXml2_0UiDefinition.instance());
+ }
+} \ No newline at end of file

Back to the top