diff options
author | kmoore | 2010-10-25 18:22:00 +0000 |
---|---|---|
committer | kmoore | 2010-10-25 18:22:00 +0000 |
commit | a8fd59c77964b4bce99bdb672a9b09448351b5da (patch) | |
tree | 5fdddee7d98997cda1d45885aee0cb2f9216caf3 | |
parent | 6acdc96f7dad8b381dc89cf5ed58441d994b50f9 (diff) | |
download | webtools.dali-a8fd59c77964b4bce99bdb672a9b09448351b5da.tar.gz webtools.dali-a8fd59c77964b4bce99bdb672a9b09448351b5da.tar.xz webtools.dali-a8fd59c77964b4bce99bdb672a9b09448351b5da.zip |
328509 - EclipseLink 2.2 platform and orm resource model support
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 |