Skip to main content
summaryrefslogtreecommitdiffstats
path: root/jpa
diff options
context:
space:
mode:
authorkmoore2008-10-25 16:24:33 +0000
committerkmoore2008-10-25 16:24:33 +0000
commit1cb97496076b9b170a6bad0c5f24165a4cb3c646 (patch)
tree8e6baa2368a2085295db05faf43864ac2c32cab1 /jpa
parented7a016d5f649c25a9370cc1158ebe800419d657 (diff)
downloadwebtools.dali-1cb97496076b9b170a6bad0c5f24165a4cb3c646.tar.gz
webtools.dali-1cb97496076b9b170a6bad0c5f24165a4cb3c646.tar.xz
webtools.dali-1cb97496076b9b170a6bad0c5f24165a4cb3c646.zip
added eclipselink-orm resource model for converters and corresponding translators
Diffstat (limited to 'jpa')
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm.ecore46
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/model/jptEclipseLinkResourceModels.genmodel33
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlBasic.java60
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlId.java63
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlVersion.java63
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/ConversionValueTranslator.java45
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/ConverterTranslator.java46
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkBasicTranslator.java28
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkIdTranslator.java26
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkOrmXmlMapper.java25
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkVersionTranslator.java28
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/ObjectTypeConverterTranslator.java61
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/StructConverterTranslator.java47
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/TypeConverterTranslator.java51
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmFactory.java60
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java1582
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasic.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicImpl.java448
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConversionValue.java282
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConverter.java267
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConverterHolder.java140
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConvertibleMapping.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlId.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlIdImpl.java453
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlObjectTypeConverter.java471
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlStructConverter.java267
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlTypeConverter.java335
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlVersion.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlVersionImpl.java453
29 files changed, 5314 insertions, 137 deletions
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 04a6f8a7e1..4db57fab13 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
@@ -66,14 +66,54 @@
<eClassifiers xsi:type="ecore:EClass" name="XmlMutable" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="mutable" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlConvertibleMapping" abstract="true"
+ interface="true" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlConvertibleMapping">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="convert" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlConverter">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="className" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlTypeConverter">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="dataType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="objectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlConversionValue">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="dataValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="objectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlObjectTypeConverter">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="conversionValues" upperBound="-1"
+ eType="#//XmlConversionValue" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="dataType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="objectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlStructConverter">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="converter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlConverterHolder" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="converter" eType="#//XmlConverter"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typeConverter" eType="#//XmlTypeConverter"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="objectTypeConverter" eType="#//XmlObjectTypeConverter"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="structConverter" eType="#//XmlStructConverter"
+ containment="true"/>
+ </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="XmlId" abstract="true" interface="true"
- eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlId #//XmlMutable"/>
+ eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlId #//XmlMutable #//XmlConvertibleMapping #//XmlConverterHolder"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlIdImpl" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlIdImpl #//XmlId"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlBasic" abstract="true" interface="true"
- eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlBasic #//XmlMutable"/>
+ eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlBasic #//XmlMutable #//XmlConvertibleMapping #//XmlConverterHolder"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlBasicImpl" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlBasicImpl #//XmlBasic"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlVersion" abstract="true" interface="true"
- eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlVersion #//XmlMutable"/>
+ eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlVersion #//XmlMutable #//XmlConvertibleMapping #//XmlConverterHolder"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlVersionImpl" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//XmlVersionImpl #//XmlVersion"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlPrivateOwned" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="privateOwned" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/jptEclipseLinkResourceModels.genmodel b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/jptEclipseLinkResourceModels.genmodel
index 3250a82357..ad59e957e9 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/jptEclipseLinkResourceModels.genmodel
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/jptEclipseLinkResourceModels.genmodel
@@ -72,6 +72,39 @@
<genClasses image="false" ecoreClass="eclipselink_orm.ecore#//XmlMutable">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlMutable/mutable"/>
</genClasses>
+ <genClasses ecoreClass="eclipselink_orm.ecore#//XmlConvertibleMapping">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlConvertibleMapping/convert"/>
+ </genClasses>
+ <genClasses ecoreClass="eclipselink_orm.ecore#//XmlConverter">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlConverter/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlConverter/className"/>
+ </genClasses>
+ <genClasses ecoreClass="eclipselink_orm.ecore#//XmlTypeConverter">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlTypeConverter/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlTypeConverter/dataType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlTypeConverter/objectType"/>
+ </genClasses>
+ <genClasses ecoreClass="eclipselink_orm.ecore#//XmlConversionValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlConversionValue/dataValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlConversionValue/objectValue"/>
+ </genClasses>
+ <genClasses ecoreClass="eclipselink_orm.ecore#//XmlObjectTypeConverter">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//XmlObjectTypeConverter/conversionValues"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlObjectTypeConverter/defaultObjectValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlObjectTypeConverter/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlObjectTypeConverter/dataType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlObjectTypeConverter/objectType"/>
+ </genClasses>
+ <genClasses ecoreClass="eclipselink_orm.ecore#//XmlStructConverter">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlStructConverter/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlStructConverter/converter"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//XmlConverterHolder">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//XmlConverterHolder/converter"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//XmlConverterHolder/typeConverter"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//XmlConverterHolder/objectTypeConverter"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//XmlConverterHolder/structConverter"/>
+ </genClasses>
<genClasses ecoreClass="eclipselink_orm.ecore#//XmlId"/>
<genClasses ecoreClass="eclipselink_orm.ecore#//XmlIdImpl"/>
<genClasses ecoreClass="eclipselink_orm.ecore#//XmlBasic"/>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlBasic.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlBasic.java
index d0436e6162..10a6db832d 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlBasic.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlBasic.java
@@ -13,8 +13,13 @@ import org.eclipse.jpt.core.context.java.JavaBasicMapping;
import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.internal.context.orm.VirtualXmlBasic;
import org.eclipse.jpt.core.utility.TextRange;
+import org.eclipse.jpt.eclipselink.core.context.Convert;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMappingImpl;
import org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasic;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter;
/**
* VirtualBasic is an implementation of Basic used when there is
@@ -35,7 +40,62 @@ public class VirtualEclipseLinkXmlBasic extends VirtualXmlBasic implements XmlBa
throw new UnsupportedOperationException("cannot set values on a virtual mapping"); //$NON-NLS-1$
}
+ public String getConvert() {
+ if (this.javaAttributeMapping.getConverter().getType() == Convert.ECLIPSE_LINK_CONVERTER) {
+ return ((Convert) this.javaAttributeMapping.getConverter()).getConverterName();
+ }
+ return null;
+ }
+
+ public void setConvert(String value) {
+ throw new UnsupportedOperationException("cannot set values on a virtual mapping"); //$NON-NLS-1$
+ }
+
public TextRange getMutableTextRange() {
return null;
}
+
+ public TextRange getConvertTextRange() {
+ return null;
+ }
+
+ public XmlConverter getConverter() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public XmlObjectTypeConverter getObjectTypeConverter() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public XmlStructConverter getStructConverter() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public XmlTypeConverter getTypeConverter() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void setConverter(XmlConverter value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setObjectTypeConverter(XmlObjectTypeConverter value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setStructConverter(XmlStructConverter value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setTypeConverter(XmlTypeConverter value) {
+ // TODO Auto-generated method stub
+
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlId.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlId.java
index 461167a478..28e9017b6c 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlId.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlId.java
@@ -9,12 +9,19 @@
******************************************************************************/
package org.eclipse.jpt.eclipselink.core.internal.context.orm;
+import org.eclipse.jpt.core.context.Converter;
+import org.eclipse.jpt.core.context.ConvertibleMapping;
import org.eclipse.jpt.core.context.java.JavaIdMapping;
import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.internal.context.orm.VirtualXmlId;
import org.eclipse.jpt.core.utility.TextRange;
+import org.eclipse.jpt.eclipselink.core.context.Convert;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaIdMappingImpl;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter;
import org.eclipse.jpt.eclipselink.core.resource.orm.XmlId;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter;
/**
* VirtualBasic is an implementation of Basic used when there is
@@ -35,7 +42,63 @@ public class VirtualEclipseLinkXmlId extends VirtualXmlId implements XmlId
throw new UnsupportedOperationException("cannot set values on a virtual mapping"); //$NON-NLS-1$
}
+ public String getConvert() {
+ Converter converter = ((ConvertibleMapping) this.javaAttributeMapping).getConverter();
+ if (converter.getType() == Convert.ECLIPSE_LINK_CONVERTER) {
+ return ((Convert) converter).getConverterName();
+ }
+ return null;
+ }
+
+ public void setConvert(String value) {
+ throw new UnsupportedOperationException("cannot set values on a virtual mapping"); //$NON-NLS-1$
+ }
+
public TextRange getMutableTextRange() {
return null;
}
+
+ public TextRange getConvertTextRange() {
+ return null;
+ }
+
+ public XmlConverter getConverter() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public XmlObjectTypeConverter getObjectTypeConverter() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public XmlStructConverter getStructConverter() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public XmlTypeConverter getTypeConverter() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void setConverter(XmlConverter value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setObjectTypeConverter(XmlObjectTypeConverter value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setStructConverter(XmlStructConverter value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setTypeConverter(XmlTypeConverter value) {
+ // TODO Auto-generated method stub
+
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlVersion.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlVersion.java
index f3ba786a3d..a3146527c0 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlVersion.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/VirtualEclipseLinkXmlVersion.java
@@ -9,11 +9,18 @@
******************************************************************************/
package org.eclipse.jpt.eclipselink.core.internal.context.orm;
+import org.eclipse.jpt.core.context.Converter;
+import org.eclipse.jpt.core.context.ConvertibleMapping;
import org.eclipse.jpt.core.context.java.JavaVersionMapping;
import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.internal.context.orm.VirtualXmlVersion;
import org.eclipse.jpt.core.utility.TextRange;
+import org.eclipse.jpt.eclipselink.core.context.Convert;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaVersionMappingImpl;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter;
import org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersion;
/**
@@ -35,7 +42,63 @@ public class VirtualEclipseLinkXmlVersion extends VirtualXmlVersion implements X
throw new UnsupportedOperationException("cannot set values on a virtual mapping"); //$NON-NLS-1$
}
+ public String getConvert() {
+ Converter converter = ((ConvertibleMapping) this.javaAttributeMapping).getConverter();
+ if (converter.getType() == Convert.ECLIPSE_LINK_CONVERTER) {
+ return ((Convert) converter).getConverterName();
+ }
+ return null;
+ }
+
+ public void setConvert(String value) {
+ throw new UnsupportedOperationException("cannot set values on a virtual mapping"); //$NON-NLS-1$
+ }
+
public TextRange getMutableTextRange() {
return null;
}
+
+ public TextRange getConvertTextRange() {
+ return null;
+ }
+
+ public XmlConverter getConverter() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public XmlObjectTypeConverter getObjectTypeConverter() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public XmlStructConverter getStructConverter() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public XmlTypeConverter getTypeConverter() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void setConverter(XmlConverter value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setObjectTypeConverter(XmlObjectTypeConverter value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setStructConverter(XmlStructConverter value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setTypeConverter(XmlTypeConverter value) {
+ // TODO Auto-generated method stub
+
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/ConversionValueTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/ConversionValueTranslator.java
new file mode 100644
index 0000000000..234c153af5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/ConversionValueTranslator.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.orm.translators;
+
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class ConversionValueTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public ConversionValueTranslator() {
+ super(CONVERSION_VALUE, ECLIPSELINK_ORM_PKG.getXmlObjectTypeConverter_ConversionValues());
+ }
+
+ @Override
+ public Translator[] getChildren(@SuppressWarnings("unused") Object target, @SuppressWarnings("unused") int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createDataValueTranslator(),
+ createObjectValueTranslator(),
+ };
+ }
+
+ protected Translator createDataValueTranslator() {
+ return new Translator(CONVERSION_VALUE__DATA_VALUE, ECLIPSELINK_ORM_PKG.getXmlConversionValue_DataValue(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createObjectValueTranslator() {
+ return new Translator(CONVERSION_VALUE__OBJECT_VALUE, ECLIPSELINK_ORM_PKG.getXmlConversionValue_ObjectValue(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/ConverterTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/ConverterTranslator.java
new file mode 100644
index 0000000000..39539aa3e8
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/ConverterTranslator.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.orm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class ConverterTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public ConverterTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(@SuppressWarnings("unused") Object target, @SuppressWarnings("unused") int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createClassTranslator(),
+ };
+ }
+
+ protected Translator createNameTranslator() {
+ return new Translator(CONVERTER__NAME, ECLIPSELINK_ORM_PKG.getXmlConverter_Name(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createClassTranslator() {
+ return new Translator(CONVERTER__CLASS, ECLIPSELINK_ORM_PKG.getXmlConverter_ClassName(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkBasicTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkBasicTranslator.java
index 6702098532..7f6ebb8bce 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkBasicTranslator.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkBasicTranslator.java
@@ -39,11 +39,37 @@ public class EclipseLinkBasicTranslator extends BasicTranslator
createColumnTranslator(),
createLobTranslator(),
createTemporalTranslator(),
- createEnumeratedTranslator()
+ createEnumeratedTranslator(),
+ createConvertTranslator(),
+ createConverterTranslator(),
+ createTypeConverterTranslator(),
+ createObjectTypeConverterTranslator(),
+ createStructConverterTranslator(),
+
};
}
protected Translator createMutableTranslator() {
return new Translator(MUTABLE, ECLIPSELINK_ORM_PKG.getXmlMutable_Mutable(), DOM_ATTRIBUTE);
}
+
+ protected Translator createConvertTranslator() {
+ return new Translator(CONVERT, ECLIPSELINK_ORM_PKG.getXmlConvertibleMapping_Convert());
+ }
+
+ protected Translator createConverterTranslator() {
+ return new Translator(CONVERTER, ECLIPSELINK_ORM_PKG.getXmlConverterHolder_Converter());
+ }
+
+ protected Translator createTypeConverterTranslator() {
+ return new Translator(TYPE_CONVERTER, ECLIPSELINK_ORM_PKG.getXmlConverterHolder_TypeConverter());
+ }
+
+ protected Translator createObjectTypeConverterTranslator() {
+ return new Translator(OBJECT_TYPE_CONVERTER, ECLIPSELINK_ORM_PKG.getXmlConverterHolder_ObjectTypeConverter());
+ }
+
+ protected Translator createStructConverterTranslator() {
+ return new Translator(STRUCT_CONVERTER, ECLIPSELINK_ORM_PKG.getXmlConverterHolder_StructConverter());
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkIdTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkIdTranslator.java
index fa5b15cc33..d3af3c34b3 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkIdTranslator.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkIdTranslator.java
@@ -23,7 +23,6 @@ public class EclipseLinkIdTranslator extends IdTranslator
super(domNameAndPath, aFeature);
}
-
@Override
public EObject createEMFObject(String nodeName, String readAheadName) {
return EclipseLinkOrmFactory.eINSTANCE.createXmlIdImpl();
@@ -37,6 +36,11 @@ public class EclipseLinkIdTranslator extends IdTranslator
createColumnTranslator(),
createGeneratedValueTranslator(),
createTemporalTranslator(),
+ createConvertTranslator(),
+ createConverterTranslator(),
+ createTypeConverterTranslator(),
+ createObjectTypeConverterTranslator(),
+ createStructConverterTranslator(),
createTableGeneratorTranslator(),
createSequenceGeneratorTranslator()
};
@@ -45,4 +49,24 @@ public class EclipseLinkIdTranslator extends IdTranslator
protected Translator createMutableTranslator() {
return new Translator(MUTABLE, ECLIPSELINK_ORM_PKG.getXmlMutable_Mutable(), DOM_ATTRIBUTE);
}
+
+ protected Translator createConvertTranslator() {
+ return new Translator(CONVERT, ECLIPSELINK_ORM_PKG.getXmlConvertibleMapping_Convert());
+ }
+
+ protected Translator createConverterTranslator() {
+ return new Translator(CONVERTER, ECLIPSELINK_ORM_PKG.getXmlConverterHolder_Converter());
+ }
+
+ protected Translator createTypeConverterTranslator() {
+ return new Translator(TYPE_CONVERTER, ECLIPSELINK_ORM_PKG.getXmlConverterHolder_TypeConverter());
+ }
+
+ protected Translator createObjectTypeConverterTranslator() {
+ return new Translator(OBJECT_TYPE_CONVERTER, ECLIPSELINK_ORM_PKG.getXmlConverterHolder_ObjectTypeConverter());
+ }
+
+ protected Translator createStructConverterTranslator() {
+ return new Translator(STRUCT_CONVERTER, ECLIPSELINK_ORM_PKG.getXmlConverterHolder_StructConverter());
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkOrmXmlMapper.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkOrmXmlMapper.java
index 73000891a5..c85342affe 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkOrmXmlMapper.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkOrmXmlMapper.java
@@ -26,6 +26,16 @@ public interface EclipseLinkOrmXmlMapper
String CACHE__REFRESH_ONLY_IF_NEWER = "refresh-only-if-newer"; //$NON-NLS-1$
String CACHE__DISABLE_HITS = "disable-hits"; //$NON-NLS-1$
String CACHE__COORDINATION_TYPE = "coordination-type"; //$NON-NLS-1$
+
+ String CONVERSION_VALUE = "conversion-value"; //$NON-NLS-1$
+ String CONVERSION_VALUE__DATA_VALUE = "data-value"; //$NON-NLS-1$
+ String CONVERSION_VALUE__OBJECT_VALUE = "object-value"; //$NON-NLS-1$
+
+ String CONVERT = "convert"; //$NON-NLS-1$
+
+ String CONVERTER = "converter"; //$NON-NLS-1$
+ String CONVERTER__CLASS = "class"; //$NON-NLS-1$
+ String CONVERTER__NAME = "name"; //$NON-NLS-1$
String CUSTOMIZER = "customizer"; //$NON-NLS-1$
@@ -41,8 +51,23 @@ public interface EclipseLinkOrmXmlMapper
String MUTABLE = "mutable"; //$NON-NLS-1$
+ String OBJECT_TYPE_CONVERTER = "type-converter"; //$NON-NLS-1$
+ String OBJECT_TYPE_CONVERTER__NAME = "name"; //$NON-NLS-1$
+ String OBJECT_TYPE_CONVERTER__DATA_TYPE = "data-type"; //$NON-NLS-1$
+ String OBJECT_TYPE_CONVERTER__OBJECT_TYPE = "object-type"; //$NON-NLS-1$
+ String OBJECT_TYPE_CONVERTER__DEFAULT_OBJECT_VALUE = "default-object-value"; //$NON-NLS-1$
+
String PRIVATE_OWNED = "private-owned"; //$NON-NLS-1$
String READ_ONLY = "read-only"; //$NON-NLS-1$
+
+ String STRUCT_CONVERTER = "struct-converter"; //$NON-NLS-1$
+ String STRUCT_CONVERTER__NAME = "name"; //$NON-NLS-1$
+ String STRUCT_CONVERTER__CONVERTER = "converter"; //$NON-NLS-1$
+
+ String TYPE_CONVERTER = "type-converter"; //$NON-NLS-1$
+ String TYPE_CONVERTER__NAME = "name"; //$NON-NLS-1$
+ String TYPE_CONVERTER__DATA_TYPE = "data-type"; //$NON-NLS-1$
+ String TYPE_CONVERTER__OBJECT_TYPE = "object-type"; //$NON-NLS-1$
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkVersionTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkVersionTranslator.java
index b248b2ed1f..c0a747b6b7 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkVersionTranslator.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/EclipseLinkVersionTranslator.java
@@ -23,23 +23,47 @@ public class EclipseLinkVersionTranslator extends VersionTranslator
super(domNameAndPath, aFeature);
}
-
@Override
public EObject createEMFObject(String nodeName, String readAheadName) {
return EclipseLinkOrmFactory.eINSTANCE.createXmlVersionImpl();
}
- @Override
+ @Override
protected Translator[] createChildren() {
return new Translator[] {
createNameTranslator(),
createMutableTranslator(),
createColumnTranslator(),
createTemporalTranslator(),
+ createConvertTranslator(),
+ createConverterTranslator(),
+ createTypeConverterTranslator(),
+ createObjectTypeConverterTranslator(),
+ createStructConverterTranslator(),
};
}
protected Translator createMutableTranslator() {
return new Translator(MUTABLE, ECLIPSELINK_ORM_PKG.getXmlMutable_Mutable(), DOM_ATTRIBUTE);
}
+
+ protected Translator createConvertTranslator() {
+ return new Translator(CONVERT, ECLIPSELINK_ORM_PKG.getXmlConvertibleMapping_Convert());
+ }
+
+ protected Translator createConverterTranslator() {
+ return new Translator(CONVERTER, ECLIPSELINK_ORM_PKG.getXmlConverterHolder_Converter());
+ }
+
+ protected Translator createTypeConverterTranslator() {
+ return new Translator(TYPE_CONVERTER, ECLIPSELINK_ORM_PKG.getXmlConverterHolder_TypeConverter());
+ }
+
+ protected Translator createObjectTypeConverterTranslator() {
+ return new Translator(OBJECT_TYPE_CONVERTER, ECLIPSELINK_ORM_PKG.getXmlConverterHolder_ObjectTypeConverter());
+ }
+
+ protected Translator createStructConverterTranslator() {
+ return new Translator(STRUCT_CONVERTER, ECLIPSELINK_ORM_PKG.getXmlConverterHolder_StructConverter());
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/ObjectTypeConverterTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/ObjectTypeConverterTranslator.java
new file mode 100644
index 0000000000..84599c4a57
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/ObjectTypeConverterTranslator.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.orm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class ObjectTypeConverterTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public ObjectTypeConverterTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(@SuppressWarnings("unused") Object target, @SuppressWarnings("unused") int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createConversionValueTranslator(),
+ createDefaultObjectValueTranslator(),
+ createNameTranslator(),
+ createDataTypeTranslator(),
+ createObjectTypeTranslator(),
+ };
+ }
+
+ protected Translator createConversionValueTranslator() {
+ return new ConversionValueTranslator();
+ }
+
+ protected Translator createDefaultObjectValueTranslator() {
+ return new Translator(OBJECT_TYPE_CONVERTER__DEFAULT_OBJECT_VALUE, ECLIPSELINK_ORM_PKG.getXmlTypeConverter_Name(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createNameTranslator() {
+ return new Translator(OBJECT_TYPE_CONVERTER__NAME, ECLIPSELINK_ORM_PKG.getXmlObjectTypeConverter_Name(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createDataTypeTranslator() {
+ return new Translator(OBJECT_TYPE_CONVERTER__DATA_TYPE, ECLIPSELINK_ORM_PKG.getXmlObjectTypeConverter_DataType(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createObjectTypeTranslator() {
+ return new Translator(OBJECT_TYPE_CONVERTER__OBJECT_TYPE, ECLIPSELINK_ORM_PKG.getXmlObjectTypeConverter_ObjectType(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/StructConverterTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/StructConverterTranslator.java
new file mode 100644
index 0000000000..1741be2abd
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/StructConverterTranslator.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.orm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class StructConverterTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public StructConverterTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(@SuppressWarnings("unused") Object target, @SuppressWarnings("unused") int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createConverterTranslator(),
+ };
+ }
+
+ protected Translator createNameTranslator() {
+ return new Translator(STRUCT_CONVERTER__NAME, ECLIPSELINK_ORM_PKG.getXmlStructConverter_Name(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createConverterTranslator() {
+ return new Translator(STRUCT_CONVERTER__CONVERTER, ECLIPSELINK_ORM_PKG.getXmlStructConverter_Converter(), DOM_ATTRIBUTE);
+ }
+
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/TypeConverterTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/TypeConverterTranslator.java
new file mode 100644
index 0000000000..b398cf9406
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/orm/translators/TypeConverterTranslator.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.orm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class TypeConverterTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public TypeConverterTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(@SuppressWarnings("unused") Object target, @SuppressWarnings("unused") int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createDataTypeTranslator(),
+ createObjectTypeTranslator(),
+ };
+ }
+
+ protected Translator createNameTranslator() {
+ return new Translator(TYPE_CONVERTER__NAME, ECLIPSELINK_ORM_PKG.getXmlTypeConverter_Name(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createDataTypeTranslator() {
+ return new Translator(TYPE_CONVERTER__DATA_TYPE, ECLIPSELINK_ORM_PKG.getXmlTypeConverter_DataType(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createObjectTypeTranslator() {
+ return new Translator(TYPE_CONVERTER__OBJECT_TYPE, ECLIPSELINK_ORM_PKG.getXmlTypeConverter_ObjectType(), DOM_ATTRIBUTE);
+ }
+}
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 0503a4d0fb..8662e27443 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
@@ -85,6 +85,11 @@ public class EclipseLinkOrmFactory extends EFactoryImpl
case EclipseLinkOrmPackage.XML_CACHE: return (EObject)createXmlCache();
case EclipseLinkOrmPackage.XML_ENTITY: return (EObject)createXmlEntity();
case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS: return (EObject)createXmlMappedSuperclass();
+ case EclipseLinkOrmPackage.XML_CONVERTER: return (EObject)createXmlConverter();
+ case EclipseLinkOrmPackage.XML_TYPE_CONVERTER: return (EObject)createXmlTypeConverter();
+ case EclipseLinkOrmPackage.XML_CONVERSION_VALUE: return (EObject)createXmlConversionValue();
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER: return (EObject)createXmlObjectTypeConverter();
+ case EclipseLinkOrmPackage.XML_STRUCT_CONVERTER: return (EObject)createXmlStructConverter();
case EclipseLinkOrmPackage.XML_ID_IMPL: return (EObject)createXmlIdImpl();
case EclipseLinkOrmPackage.XML_BASIC_IMPL: return (EObject)createXmlBasicImpl();
case EclipseLinkOrmPackage.XML_VERSION_IMPL: return (EObject)createXmlVersionImpl();
@@ -269,6 +274,61 @@ public class EclipseLinkOrmFactory extends EFactoryImpl
* <!-- end-user-doc -->
* @generated
*/
+ public XmlConverter createXmlConverter()
+ {
+ XmlConverter xmlConverter = new XmlConverter();
+ return xmlConverter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlTypeConverter createXmlTypeConverter()
+ {
+ XmlTypeConverter xmlTypeConverter = new XmlTypeConverter();
+ return xmlTypeConverter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlConversionValue createXmlConversionValue()
+ {
+ XmlConversionValue xmlConversionValue = new XmlConversionValue();
+ return xmlConversionValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlObjectTypeConverter createXmlObjectTypeConverter()
+ {
+ XmlObjectTypeConverter xmlObjectTypeConverter = new XmlObjectTypeConverter();
+ return xmlObjectTypeConverter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XmlStructConverter createXmlStructConverter()
+ {
+ XmlStructConverter xmlStructConverter = new XmlStructConverter();
+ return xmlStructConverter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public XmlTimeOfDay createXmlTimeOfDay()
{
XmlTimeOfDay xmlTimeOfDay = new XmlTimeOfDay();
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 cff0ab8188..7cc0bda3b7 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
@@ -972,6 +972,61 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_MUTABLE_FEATURE_COUNT = 1;
/**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConvertibleMapping <em>Xml Convertible Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConvertibleMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertibleMapping()
+ * @generated
+ */
+ public static final int XML_CONVERTIBLE_MAPPING = 10;
+
+ /**
+ * The feature id for the '<em><b>Lob</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTIBLE_MAPPING__LOB = OrmPackage.XML_CONVERTIBLE_MAPPING__LOB;
+
+ /**
+ * The feature id for the '<em><b>Temporal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTIBLE_MAPPING__TEMPORAL = OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL;
+
+ /**
+ * The feature id for the '<em><b>Enumerated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTIBLE_MAPPING__ENUMERATED = OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED;
+
+ /**
+ * The feature id for the '<em><b>Convert</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTIBLE_MAPPING__CONVERT = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Convertible Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTIBLE_MAPPING_FEATURE_COUNT = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 1;
+
+ /**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlId <em>Xml Id</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -979,7 +1034,433 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlId()
* @generated
*/
- public static final int XML_ID = 10;
+ public static final int XML_ID = 17;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlIdImpl <em>Xml Id Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlIdImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlIdImpl()
+ * @generated
+ */
+ public static final int XML_ID_IMPL = 18;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasic <em>Xml Basic</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasic
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlBasic()
+ * @generated
+ */
+ public static final int XML_BASIC = 19;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasicImpl <em>Xml Basic Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasicImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlBasicImpl()
+ * @generated
+ */
+ public static final int XML_BASIC_IMPL = 20;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersion <em>Xml Version</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersion
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlVersion()
+ * @generated
+ */
+ public static final int XML_VERSION = 21;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersionImpl <em>Xml Version Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersionImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlVersionImpl()
+ * @generated
+ */
+ public static final int XML_VERSION_IMPL = 22;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlPrivateOwned <em>Xml Private Owned</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlPrivateOwned
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlPrivateOwned()
+ * @generated
+ */
+ public static final int XML_PRIVATE_OWNED = 23;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlJoinFetch <em>Xml Join Fetch</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlJoinFetch
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlJoinFetch()
+ * @generated
+ */
+ public static final int XML_JOIN_FETCH = 24;
+
+ /**
+ * 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 -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToOne
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToOne()
+ * @generated
+ */
+ public static final int XML_ONE_TO_ONE = 25;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToOneImpl <em>Xml One To One Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToOneImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToOneImpl()
+ * @generated
+ */
+ public static final int XML_ONE_TO_ONE_IMPL = 26;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToMany <em>Xml One To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToMany
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToMany()
+ * @generated
+ */
+ public static final int XML_ONE_TO_MANY = 27;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToManyImpl <em>Xml One To Many Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToManyImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToManyImpl()
+ * @generated
+ */
+ public static final int XML_ONE_TO_MANY_IMPL = 28;
+
+ /**
+ * 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 -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToOne
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlManyToOne()
+ * @generated
+ */
+ public static final int XML_MANY_TO_ONE = 29;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToOneImpl <em>Xml Many To One Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToOneImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlManyToOneImpl()
+ * @generated
+ */
+ public static final int XML_MANY_TO_ONE_IMPL = 30;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToMany <em>Xml Many To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToMany
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlManyToMany()
+ * @generated
+ */
+ public static final int XML_MANY_TO_MANY = 31;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToManyImpl <em>Xml Many To Many Impl</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToManyImpl
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlManyToManyImpl()
+ * @generated
+ */
+ public static final int XML_MANY_TO_MANY_IMPL = 32;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter <em>Xml Converter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverter()
+ * @generated
+ */
+ public static final int XML_CONVERTER = 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_CONVERTER__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTER__CLASS_NAME = 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Converter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTER_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter <em>Xml Type Converter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeConverter()
+ * @generated
+ */
+ public static final int XML_TYPE_CONVERTER = 12;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TYPE_CONVERTER__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Data Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TYPE_CONVERTER__DATA_TYPE = 1;
+
+ /**
+ * The feature id for the '<em><b>Object Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TYPE_CONVERTER__OBJECT_TYPE = 2;
+
+ /**
+ * The number of structural features of the '<em>Xml Type Converter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_TYPE_CONVERTER_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue <em>Xml Conversion Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConversionValue()
+ * @generated
+ */
+ public static final int XML_CONVERSION_VALUE = 13;
+
+ /**
+ * The feature id for the '<em><b>Data Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERSION_VALUE__DATA_VALUE = 0;
+
+ /**
+ * The feature id for the '<em><b>Object Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERSION_VALUE__OBJECT_VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Conversion Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERSION_VALUE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter <em>Xml Object Type Converter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlObjectTypeConverter()
+ * @generated
+ */
+ public static final int XML_OBJECT_TYPE_CONVERTER = 14;
+
+ /**
+ * The feature id for the '<em><b>Conversion Values</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_OBJECT_TYPE_CONVERTER__CONVERSION_VALUES = 0;
+
+ /**
+ * The feature id for the '<em><b>Default Object Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_OBJECT_TYPE_CONVERTER__DEFAULT_OBJECT_VALUE = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_OBJECT_TYPE_CONVERTER__NAME = 2;
+
+ /**
+ * The feature id for the '<em><b>Data Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_OBJECT_TYPE_CONVERTER__DATA_TYPE = 3;
+
+ /**
+ * The feature id for the '<em><b>Object Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_OBJECT_TYPE_CONVERTER__OBJECT_TYPE = 4;
+
+ /**
+ * The number of structural features of the '<em>Xml Object Type Converter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_OBJECT_TYPE_CONVERTER_FEATURE_COUNT = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter <em>Xml Struct Converter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlStructConverter()
+ * @generated
+ */
+ public static final int XML_STRUCT_CONVERTER = 15;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_STRUCT_CONVERTER__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Converter</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_STRUCT_CONVERTER__CONVERTER = 1;
+
+ /**
+ * The number of structural features of the '<em>Xml Struct Converter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_STRUCT_CONVERTER_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder <em>Xml Converter Holder</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder()
+ * @generated
+ */
+ public static final int XML_CONVERTER_HOLDER = 16;
+
+ /**
+ * The feature id for the '<em><b>Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTER_HOLDER__CONVERTER = 0;
+
+ /**
+ * The feature id for the '<em><b>Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTER_HOLDER__TYPE_CONVERTER = 1;
+
+ /**
+ * The feature id for the '<em><b>Object Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTER_HOLDER__OBJECT_TYPE_CONVERTER = 2;
+
+ /**
+ * The feature id for the '<em><b>Struct Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTER_HOLDER__STRUCT_CONVERTER = 3;
+
+ /**
+ * The number of structural features of the '<em>Xml Converter Holder</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_CONVERTER_HOLDER_FEATURE_COUNT = 4;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1063,23 +1544,58 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_ID__MUTABLE = OrmPackage.XML_ID_FEATURE_COUNT + 0;
/**
- * The number of structural features of the '<em>Xml Id</em>' class.
+ * The feature id for the '<em><b>Convert</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_ID_FEATURE_COUNT = OrmPackage.XML_ID_FEATURE_COUNT + 1;
+ public static final int XML_ID__CONVERT = OrmPackage.XML_ID_FEATURE_COUNT + 1;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlIdImpl <em>Xml Id Impl</em>}' class.
+ * The feature id for the '<em><b>Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__CONVERTER = OrmPackage.XML_ID_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__TYPE_CONVERTER = OrmPackage.XML_ID_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Object Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__OBJECT_TYPE_CONVERTER = OrmPackage.XML_ID_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Struct Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID__STRUCT_CONVERTER = OrmPackage.XML_ID_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Xml Id</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlIdImpl
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlIdImpl()
* @generated
+ * @ordered
*/
- public static final int XML_ID_IMPL = 11;
+ public static final int XML_ID_FEATURE_COUNT = OrmPackage.XML_ID_FEATURE_COUNT + 6;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1163,23 +1679,58 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_ID_IMPL__MUTABLE = OrmPackage.XML_ID_IMPL_FEATURE_COUNT + 0;
/**
- * The number of structural features of the '<em>Xml Id Impl</em>' class.
+ * The feature id for the '<em><b>Convert</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_ID_IMPL_FEATURE_COUNT = OrmPackage.XML_ID_IMPL_FEATURE_COUNT + 1;
+ public static final int XML_ID_IMPL__CONVERT = OrmPackage.XML_ID_IMPL_FEATURE_COUNT + 1;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasic <em>Xml Basic</em>}' class.
+ * The feature id for the '<em><b>Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID_IMPL__CONVERTER = OrmPackage.XML_ID_IMPL_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID_IMPL__TYPE_CONVERTER = OrmPackage.XML_ID_IMPL_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Object Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID_IMPL__OBJECT_TYPE_CONVERTER = OrmPackage.XML_ID_IMPL_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Struct Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ID_IMPL__STRUCT_CONVERTER = OrmPackage.XML_ID_IMPL_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Xml Id Impl</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasic
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlBasic()
* @generated
+ * @ordered
*/
- public static final int XML_BASIC = 12;
+ public static final int XML_ID_IMPL_FEATURE_COUNT = OrmPackage.XML_ID_IMPL_FEATURE_COUNT + 6;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1254,23 +1805,58 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_BASIC__MUTABLE = OrmPackage.XML_BASIC_FEATURE_COUNT + 0;
/**
- * The number of structural features of the '<em>Xml Basic</em>' class.
+ * The feature id for the '<em><b>Convert</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_BASIC_FEATURE_COUNT = OrmPackage.XML_BASIC_FEATURE_COUNT + 1;
+ public static final int XML_BASIC__CONVERT = OrmPackage.XML_BASIC_FEATURE_COUNT + 1;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasicImpl <em>Xml Basic Impl</em>}' class.
+ * The feature id for the '<em><b>Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC__CONVERTER = OrmPackage.XML_BASIC_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Type Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasicImpl
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlBasicImpl()
* @generated
+ * @ordered
*/
- public static final int XML_BASIC_IMPL = 13;
+ public static final int XML_BASIC__TYPE_CONVERTER = OrmPackage.XML_BASIC_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Object Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC__OBJECT_TYPE_CONVERTER = OrmPackage.XML_BASIC_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Struct Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC__STRUCT_CONVERTER = OrmPackage.XML_BASIC_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Xml Basic</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_FEATURE_COUNT = OrmPackage.XML_BASIC_FEATURE_COUNT + 6;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1345,23 +1931,58 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_BASIC_IMPL__MUTABLE = OrmPackage.XML_BASIC_IMPL_FEATURE_COUNT + 0;
/**
- * The number of structural features of the '<em>Xml Basic Impl</em>' class.
+ * The feature id for the '<em><b>Convert</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_BASIC_IMPL_FEATURE_COUNT = OrmPackage.XML_BASIC_IMPL_FEATURE_COUNT + 1;
+ public static final int XML_BASIC_IMPL__CONVERT = OrmPackage.XML_BASIC_IMPL_FEATURE_COUNT + 1;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersion <em>Xml Version</em>}' class.
+ * The feature id for the '<em><b>Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_IMPL__CONVERTER = OrmPackage.XML_BASIC_IMPL_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Type Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersion
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlVersion()
* @generated
+ * @ordered
*/
- public static final int XML_VERSION = 14;
+ public static final int XML_BASIC_IMPL__TYPE_CONVERTER = OrmPackage.XML_BASIC_IMPL_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Object Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_IMPL__OBJECT_TYPE_CONVERTER = OrmPackage.XML_BASIC_IMPL_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Struct Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_IMPL__STRUCT_CONVERTER = OrmPackage.XML_BASIC_IMPL_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Xml Basic Impl</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_BASIC_IMPL_FEATURE_COUNT = OrmPackage.XML_BASIC_IMPL_FEATURE_COUNT + 6;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1418,23 +2039,58 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_VERSION__MUTABLE = OrmPackage.XML_VERSION_FEATURE_COUNT + 0;
/**
- * The number of structural features of the '<em>Xml Version</em>' class.
+ * The feature id for the '<em><b>Convert</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_VERSION_FEATURE_COUNT = OrmPackage.XML_VERSION_FEATURE_COUNT + 1;
+ public static final int XML_VERSION__CONVERT = OrmPackage.XML_VERSION_FEATURE_COUNT + 1;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersionImpl <em>Xml Version Impl</em>}' class.
+ * The feature id for the '<em><b>Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION__CONVERTER = OrmPackage.XML_VERSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION__TYPE_CONVERTER = OrmPackage.XML_VERSION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Object Type Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersionImpl
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlVersionImpl()
* @generated
+ * @ordered
*/
- public static final int XML_VERSION_IMPL = 15;
+ public static final int XML_VERSION__OBJECT_TYPE_CONVERTER = OrmPackage.XML_VERSION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Struct Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION__STRUCT_CONVERTER = OrmPackage.XML_VERSION_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Xml Version</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_VERSION_FEATURE_COUNT = OrmPackage.XML_VERSION_FEATURE_COUNT + 6;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1491,79 +2147,94 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_VERSION_IMPL__MUTABLE = OrmPackage.XML_VERSION_IMPL_FEATURE_COUNT + 0;
/**
- * The number of structural features of the '<em>Xml Version Impl</em>' class.
+ * The feature id for the '<em><b>Convert</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_VERSION_IMPL_FEATURE_COUNT = OrmPackage.XML_VERSION_IMPL_FEATURE_COUNT + 1;
+ public static final int XML_VERSION_IMPL__CONVERT = OrmPackage.XML_VERSION_IMPL_FEATURE_COUNT + 1;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlPrivateOwned <em>Xml Private Owned</em>}' class.
+ * The feature id for the '<em><b>Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlPrivateOwned
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlPrivateOwned()
* @generated
+ * @ordered
*/
- public static final int XML_PRIVATE_OWNED = 16;
+ public static final int XML_VERSION_IMPL__CONVERTER = OrmPackage.XML_VERSION_IMPL_FEATURE_COUNT + 2;
/**
- * The feature id for the '<em><b>Private Owned</b></em>' attribute.
+ * The feature id for the '<em><b>Type Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_PRIVATE_OWNED__PRIVATE_OWNED = 0;
+ public static final int XML_VERSION_IMPL__TYPE_CONVERTER = OrmPackage.XML_VERSION_IMPL_FEATURE_COUNT + 3;
/**
- * The number of structural features of the '<em>Xml Private Owned</em>' class.
+ * The feature id for the '<em><b>Object Type Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_PRIVATE_OWNED_FEATURE_COUNT = 1;
+ public static final int XML_VERSION_IMPL__OBJECT_TYPE_CONVERTER = OrmPackage.XML_VERSION_IMPL_FEATURE_COUNT + 4;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlJoinFetch <em>Xml Join Fetch</em>}' class.
+ * The feature id for the '<em><b>Struct Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlJoinFetch
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlJoinFetch()
* @generated
+ * @ordered
*/
- public static final int XML_JOIN_FETCH = 17;
+ public static final int XML_VERSION_IMPL__STRUCT_CONVERTER = OrmPackage.XML_VERSION_IMPL_FEATURE_COUNT + 5;
/**
- * The feature id for the '<em><b>Join Fetch</b></em>' attribute.
+ * The number of structural features of the '<em>Xml Version Impl</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_JOIN_FETCH__JOIN_FETCH = 0;
+ public static final int XML_VERSION_IMPL_FEATURE_COUNT = OrmPackage.XML_VERSION_IMPL_FEATURE_COUNT + 6;
/**
- * The number of structural features of the '<em>Xml Join Fetch</em>' class.
+ * The feature id for the '<em><b>Private Owned</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int XML_JOIN_FETCH_FEATURE_COUNT = 1;
+ public static final int XML_PRIVATE_OWNED__PRIVATE_OWNED = 0;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToOne <em>Xml One To One</em>}' class.
+ * The number of structural features of the '<em>Xml Private Owned</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_PRIVATE_OWNED_FEATURE_COUNT = 1;
+
+ /**
+ * The feature id for the '<em><b>Join Fetch</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToOne
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToOne()
* @generated
+ * @ordered
+ */
+ public static final int XML_JOIN_FETCH__JOIN_FETCH = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Join Fetch</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
*/
- public static final int XML_ONE_TO_ONE = 18;
+ public static final int XML_JOIN_FETCH_FEATURE_COUNT = 1;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1674,16 +2345,6 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_ONE_TO_ONE_FEATURE_COUNT = OrmPackage.XML_ONE_TO_ONE_FEATURE_COUNT + 2;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToOneImpl <em>Xml One To One Impl</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToOneImpl
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToOneImpl()
- * @generated
- */
- public static final int XML_ONE_TO_ONE_IMPL = 19;
-
- /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1792,16 +2453,6 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_ONE_TO_ONE_IMPL_FEATURE_COUNT = OrmPackage.XML_ONE_TO_ONE_IMPL_FEATURE_COUNT + 2;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToMany <em>Xml One To Many</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToMany
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToMany()
- * @generated
- */
- public static final int XML_ONE_TO_MANY = 20;
-
- /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1910,16 +2561,6 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_ONE_TO_MANY_FEATURE_COUNT = OrmPackage.XML_ONE_TO_MANY_FEATURE_COUNT + 2;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToManyImpl <em>Xml One To Many Impl</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToManyImpl
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToManyImpl()
- * @generated
- */
- public static final int XML_ONE_TO_MANY_IMPL = 21;
-
- /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2028,16 +2669,6 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_ONE_TO_MANY_IMPL_FEATURE_COUNT = OrmPackage.XML_ONE_TO_MANY_IMPL_FEATURE_COUNT + 2;
/**
- * 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 -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToOne
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlManyToOne()
- * @generated
- */
- public static final int XML_MANY_TO_ONE = 22;
-
- /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2119,16 +2750,6 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_MANY_TO_ONE_FEATURE_COUNT = OrmPackage.XML_MANY_TO_ONE_FEATURE_COUNT + 1;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToOneImpl <em>Xml Many To One Impl</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToOneImpl
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlManyToOneImpl()
- * @generated
- */
- public static final int XML_MANY_TO_ONE_IMPL = 23;
-
- /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2210,16 +2831,6 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_MANY_TO_ONE_IMPL_FEATURE_COUNT = OrmPackage.XML_MANY_TO_ONE_IMPL_FEATURE_COUNT + 1;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToMany <em>Xml Many To Many</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToMany
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlManyToMany()
- * @generated
- */
- public static final int XML_MANY_TO_MANY = 24;
-
- /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2310,16 +2921,6 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final int XML_MANY_TO_MANY_FEATURE_COUNT = OrmPackage.XML_MANY_TO_MANY_FEATURE_COUNT + 1;
/**
- * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToManyImpl <em>Xml Many To Many Impl</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToManyImpl
- * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlManyToManyImpl()
- * @generated
- */
- public static final int XML_MANY_TO_MANY_IMPL = 25;
-
- /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2417,7 +3018,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getCacheType()
* @generated
*/
- public static final int CACHE_TYPE = 26;
+ public static final int CACHE_TYPE = 33;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.CacheCoordinationType <em>Cache Coordination Type</em>}' enum.
@@ -2427,7 +3028,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getCacheCoordinationType()
* @generated
*/
- public static final int CACHE_COORDINATION_TYPE = 27;
+ public static final int CACHE_COORDINATION_TYPE = 34;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlJoinFetchType <em>Xml Join Fetch Type</em>}' enum.
@@ -2437,7 +3038,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 = 29;
+ public static final int XML_JOIN_FETCH_TYPE = 36;
/**
* The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.ExistenceType <em>Existence Type</em>}' enum.
@@ -2447,7 +3048,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getExistenceType()
* @generated
*/
- public static final int EXISTENCE_TYPE = 28;
+ public static final int EXISTENCE_TYPE = 35;
/**
* <!-- begin-user-doc -->
@@ -2524,6 +3125,13 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* <!-- end-user-doc -->
* @generated
*/
+ private EClass xmlConvertibleMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EClass xmlIdEClass = null;
/**
@@ -2636,6 +3244,48 @@ public class EclipseLinkOrmPackage extends EPackageImpl
* <!-- end-user-doc -->
* @generated
*/
+ private EClass xmlConverterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlTypeConverterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlConversionValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlObjectTypeConverterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlStructConverterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass xmlConverterHolderEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EEnum cacheTypeEEnum = null;
/**
@@ -3132,6 +3782,35 @@ public class EclipseLinkOrmPackage extends EPackageImpl
}
/**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConvertibleMapping <em>Xml Convertible Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Convertible Mapping</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConvertibleMapping
+ * @generated
+ */
+ public EClass getXmlConvertibleMapping()
+ {
+ return xmlConvertibleMappingEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConvertibleMapping#getConvert <em>Convert</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Convert</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConvertibleMapping#getConvert()
+ * @see #getXmlConvertibleMapping()
+ * @generated
+ */
+ public EAttribute getXmlConvertibleMapping_Convert()
+ {
+ return (EAttribute)xmlConvertibleMappingEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
* Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlId <em>Xml Id</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3375,6 +4054,360 @@ public class EclipseLinkOrmPackage extends EPackageImpl
/**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter <em>Xml Converter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Converter</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter
+ * @generated
+ */
+ public EClass getXmlConverter()
+ {
+ return xmlConverterEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter#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.XmlConverter#getName()
+ * @see #getXmlConverter()
+ * @generated
+ */
+ public EAttribute getXmlConverter_Name()
+ {
+ return (EAttribute)xmlConverterEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter#getClassName <em>Class Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Class Name</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter#getClassName()
+ * @see #getXmlConverter()
+ * @generated
+ */
+ public EAttribute getXmlConverter_ClassName()
+ {
+ return (EAttribute)xmlConverterEClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter <em>Xml Type Converter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Type Converter</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter
+ * @generated
+ */
+ public EClass getXmlTypeConverter()
+ {
+ return xmlTypeConverterEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter#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.XmlTypeConverter#getName()
+ * @see #getXmlTypeConverter()
+ * @generated
+ */
+ public EAttribute getXmlTypeConverter_Name()
+ {
+ return (EAttribute)xmlTypeConverterEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter#getDataType <em>Data Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Data Type</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter#getDataType()
+ * @see #getXmlTypeConverter()
+ * @generated
+ */
+ public EAttribute getXmlTypeConverter_DataType()
+ {
+ return (EAttribute)xmlTypeConverterEClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter#getObjectType <em>Object Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Object Type</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter#getObjectType()
+ * @see #getXmlTypeConverter()
+ * @generated
+ */
+ public EAttribute getXmlTypeConverter_ObjectType()
+ {
+ return (EAttribute)xmlTypeConverterEClass.getEStructuralFeatures().get(2);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue <em>Xml Conversion Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Conversion Value</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue
+ * @generated
+ */
+ public EClass getXmlConversionValue()
+ {
+ return xmlConversionValueEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue#getDataValue <em>Data Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Data Value</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue#getDataValue()
+ * @see #getXmlConversionValue()
+ * @generated
+ */
+ public EAttribute getXmlConversionValue_DataValue()
+ {
+ return (EAttribute)xmlConversionValueEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue#getObjectValue <em>Object Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Object Value</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue#getObjectValue()
+ * @see #getXmlConversionValue()
+ * @generated
+ */
+ public EAttribute getXmlConversionValue_ObjectValue()
+ {
+ return (EAttribute)xmlConversionValueEClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter <em>Xml Object Type Converter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Object Type Converter</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter
+ * @generated
+ */
+ public EClass getXmlObjectTypeConverter()
+ {
+ return xmlObjectTypeConverterEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#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.XmlObjectTypeConverter#getName()
+ * @see #getXmlObjectTypeConverter()
+ * @generated
+ */
+ public EAttribute getXmlObjectTypeConverter_Name()
+ {
+ return (EAttribute)xmlObjectTypeConverterEClass.getEStructuralFeatures().get(2);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getDataType <em>Data Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Data Type</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getDataType()
+ * @see #getXmlObjectTypeConverter()
+ * @generated
+ */
+ public EAttribute getXmlObjectTypeConverter_DataType()
+ {
+ return (EAttribute)xmlObjectTypeConverterEClass.getEStructuralFeatures().get(3);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getObjectType <em>Object Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Object Type</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getObjectType()
+ * @see #getXmlObjectTypeConverter()
+ * @generated
+ */
+ public EAttribute getXmlObjectTypeConverter_ObjectType()
+ {
+ return (EAttribute)xmlObjectTypeConverterEClass.getEStructuralFeatures().get(4);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getConversionValues <em>Conversion Values</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Conversion Values</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getConversionValues()
+ * @see #getXmlObjectTypeConverter()
+ * @generated
+ */
+ public EReference getXmlObjectTypeConverter_ConversionValues()
+ {
+ return (EReference)xmlObjectTypeConverterEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getDefaultObjectValue <em>Default Object Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Default Object Value</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getDefaultObjectValue()
+ * @see #getXmlObjectTypeConverter()
+ * @generated
+ */
+ public EAttribute getXmlObjectTypeConverter_DefaultObjectValue()
+ {
+ return (EAttribute)xmlObjectTypeConverterEClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter <em>Xml Struct Converter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Struct Converter</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter
+ * @generated
+ */
+ public EClass getXmlStructConverter()
+ {
+ return xmlStructConverterEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter#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.XmlStructConverter#getName()
+ * @see #getXmlStructConverter()
+ * @generated
+ */
+ public EAttribute getXmlStructConverter_Name()
+ {
+ return (EAttribute)xmlStructConverterEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter#getConverter <em>Converter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Converter</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter#getConverter()
+ * @see #getXmlStructConverter()
+ * @generated
+ */
+ public EAttribute getXmlStructConverter_Converter()
+ {
+ return (EAttribute)xmlStructConverterEClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder <em>Xml Converter Holder</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Converter Holder</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder
+ * @generated
+ */
+ public EClass getXmlConverterHolder()
+ {
+ return xmlConverterHolderEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getConverter <em>Converter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Converter</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getConverter()
+ * @see #getXmlConverterHolder()
+ * @generated
+ */
+ public EReference getXmlConverterHolder_Converter()
+ {
+ return (EReference)xmlConverterHolderEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getTypeConverter <em>Type Converter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Type Converter</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getTypeConverter()
+ * @see #getXmlConverterHolder()
+ * @generated
+ */
+ public EReference getXmlConverterHolder_TypeConverter()
+ {
+ return (EReference)xmlConverterHolderEClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getObjectTypeConverter <em>Object Type Converter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Object Type Converter</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getObjectTypeConverter()
+ * @see #getXmlConverterHolder()
+ * @generated
+ */
+ public EReference getXmlConverterHolder_ObjectTypeConverter()
+ {
+ return (EReference)xmlConverterHolderEClass.getEStructuralFeatures().get(2);
+ }
+
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getStructConverter <em>Struct Converter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Struct Converter</em>'.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getStructConverter()
+ * @see #getXmlConverterHolder()
+ * @generated
+ */
+ public EReference getXmlConverterHolder_StructConverter()
+ {
+ return (EReference)xmlConverterHolderEClass.getEStructuralFeatures().get(3);
+ }
+
+
+ /**
* Returns the meta object for enum '{@link org.eclipse.jpt.eclipselink.core.resource.orm.CacheType <em>Cache Type</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3497,6 +4530,39 @@ public class EclipseLinkOrmPackage extends EPackageImpl
xmlMutableEClass = createEClass(XML_MUTABLE);
createEAttribute(xmlMutableEClass, XML_MUTABLE__MUTABLE);
+ xmlConvertibleMappingEClass = createEClass(XML_CONVERTIBLE_MAPPING);
+ createEAttribute(xmlConvertibleMappingEClass, XML_CONVERTIBLE_MAPPING__CONVERT);
+
+ xmlConverterEClass = createEClass(XML_CONVERTER);
+ createEAttribute(xmlConverterEClass, XML_CONVERTER__NAME);
+ createEAttribute(xmlConverterEClass, XML_CONVERTER__CLASS_NAME);
+
+ xmlTypeConverterEClass = createEClass(XML_TYPE_CONVERTER);
+ createEAttribute(xmlTypeConverterEClass, XML_TYPE_CONVERTER__NAME);
+ createEAttribute(xmlTypeConverterEClass, XML_TYPE_CONVERTER__DATA_TYPE);
+ createEAttribute(xmlTypeConverterEClass, XML_TYPE_CONVERTER__OBJECT_TYPE);
+
+ xmlConversionValueEClass = createEClass(XML_CONVERSION_VALUE);
+ createEAttribute(xmlConversionValueEClass, XML_CONVERSION_VALUE__DATA_VALUE);
+ createEAttribute(xmlConversionValueEClass, XML_CONVERSION_VALUE__OBJECT_VALUE);
+
+ xmlObjectTypeConverterEClass = createEClass(XML_OBJECT_TYPE_CONVERTER);
+ createEReference(xmlObjectTypeConverterEClass, XML_OBJECT_TYPE_CONVERTER__CONVERSION_VALUES);
+ createEAttribute(xmlObjectTypeConverterEClass, XML_OBJECT_TYPE_CONVERTER__DEFAULT_OBJECT_VALUE);
+ createEAttribute(xmlObjectTypeConverterEClass, XML_OBJECT_TYPE_CONVERTER__NAME);
+ createEAttribute(xmlObjectTypeConverterEClass, XML_OBJECT_TYPE_CONVERTER__DATA_TYPE);
+ createEAttribute(xmlObjectTypeConverterEClass, XML_OBJECT_TYPE_CONVERTER__OBJECT_TYPE);
+
+ xmlStructConverterEClass = createEClass(XML_STRUCT_CONVERTER);
+ createEAttribute(xmlStructConverterEClass, XML_STRUCT_CONVERTER__NAME);
+ createEAttribute(xmlStructConverterEClass, XML_STRUCT_CONVERTER__CONVERTER);
+
+ xmlConverterHolderEClass = createEClass(XML_CONVERTER_HOLDER);
+ createEReference(xmlConverterHolderEClass, XML_CONVERTER_HOLDER__CONVERTER);
+ createEReference(xmlConverterHolderEClass, XML_CONVERTER_HOLDER__TYPE_CONVERTER);
+ createEReference(xmlConverterHolderEClass, XML_CONVERTER_HOLDER__OBJECT_TYPE_CONVERTER);
+ createEReference(xmlConverterHolderEClass, XML_CONVERTER_HOLDER__STRUCT_CONVERTER);
+
xmlIdEClass = createEClass(XML_ID);
xmlIdImplEClass = createEClass(XML_ID_IMPL);
@@ -3581,16 +4647,23 @@ public class EclipseLinkOrmPackage extends EPackageImpl
xmlMappedSuperclassEClass.getESuperTypes().add(this.getXmlReadOnly());
xmlMappedSuperclassEClass.getESuperTypes().add(this.getXmlCustomizerHolder());
xmlMappedSuperclassEClass.getESuperTypes().add(this.getXmlCacheHolder());
+ xmlConvertibleMappingEClass.getESuperTypes().add(theOrmPackage.getXmlConvertibleMapping());
xmlIdEClass.getESuperTypes().add(theOrmPackage.getXmlId());
xmlIdEClass.getESuperTypes().add(this.getXmlMutable());
+ xmlIdEClass.getESuperTypes().add(this.getXmlConvertibleMapping());
+ xmlIdEClass.getESuperTypes().add(this.getXmlConverterHolder());
xmlIdImplEClass.getESuperTypes().add(theOrmPackage.getXmlIdImpl());
xmlIdImplEClass.getESuperTypes().add(this.getXmlId());
xmlBasicEClass.getESuperTypes().add(theOrmPackage.getXmlBasic());
xmlBasicEClass.getESuperTypes().add(this.getXmlMutable());
+ xmlBasicEClass.getESuperTypes().add(this.getXmlConvertibleMapping());
+ xmlBasicEClass.getESuperTypes().add(this.getXmlConverterHolder());
xmlBasicImplEClass.getESuperTypes().add(theOrmPackage.getXmlBasicImpl());
xmlBasicImplEClass.getESuperTypes().add(this.getXmlBasic());
xmlVersionEClass.getESuperTypes().add(theOrmPackage.getXmlVersion());
xmlVersionEClass.getESuperTypes().add(this.getXmlMutable());
+ xmlVersionEClass.getESuperTypes().add(this.getXmlConvertibleMapping());
+ xmlVersionEClass.getESuperTypes().add(this.getXmlConverterHolder());
xmlVersionImplEClass.getESuperTypes().add(theOrmPackage.getXmlVersionImpl());
xmlVersionImplEClass.getESuperTypes().add(this.getXmlVersion());
xmlOneToOneEClass.getESuperTypes().add(theOrmPackage.getXmlOneToOne());
@@ -3652,6 +4725,39 @@ public class EclipseLinkOrmPackage extends EPackageImpl
initEClass(xmlMutableEClass, XmlMutable.class, "XmlMutable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getXmlMutable_Mutable(), theXMLTypePackage.getBooleanObject(), "mutable", null, 0, 1, XmlMutable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(xmlConvertibleMappingEClass, XmlConvertibleMapping.class, "XmlConvertibleMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlConvertibleMapping_Convert(), ecorePackage.getEString(), "convert", null, 0, 1, XmlConvertibleMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlConverterEClass, XmlConverter.class, "XmlConverter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlConverter_Name(), ecorePackage.getEString(), "name", null, 0, 1, XmlConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlConverter_ClassName(), ecorePackage.getEString(), "className", null, 0, 1, XmlConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlTypeConverterEClass, XmlTypeConverter.class, "XmlTypeConverter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlTypeConverter_Name(), ecorePackage.getEString(), "name", null, 0, 1, XmlTypeConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlTypeConverter_DataType(), ecorePackage.getEString(), "dataType", null, 0, 1, XmlTypeConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlTypeConverter_ObjectType(), ecorePackage.getEString(), "objectType", null, 0, 1, XmlTypeConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlConversionValueEClass, XmlConversionValue.class, "XmlConversionValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlConversionValue_DataValue(), ecorePackage.getEString(), "dataValue", null, 0, 1, XmlConversionValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlConversionValue_ObjectValue(), ecorePackage.getEString(), "objectValue", null, 0, 1, XmlConversionValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlObjectTypeConverterEClass, XmlObjectTypeConverter.class, "XmlObjectTypeConverter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlObjectTypeConverter_ConversionValues(), this.getXmlConversionValue(), null, "conversionValues", null, 0, -1, XmlObjectTypeConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlObjectTypeConverter_DefaultObjectValue(), ecorePackage.getEString(), "defaultObjectValue", null, 0, 1, XmlObjectTypeConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlObjectTypeConverter_Name(), ecorePackage.getEString(), "name", null, 0, 1, XmlObjectTypeConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlObjectTypeConverter_DataType(), ecorePackage.getEString(), "dataType", null, 0, 1, XmlObjectTypeConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlObjectTypeConverter_ObjectType(), ecorePackage.getEString(), "objectType", null, 0, 1, XmlObjectTypeConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlStructConverterEClass, XmlStructConverter.class, "XmlStructConverter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlStructConverter_Name(), ecorePackage.getEString(), "name", null, 0, 1, XmlStructConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getXmlStructConverter_Converter(), ecorePackage.getEString(), "converter", null, 0, 1, XmlStructConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlConverterHolderEClass, XmlConverterHolder.class, "XmlConverterHolder", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getXmlConverterHolder_Converter(), this.getXmlConverter(), null, "converter", null, 0, 1, XmlConverterHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlConverterHolder_TypeConverter(), this.getXmlTypeConverter(), null, "typeConverter", null, 0, 1, XmlConverterHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlConverterHolder_ObjectTypeConverter(), this.getXmlObjectTypeConverter(), null, "objectTypeConverter", null, 0, 1, XmlConverterHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlConverterHolder_StructConverter(), this.getXmlStructConverter(), null, "structConverter", null, 0, 1, XmlConverterHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
initEClass(xmlIdEClass, XmlId.class, "XmlId", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(xmlIdImplEClass, XmlIdImpl.class, "XmlIdImpl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -3983,6 +5089,24 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final EAttribute XML_MUTABLE__MUTABLE = eINSTANCE.getXmlMutable_Mutable();
/**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConvertibleMapping <em>Xml Convertible Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConvertibleMapping
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertibleMapping()
+ * @generated
+ */
+ public static final EClass XML_CONVERTIBLE_MAPPING = eINSTANCE.getXmlConvertibleMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Convert</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_CONVERTIBLE_MAPPING__CONVERT = eINSTANCE.getXmlConvertibleMapping_Convert();
+
+ /**
* The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlId <em>Xml Id</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -4159,6 +5283,210 @@ public class EclipseLinkOrmPackage extends EPackageImpl
public static final EClass XML_MANY_TO_MANY_IMPL = eINSTANCE.getXmlManyToManyImpl();
/**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter <em>Xml Converter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverter()
+ * @generated
+ */
+ public static final EClass XML_CONVERTER = eINSTANCE.getXmlConverter();
+
+ /**
+ * 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_CONVERTER__NAME = eINSTANCE.getXmlConverter_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_CONVERTER__CLASS_NAME = eINSTANCE.getXmlConverter_ClassName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter <em>Xml Type Converter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeConverter()
+ * @generated
+ */
+ public static final EClass XML_TYPE_CONVERTER = eINSTANCE.getXmlTypeConverter();
+
+ /**
+ * 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_TYPE_CONVERTER__NAME = eINSTANCE.getXmlTypeConverter_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Data Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_TYPE_CONVERTER__DATA_TYPE = eINSTANCE.getXmlTypeConverter_DataType();
+
+ /**
+ * The meta object literal for the '<em><b>Object Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_TYPE_CONVERTER__OBJECT_TYPE = eINSTANCE.getXmlTypeConverter_ObjectType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue <em>Xml Conversion Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConversionValue()
+ * @generated
+ */
+ public static final EClass XML_CONVERSION_VALUE = eINSTANCE.getXmlConversionValue();
+
+ /**
+ * The meta object literal for the '<em><b>Data Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_CONVERSION_VALUE__DATA_VALUE = eINSTANCE.getXmlConversionValue_DataValue();
+
+ /**
+ * The meta object literal for the '<em><b>Object Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_CONVERSION_VALUE__OBJECT_VALUE = eINSTANCE.getXmlConversionValue_ObjectValue();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter <em>Xml Object Type Converter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlObjectTypeConverter()
+ * @generated
+ */
+ public static final EClass XML_OBJECT_TYPE_CONVERTER = eINSTANCE.getXmlObjectTypeConverter();
+
+ /**
+ * 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_OBJECT_TYPE_CONVERTER__NAME = eINSTANCE.getXmlObjectTypeConverter_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Data Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_OBJECT_TYPE_CONVERTER__DATA_TYPE = eINSTANCE.getXmlObjectTypeConverter_DataType();
+
+ /**
+ * The meta object literal for the '<em><b>Object Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_OBJECT_TYPE_CONVERTER__OBJECT_TYPE = eINSTANCE.getXmlObjectTypeConverter_ObjectType();
+
+ /**
+ * The meta object literal for the '<em><b>Conversion Values</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_OBJECT_TYPE_CONVERTER__CONVERSION_VALUES = eINSTANCE.getXmlObjectTypeConverter_ConversionValues();
+
+ /**
+ * The meta object literal for the '<em><b>Default Object Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_OBJECT_TYPE_CONVERTER__DEFAULT_OBJECT_VALUE = eINSTANCE.getXmlObjectTypeConverter_DefaultObjectValue();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter <em>Xml Struct Converter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlStructConverter()
+ * @generated
+ */
+ public static final EClass XML_STRUCT_CONVERTER = eINSTANCE.getXmlStructConverter();
+
+ /**
+ * 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_STRUCT_CONVERTER__NAME = eINSTANCE.getXmlStructConverter_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Converter</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute XML_STRUCT_CONVERTER__CONVERTER = eINSTANCE.getXmlStructConverter_Converter();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder <em>Xml Converter Holder</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder()
+ * @generated
+ */
+ public static final EClass XML_CONVERTER_HOLDER = eINSTANCE.getXmlConverterHolder();
+
+ /**
+ * The meta object literal for the '<em><b>Converter</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_CONVERTER_HOLDER__CONVERTER = eINSTANCE.getXmlConverterHolder_Converter();
+
+ /**
+ * The meta object literal for the '<em><b>Type Converter</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_CONVERTER_HOLDER__TYPE_CONVERTER = eINSTANCE.getXmlConverterHolder_TypeConverter();
+
+ /**
+ * The meta object literal for the '<em><b>Object Type Converter</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_CONVERTER_HOLDER__OBJECT_TYPE_CONVERTER = eINSTANCE.getXmlConverterHolder_ObjectTypeConverter();
+
+ /**
+ * The meta object literal for the '<em><b>Struct Converter</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_CONVERTER_HOLDER__STRUCT_CONVERTER = eINSTANCE.getXmlConverterHolder_StructConverter();
+
+ /**
* The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.CacheType <em>Cache Type</em>}' enum.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
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 2b91042015..16d1ed075c 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
@@ -20,6 +20,6 @@ package org.eclipse.jpt.eclipselink.core.resource.orm;
* @model kind="class" interface="true" abstract="true"
* @generated
*/
-public interface XmlBasic extends org.eclipse.jpt.core.resource.orm.XmlBasic, XmlMutable
+public interface XmlBasic extends org.eclipse.jpt.core.resource.orm.XmlBasic, XmlMutable, XmlConvertibleMapping, XmlConverterHolder
{
} // XmlBasic
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicImpl.java
index dddd8c0fda..8cd81e2a8c 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicImpl.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlBasicImpl.java
@@ -10,7 +10,9 @@
package org.eclipse.jpt.eclipselink.core.resource.orm;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.jpt.eclipselink.core.internal.resource.orm.translators.EclipseLinkOrmXmlMapper;
@@ -47,6 +49,61 @@ public class XmlBasicImpl extends org.eclipse.jpt.core.resource.orm.XmlBasicImpl
protected Boolean mutable = MUTABLE_EDEFAULT;
/**
+ * The default value of the '{@link #getConvert() <em>Convert</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConvert()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONVERT_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getConvert() <em>Convert</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConvert()
+ * @generated
+ * @ordered
+ */
+ protected String convert = CONVERT_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getConverter() <em>Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConverter()
+ * @generated
+ * @ordered
+ */
+ protected XmlConverter converter;
+ /**
+ * The cached value of the '{@link #getTypeConverter() <em>Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypeConverter()
+ * @generated
+ * @ordered
+ */
+ protected XmlTypeConverter typeConverter;
+ /**
+ * The cached value of the '{@link #getObjectTypeConverter() <em>Object Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObjectTypeConverter()
+ * @generated
+ * @ordered
+ */
+ protected XmlObjectTypeConverter objectTypeConverter;
+ /**
+ * The cached value of the '{@link #getStructConverter() <em>Struct Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStructConverter()
+ * @generated
+ * @ordered
+ */
+ protected XmlStructConverter structConverter;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -103,6 +160,303 @@ public class XmlBasicImpl extends org.eclipse.jpt.core.resource.orm.XmlBasicImpl
}
/**
+ * Returns the value of the '<em><b>Convert</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Convert</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>Convert</em>' attribute.
+ * @see #setConvert(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertibleMapping_Convert()
+ * @model
+ * @generated
+ */
+ public String getConvert()
+ {
+ return convert;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasicImpl#getConvert <em>Convert</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Convert</em>' attribute.
+ * @see #getConvert()
+ * @generated
+ */
+ public void setConvert(String newConvert)
+ {
+ String oldConvert = convert;
+ convert = newConvert;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERT, oldConvert, convert));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Converter</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>Converter</em>' containment reference.
+ * @see #setConverter(XmlConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_Converter()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlConverter getConverter()
+ {
+ return converter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetConverter(XmlConverter newConverter, NotificationChain msgs)
+ {
+ XmlConverter oldConverter = converter;
+ converter = newConverter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERTER, oldConverter, newConverter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasicImpl#getConverter <em>Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Converter</em>' containment reference.
+ * @see #getConverter()
+ * @generated
+ */
+ public void setConverter(XmlConverter newConverter)
+ {
+ if (newConverter != converter)
+ {
+ NotificationChain msgs = null;
+ if (converter != null)
+ msgs = ((InternalEObject)converter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERTER, null, msgs);
+ if (newConverter != null)
+ msgs = ((InternalEObject)newConverter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERTER, null, msgs);
+ msgs = basicSetConverter(newConverter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERTER, newConverter, newConverter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type Converter</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>Type Converter</em>' containment reference.
+ * @see #setTypeConverter(XmlTypeConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_TypeConverter()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlTypeConverter getTypeConverter()
+ {
+ return typeConverter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTypeConverter(XmlTypeConverter newTypeConverter, NotificationChain msgs)
+ {
+ XmlTypeConverter oldTypeConverter = typeConverter;
+ typeConverter = newTypeConverter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_IMPL__TYPE_CONVERTER, oldTypeConverter, newTypeConverter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasicImpl#getTypeConverter <em>Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type Converter</em>' containment reference.
+ * @see #getTypeConverter()
+ * @generated
+ */
+ public void setTypeConverter(XmlTypeConverter newTypeConverter)
+ {
+ if (newTypeConverter != typeConverter)
+ {
+ NotificationChain msgs = null;
+ if (typeConverter != null)
+ msgs = ((InternalEObject)typeConverter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_BASIC_IMPL__TYPE_CONVERTER, null, msgs);
+ if (newTypeConverter != null)
+ msgs = ((InternalEObject)newTypeConverter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_BASIC_IMPL__TYPE_CONVERTER, null, msgs);
+ msgs = basicSetTypeConverter(newTypeConverter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_IMPL__TYPE_CONVERTER, newTypeConverter, newTypeConverter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Object Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Object Type Converter</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>Object Type Converter</em>' containment reference.
+ * @see #setObjectTypeConverter(XmlObjectTypeConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_ObjectTypeConverter()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlObjectTypeConverter getObjectTypeConverter()
+ {
+ return objectTypeConverter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObjectTypeConverter(XmlObjectTypeConverter newObjectTypeConverter, NotificationChain msgs)
+ {
+ XmlObjectTypeConverter oldObjectTypeConverter = objectTypeConverter;
+ objectTypeConverter = newObjectTypeConverter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_IMPL__OBJECT_TYPE_CONVERTER, oldObjectTypeConverter, newObjectTypeConverter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasicImpl#getObjectTypeConverter <em>Object Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Object Type Converter</em>' containment reference.
+ * @see #getObjectTypeConverter()
+ * @generated
+ */
+ public void setObjectTypeConverter(XmlObjectTypeConverter newObjectTypeConverter)
+ {
+ if (newObjectTypeConverter != objectTypeConverter)
+ {
+ NotificationChain msgs = null;
+ if (objectTypeConverter != null)
+ msgs = ((InternalEObject)objectTypeConverter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_BASIC_IMPL__OBJECT_TYPE_CONVERTER, null, msgs);
+ if (newObjectTypeConverter != null)
+ msgs = ((InternalEObject)newObjectTypeConverter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_BASIC_IMPL__OBJECT_TYPE_CONVERTER, null, msgs);
+ msgs = basicSetObjectTypeConverter(newObjectTypeConverter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_IMPL__OBJECT_TYPE_CONVERTER, newObjectTypeConverter, newObjectTypeConverter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Struct Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Struct Converter</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>Struct Converter</em>' containment reference.
+ * @see #setStructConverter(XmlStructConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_StructConverter()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlStructConverter getStructConverter()
+ {
+ return structConverter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetStructConverter(XmlStructConverter newStructConverter, NotificationChain msgs)
+ {
+ XmlStructConverter oldStructConverter = structConverter;
+ structConverter = newStructConverter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_IMPL__STRUCT_CONVERTER, oldStructConverter, newStructConverter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlBasicImpl#getStructConverter <em>Struct Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Struct Converter</em>' containment reference.
+ * @see #getStructConverter()
+ * @generated
+ */
+ public void setStructConverter(XmlStructConverter newStructConverter)
+ {
+ if (newStructConverter != structConverter)
+ {
+ NotificationChain msgs = null;
+ if (structConverter != null)
+ msgs = ((InternalEObject)structConverter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_BASIC_IMPL__STRUCT_CONVERTER, null, msgs);
+ if (newStructConverter != null)
+ msgs = ((InternalEObject)newStructConverter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_BASIC_IMPL__STRUCT_CONVERTER, null, msgs);
+ msgs = basicSetStructConverter(newStructConverter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_IMPL__STRUCT_CONVERTER, newStructConverter, newStructConverter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERTER:
+ return basicSetConverter(null, msgs);
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__TYPE_CONVERTER:
+ return basicSetTypeConverter(null, msgs);
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__OBJECT_TYPE_CONVERTER:
+ return basicSetObjectTypeConverter(null, msgs);
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__STRUCT_CONVERTER:
+ return basicSetStructConverter(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -114,6 +468,16 @@ public class XmlBasicImpl extends org.eclipse.jpt.core.resource.orm.XmlBasicImpl
{
case EclipseLinkOrmPackage.XML_BASIC_IMPL__MUTABLE:
return getMutable();
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERT:
+ return getConvert();
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERTER:
+ return getConverter();
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__TYPE_CONVERTER:
+ return getTypeConverter();
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__OBJECT_TYPE_CONVERTER:
+ return getObjectTypeConverter();
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__STRUCT_CONVERTER:
+ return getStructConverter();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -131,6 +495,21 @@ public class XmlBasicImpl extends org.eclipse.jpt.core.resource.orm.XmlBasicImpl
case EclipseLinkOrmPackage.XML_BASIC_IMPL__MUTABLE:
setMutable((Boolean)newValue);
return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERT:
+ setConvert((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERTER:
+ setConverter((XmlConverter)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__TYPE_CONVERTER:
+ setTypeConverter((XmlTypeConverter)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__OBJECT_TYPE_CONVERTER:
+ setObjectTypeConverter((XmlObjectTypeConverter)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__STRUCT_CONVERTER:
+ setStructConverter((XmlStructConverter)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -148,6 +527,21 @@ public class XmlBasicImpl extends org.eclipse.jpt.core.resource.orm.XmlBasicImpl
case EclipseLinkOrmPackage.XML_BASIC_IMPL__MUTABLE:
setMutable(MUTABLE_EDEFAULT);
return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERT:
+ setConvert(CONVERT_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERTER:
+ setConverter((XmlConverter)null);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__TYPE_CONVERTER:
+ setTypeConverter((XmlTypeConverter)null);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__OBJECT_TYPE_CONVERTER:
+ setObjectTypeConverter((XmlObjectTypeConverter)null);
+ return;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__STRUCT_CONVERTER:
+ setStructConverter((XmlStructConverter)null);
+ return;
}
super.eUnset(featureID);
}
@@ -164,6 +558,16 @@ public class XmlBasicImpl extends org.eclipse.jpt.core.resource.orm.XmlBasicImpl
{
case EclipseLinkOrmPackage.XML_BASIC_IMPL__MUTABLE:
return MUTABLE_EDEFAULT == null ? mutable != null : !MUTABLE_EDEFAULT.equals(mutable);
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERT:
+ return CONVERT_EDEFAULT == null ? convert != null : !CONVERT_EDEFAULT.equals(convert);
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERTER:
+ return converter != null;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__TYPE_CONVERTER:
+ return typeConverter != null;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__OBJECT_TYPE_CONVERTER:
+ return objectTypeConverter != null;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__STRUCT_CONVERTER:
+ return structConverter != null;
}
return super.eIsSet(featureID);
}
@@ -184,6 +588,25 @@ public class XmlBasicImpl extends org.eclipse.jpt.core.resource.orm.XmlBasicImpl
default: return -1;
}
}
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERT: return EclipseLinkOrmPackage.XML_CONVERTIBLE_MAPPING__CONVERT;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlConverterHolder.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERTER: return EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__CONVERTER;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__TYPE_CONVERTER: return EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__TYPE_CONVERTER;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__OBJECT_TYPE_CONVERTER: return EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__OBJECT_TYPE_CONVERTER;
+ case EclipseLinkOrmPackage.XML_BASIC_IMPL__STRUCT_CONVERTER: return EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__STRUCT_CONVERTER;
+ default: return -1;
+ }
+ }
if (baseClass == XmlBasic.class)
{
switch (derivedFeatureID)
@@ -210,6 +633,25 @@ public class XmlBasicImpl extends org.eclipse.jpt.core.resource.orm.XmlBasicImpl
default: return -1;
}
}
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_CONVERTIBLE_MAPPING__CONVERT: return EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERT;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlConverterHolder.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__CONVERTER: return EclipseLinkOrmPackage.XML_BASIC_IMPL__CONVERTER;
+ case EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__TYPE_CONVERTER: return EclipseLinkOrmPackage.XML_BASIC_IMPL__TYPE_CONVERTER;
+ case EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__OBJECT_TYPE_CONVERTER: return EclipseLinkOrmPackage.XML_BASIC_IMPL__OBJECT_TYPE_CONVERTER;
+ case EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__STRUCT_CONVERTER: return EclipseLinkOrmPackage.XML_BASIC_IMPL__STRUCT_CONVERTER;
+ default: return -1;
+ }
+ }
if (baseClass == XmlBasic.class)
{
switch (baseFeatureID)
@@ -233,6 +675,8 @@ public class XmlBasicImpl extends org.eclipse.jpt.core.resource.orm.XmlBasicImpl
StringBuffer result = new StringBuffer(super.toString());
result.append(" (mutable: ");
result.append(mutable);
+ result.append(", convert: ");
+ result.append(convert);
result.append(')');
return result.toString();
}
@@ -240,4 +684,8 @@ public class XmlBasicImpl extends org.eclipse.jpt.core.resource.orm.XmlBasicImpl
public TextRange getMutableTextRange() {
return getAttributeTextRange(EclipseLinkOrmXmlMapper.MUTABLE);
}
+
+ public TextRange getConvertTextRange() {
+ return getElementTextRange(EclipseLinkOrmXmlMapper.CONVERT);
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConversionValue.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConversionValue.java
new file mode 100644
index 0000000000..f01d59a6fe
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConversionValue.java
@@ -0,0 +1,282 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+import org.eclipse.jpt.core.utility.TextRange;
+import org.eclipse.jpt.eclipselink.core.internal.resource.orm.translators.EclipseLinkOrmXmlMapper;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Conversion Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue#getDataValue <em>Data Value</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue#getObjectValue <em>Object Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConversionValue()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class XmlConversionValue extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * The default value of the '{@link #getDataValue() <em>Data Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String DATA_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDataValue() <em>Data Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataValue()
+ * @generated
+ * @ordered
+ */
+ protected String dataValue = DATA_VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getObjectValue() <em>Object Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObjectValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String OBJECT_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getObjectValue() <em>Object Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObjectValue()
+ * @generated
+ * @ordered
+ */
+ protected String objectValue = OBJECT_VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlConversionValue()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_CONVERSION_VALUE;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Data Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Value</em>' attribute.
+ * @see #setDataValue(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConversionValue_DataValue()
+ * @model
+ * @generated
+ */
+ public String getDataValue()
+ {
+ return dataValue;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue#getDataValue <em>Data Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Data Value</em>' attribute.
+ * @see #getDataValue()
+ * @generated
+ */
+ public void setDataValue(String newDataValue)
+ {
+ String oldDataValue = dataValue;
+ dataValue = newDataValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_CONVERSION_VALUE__DATA_VALUE, oldDataValue, dataValue));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Object Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Object Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Object Value</em>' attribute.
+ * @see #setObjectValue(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConversionValue_ObjectValue()
+ * @model
+ * @generated
+ */
+ public String getObjectValue()
+ {
+ return objectValue;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue#getObjectValue <em>Object Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Object Value</em>' attribute.
+ * @see #getObjectValue()
+ * @generated
+ */
+ public void setObjectValue(String newObjectValue)
+ {
+ String oldObjectValue = objectValue;
+ objectValue = newObjectValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_CONVERSION_VALUE__OBJECT_VALUE, oldObjectValue, objectValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_CONVERSION_VALUE__DATA_VALUE:
+ return getDataValue();
+ case EclipseLinkOrmPackage.XML_CONVERSION_VALUE__OBJECT_VALUE:
+ return getObjectValue();
+ }
+ 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_CONVERSION_VALUE__DATA_VALUE:
+ setDataValue((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_CONVERSION_VALUE__OBJECT_VALUE:
+ setObjectValue((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_CONVERSION_VALUE__DATA_VALUE:
+ setDataValue(DATA_VALUE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_CONVERSION_VALUE__OBJECT_VALUE:
+ setObjectValue(OBJECT_VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_CONVERSION_VALUE__DATA_VALUE:
+ return DATA_VALUE_EDEFAULT == null ? dataValue != null : !DATA_VALUE_EDEFAULT.equals(dataValue);
+ case EclipseLinkOrmPackage.XML_CONVERSION_VALUE__OBJECT_VALUE:
+ return OBJECT_VALUE_EDEFAULT == null ? objectValue != null : !OBJECT_VALUE_EDEFAULT.equals(objectValue);
+ }
+ 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(" (dataValue: ");
+ result.append(dataValue);
+ result.append(", objectValue: ");
+ result.append(objectValue);
+ result.append(')');
+ return result.toString();
+ }
+
+ /**
+ * Return the {@link TextRange} for the data-value attribute.
+ */
+ public TextRange getDataValueTextRange() {
+ return getAttributeTextRange(EclipseLinkOrmXmlMapper.CONVERSION_VALUE__DATA_VALUE);
+ }
+
+ /**
+ * Return the {@link TextRange} for the object-value attribute.
+ */
+ public TextRange getObjectValueTextRange() {
+ return getAttributeTextRange(EclipseLinkOrmXmlMapper.CONVERSION_VALUE__OBJECT_VALUE);
+ }
+} // XmlConversionValue
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConverter.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConverter.java
new file mode 100644
index 0000000000..098d662c87
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConverter.java
@@ -0,0 +1,267 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Converter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverter()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class XmlConverter extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected String className = CLASS_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlConverter()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_CONVERTER;
+ }
+
+ /**
+ * 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#getXmlConverter_Name()
+ * @model
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter#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_CONVERTER__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Class Name</em>' attribute.
+ * @see #setClassName(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverter_ClassName()
+ * @model
+ * @generated
+ */
+ public String getClassName()
+ {
+ return className;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter#getClassName <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Class Name</em>' attribute.
+ * @see #getClassName()
+ * @generated
+ */
+ public void setClassName(String newClassName)
+ {
+ String oldClassName = className;
+ className = newClassName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_CONVERTER__CLASS_NAME, oldClassName, className));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_CONVERTER__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.XML_CONVERTER__CLASS_NAME:
+ return getClassName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_CONVERTER__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_CONVERTER__CLASS_NAME:
+ setClassName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_CONVERTER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_CONVERTER__CLASS_NAME:
+ setClassName(CLASS_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_CONVERTER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.XML_CONVERTER__CLASS_NAME:
+ return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", className: ");
+ result.append(className);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlConverter
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConverterHolder.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConverterHolder.java
new file mode 100644
index 0000000000..1843d926c3
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConverterHolder.java
@@ -0,0 +1,140 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm;
+
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Converter Holder</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getConverter <em>Converter</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getTypeConverter <em>Type Converter</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getObjectTypeConverter <em>Object Type Converter</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getStructConverter <em>Struct Converter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlConverterHolder extends JpaEObject
+{
+ /**
+ * Returns the value of the '<em><b>Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Converter</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>Converter</em>' containment reference.
+ * @see #setConverter(XmlConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_Converter()
+ * @model containment="true"
+ * @generated
+ */
+ XmlConverter getConverter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getConverter <em>Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Converter</em>' containment reference.
+ * @see #getConverter()
+ * @generated
+ */
+ void setConverter(XmlConverter value);
+
+ /**
+ * Returns the value of the '<em><b>Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type Converter</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>Type Converter</em>' containment reference.
+ * @see #setTypeConverter(XmlTypeConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_TypeConverter()
+ * @model containment="true"
+ * @generated
+ */
+ XmlTypeConverter getTypeConverter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getTypeConverter <em>Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type Converter</em>' containment reference.
+ * @see #getTypeConverter()
+ * @generated
+ */
+ void setTypeConverter(XmlTypeConverter value);
+
+ /**
+ * Returns the value of the '<em><b>Object Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Object Type Converter</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>Object Type Converter</em>' containment reference.
+ * @see #setObjectTypeConverter(XmlObjectTypeConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_ObjectTypeConverter()
+ * @model containment="true"
+ * @generated
+ */
+ XmlObjectTypeConverter getObjectTypeConverter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getObjectTypeConverter <em>Object Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Object Type Converter</em>' containment reference.
+ * @see #getObjectTypeConverter()
+ * @generated
+ */
+ void setObjectTypeConverter(XmlObjectTypeConverter value);
+
+ /**
+ * Returns the value of the '<em><b>Struct Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Struct Converter</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>Struct Converter</em>' containment reference.
+ * @see #setStructConverter(XmlStructConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_StructConverter()
+ * @model containment="true"
+ * @generated
+ */
+ XmlStructConverter getStructConverter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverterHolder#getStructConverter <em>Struct Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Struct Converter</em>' containment reference.
+ * @see #getStructConverter()
+ * @generated
+ */
+ void setStructConverter(XmlStructConverter value);
+
+} // XmlConverterHolder
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConvertibleMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConvertibleMapping.java
new file mode 100644
index 0000000000..c503780473
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConvertibleMapping.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm;
+
+import org.eclipse.jpt.core.utility.TextRange;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Convertible Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConvertibleMapping#getConvert <em>Convert</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertibleMapping()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlConvertibleMapping extends org.eclipse.jpt.core.resource.orm.XmlConvertibleMapping
+{
+ /**
+ * Returns the value of the '<em><b>Convert</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Convert</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>Convert</em>' attribute.
+ * @see #setConvert(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertibleMapping_Convert()
+ * @model
+ * @generated
+ */
+ String getConvert();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConvertibleMapping#getConvert <em>Convert</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Convert</em>' attribute.
+ * @see #getConvert()
+ * @generated
+ */
+ void setConvert(String value);
+
+ /**
+ * Return the {@link TextRange} for the convert element. If the convert element
+ * does not exist return the {@link TextRange} for the mapping element.
+ */
+ TextRange getConvertTextRange();
+
+} // XmlConvertibleMapping
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 e3b30cb387..5a7703d84f 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
@@ -20,6 +20,6 @@ package org.eclipse.jpt.eclipselink.core.resource.orm;
* @model kind="class" interface="true" abstract="true"
* @generated
*/
-public interface XmlId extends org.eclipse.jpt.core.resource.orm.XmlId, XmlMutable
+public interface XmlId extends org.eclipse.jpt.core.resource.orm.XmlId, XmlMutable, XmlConvertibleMapping, XmlConverterHolder
{
} // XmlId
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlIdImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlIdImpl.java
index df3512e462..a4b07be1cf 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlIdImpl.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlIdImpl.java
@@ -10,7 +10,9 @@
package org.eclipse.jpt.eclipselink.core.resource.orm;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.jpt.eclipselink.core.internal.resource.orm.translators.EclipseLinkOrmXmlMapper;
@@ -48,6 +50,66 @@ public class XmlIdImpl extends org.eclipse.jpt.core.resource.orm.XmlIdImpl imple
protected Boolean mutable = MUTABLE_EDEFAULT;
/**
+ * The default value of the '{@link #getConvert() <em>Convert</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConvert()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONVERT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getConvert() <em>Convert</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConvert()
+ * @generated
+ * @ordered
+ */
+ protected String convert = CONVERT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getConverter() <em>Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConverter()
+ * @generated
+ * @ordered
+ */
+ protected XmlConverter converter;
+
+ /**
+ * The cached value of the '{@link #getTypeConverter() <em>Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypeConverter()
+ * @generated
+ * @ordered
+ */
+ protected XmlTypeConverter typeConverter;
+
+ /**
+ * The cached value of the '{@link #getObjectTypeConverter() <em>Object Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObjectTypeConverter()
+ * @generated
+ * @ordered
+ */
+ protected XmlObjectTypeConverter objectTypeConverter;
+
+ /**
+ * The cached value of the '{@link #getStructConverter() <em>Struct Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStructConverter()
+ * @generated
+ * @ordered
+ */
+ protected XmlStructConverter structConverter;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -104,6 +166,303 @@ public class XmlIdImpl extends org.eclipse.jpt.core.resource.orm.XmlIdImpl imple
}
/**
+ * Returns the value of the '<em><b>Convert</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Convert</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Convert</em>' attribute.
+ * @see #setConvert(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertibleMapping_Convert()
+ * @model
+ * @generated
+ */
+ public String getConvert()
+ {
+ return convert;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlIdImpl#getConvert <em>Convert</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Convert</em>' attribute.
+ * @see #getConvert()
+ * @generated
+ */
+ public void setConvert(String newConvert)
+ {
+ String oldConvert = convert;
+ convert = newConvert;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID_IMPL__CONVERT, oldConvert, convert));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Converter</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>Converter</em>' containment reference.
+ * @see #setConverter(XmlConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_Converter()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlConverter getConverter()
+ {
+ return converter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetConverter(XmlConverter newConverter, NotificationChain msgs)
+ {
+ XmlConverter oldConverter = converter;
+ converter = newConverter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID_IMPL__CONVERTER, oldConverter, newConverter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlIdImpl#getConverter <em>Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Converter</em>' containment reference.
+ * @see #getConverter()
+ * @generated
+ */
+ public void setConverter(XmlConverter newConverter)
+ {
+ if (newConverter != converter)
+ {
+ NotificationChain msgs = null;
+ if (converter != null)
+ msgs = ((InternalEObject)converter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID_IMPL__CONVERTER, null, msgs);
+ if (newConverter != null)
+ msgs = ((InternalEObject)newConverter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID_IMPL__CONVERTER, null, msgs);
+ msgs = basicSetConverter(newConverter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID_IMPL__CONVERTER, newConverter, newConverter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type Converter</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>Type Converter</em>' containment reference.
+ * @see #setTypeConverter(XmlTypeConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_TypeConverter()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlTypeConverter getTypeConverter()
+ {
+ return typeConverter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTypeConverter(XmlTypeConverter newTypeConverter, NotificationChain msgs)
+ {
+ XmlTypeConverter oldTypeConverter = typeConverter;
+ typeConverter = newTypeConverter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID_IMPL__TYPE_CONVERTER, oldTypeConverter, newTypeConverter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlIdImpl#getTypeConverter <em>Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type Converter</em>' containment reference.
+ * @see #getTypeConverter()
+ * @generated
+ */
+ public void setTypeConverter(XmlTypeConverter newTypeConverter)
+ {
+ if (newTypeConverter != typeConverter)
+ {
+ NotificationChain msgs = null;
+ if (typeConverter != null)
+ msgs = ((InternalEObject)typeConverter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID_IMPL__TYPE_CONVERTER, null, msgs);
+ if (newTypeConverter != null)
+ msgs = ((InternalEObject)newTypeConverter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID_IMPL__TYPE_CONVERTER, null, msgs);
+ msgs = basicSetTypeConverter(newTypeConverter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID_IMPL__TYPE_CONVERTER, newTypeConverter, newTypeConverter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Object Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Object Type Converter</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>Object Type Converter</em>' containment reference.
+ * @see #setObjectTypeConverter(XmlObjectTypeConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_ObjectTypeConverter()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlObjectTypeConverter getObjectTypeConverter()
+ {
+ return objectTypeConverter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObjectTypeConverter(XmlObjectTypeConverter newObjectTypeConverter, NotificationChain msgs)
+ {
+ XmlObjectTypeConverter oldObjectTypeConverter = objectTypeConverter;
+ objectTypeConverter = newObjectTypeConverter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID_IMPL__OBJECT_TYPE_CONVERTER, oldObjectTypeConverter, newObjectTypeConverter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlIdImpl#getObjectTypeConverter <em>Object Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Object Type Converter</em>' containment reference.
+ * @see #getObjectTypeConverter()
+ * @generated
+ */
+ public void setObjectTypeConverter(XmlObjectTypeConverter newObjectTypeConverter)
+ {
+ if (newObjectTypeConverter != objectTypeConverter)
+ {
+ NotificationChain msgs = null;
+ if (objectTypeConverter != null)
+ msgs = ((InternalEObject)objectTypeConverter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID_IMPL__OBJECT_TYPE_CONVERTER, null, msgs);
+ if (newObjectTypeConverter != null)
+ msgs = ((InternalEObject)newObjectTypeConverter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID_IMPL__OBJECT_TYPE_CONVERTER, null, msgs);
+ msgs = basicSetObjectTypeConverter(newObjectTypeConverter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID_IMPL__OBJECT_TYPE_CONVERTER, newObjectTypeConverter, newObjectTypeConverter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Struct Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Struct Converter</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>Struct Converter</em>' containment reference.
+ * @see #setStructConverter(XmlStructConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_StructConverter()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlStructConverter getStructConverter()
+ {
+ return structConverter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetStructConverter(XmlStructConverter newStructConverter, NotificationChain msgs)
+ {
+ XmlStructConverter oldStructConverter = structConverter;
+ structConverter = newStructConverter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID_IMPL__STRUCT_CONVERTER, oldStructConverter, newStructConverter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlIdImpl#getStructConverter <em>Struct Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Struct Converter</em>' containment reference.
+ * @see #getStructConverter()
+ * @generated
+ */
+ public void setStructConverter(XmlStructConverter newStructConverter)
+ {
+ if (newStructConverter != structConverter)
+ {
+ NotificationChain msgs = null;
+ if (structConverter != null)
+ msgs = ((InternalEObject)structConverter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID_IMPL__STRUCT_CONVERTER, null, msgs);
+ if (newStructConverter != null)
+ msgs = ((InternalEObject)newStructConverter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ID_IMPL__STRUCT_CONVERTER, null, msgs);
+ msgs = basicSetStructConverter(newStructConverter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ID_IMPL__STRUCT_CONVERTER, newStructConverter, newStructConverter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_ID_IMPL__CONVERTER:
+ return basicSetConverter(null, msgs);
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TYPE_CONVERTER:
+ return basicSetTypeConverter(null, msgs);
+ case EclipseLinkOrmPackage.XML_ID_IMPL__OBJECT_TYPE_CONVERTER:
+ return basicSetObjectTypeConverter(null, msgs);
+ case EclipseLinkOrmPackage.XML_ID_IMPL__STRUCT_CONVERTER:
+ return basicSetStructConverter(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -115,6 +474,16 @@ public class XmlIdImpl extends org.eclipse.jpt.core.resource.orm.XmlIdImpl imple
{
case EclipseLinkOrmPackage.XML_ID_IMPL__MUTABLE:
return getMutable();
+ case EclipseLinkOrmPackage.XML_ID_IMPL__CONVERT:
+ return getConvert();
+ case EclipseLinkOrmPackage.XML_ID_IMPL__CONVERTER:
+ return getConverter();
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TYPE_CONVERTER:
+ return getTypeConverter();
+ case EclipseLinkOrmPackage.XML_ID_IMPL__OBJECT_TYPE_CONVERTER:
+ return getObjectTypeConverter();
+ case EclipseLinkOrmPackage.XML_ID_IMPL__STRUCT_CONVERTER:
+ return getStructConverter();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -132,6 +501,21 @@ public class XmlIdImpl extends org.eclipse.jpt.core.resource.orm.XmlIdImpl imple
case EclipseLinkOrmPackage.XML_ID_IMPL__MUTABLE:
setMutable((Boolean)newValue);
return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__CONVERT:
+ setConvert((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__CONVERTER:
+ setConverter((XmlConverter)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TYPE_CONVERTER:
+ setTypeConverter((XmlTypeConverter)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__OBJECT_TYPE_CONVERTER:
+ setObjectTypeConverter((XmlObjectTypeConverter)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__STRUCT_CONVERTER:
+ setStructConverter((XmlStructConverter)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -149,6 +533,21 @@ public class XmlIdImpl extends org.eclipse.jpt.core.resource.orm.XmlIdImpl imple
case EclipseLinkOrmPackage.XML_ID_IMPL__MUTABLE:
setMutable(MUTABLE_EDEFAULT);
return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__CONVERT:
+ setConvert(CONVERT_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__CONVERTER:
+ setConverter((XmlConverter)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TYPE_CONVERTER:
+ setTypeConverter((XmlTypeConverter)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__OBJECT_TYPE_CONVERTER:
+ setObjectTypeConverter((XmlObjectTypeConverter)null);
+ return;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__STRUCT_CONVERTER:
+ setStructConverter((XmlStructConverter)null);
+ return;
}
super.eUnset(featureID);
}
@@ -165,6 +564,16 @@ public class XmlIdImpl extends org.eclipse.jpt.core.resource.orm.XmlIdImpl imple
{
case EclipseLinkOrmPackage.XML_ID_IMPL__MUTABLE:
return MUTABLE_EDEFAULT == null ? mutable != null : !MUTABLE_EDEFAULT.equals(mutable);
+ case EclipseLinkOrmPackage.XML_ID_IMPL__CONVERT:
+ return CONVERT_EDEFAULT == null ? convert != null : !CONVERT_EDEFAULT.equals(convert);
+ case EclipseLinkOrmPackage.XML_ID_IMPL__CONVERTER:
+ return converter != null;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TYPE_CONVERTER:
+ return typeConverter != null;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__OBJECT_TYPE_CONVERTER:
+ return objectTypeConverter != null;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__STRUCT_CONVERTER:
+ return structConverter != null;
}
return super.eIsSet(featureID);
}
@@ -185,6 +594,25 @@ public class XmlIdImpl extends org.eclipse.jpt.core.resource.orm.XmlIdImpl imple
default: return -1;
}
}
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ID_IMPL__CONVERT: return EclipseLinkOrmPackage.XML_CONVERTIBLE_MAPPING__CONVERT;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlConverterHolder.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_ID_IMPL__CONVERTER: return EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__CONVERTER;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__TYPE_CONVERTER: return EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__TYPE_CONVERTER;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__OBJECT_TYPE_CONVERTER: return EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__OBJECT_TYPE_CONVERTER;
+ case EclipseLinkOrmPackage.XML_ID_IMPL__STRUCT_CONVERTER: return EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__STRUCT_CONVERTER;
+ default: return -1;
+ }
+ }
if (baseClass == XmlId.class)
{
switch (derivedFeatureID)
@@ -211,6 +639,25 @@ public class XmlIdImpl extends org.eclipse.jpt.core.resource.orm.XmlIdImpl imple
default: return -1;
}
}
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_CONVERTIBLE_MAPPING__CONVERT: return EclipseLinkOrmPackage.XML_ID_IMPL__CONVERT;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlConverterHolder.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__CONVERTER: return EclipseLinkOrmPackage.XML_ID_IMPL__CONVERTER;
+ case EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__TYPE_CONVERTER: return EclipseLinkOrmPackage.XML_ID_IMPL__TYPE_CONVERTER;
+ case EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__OBJECT_TYPE_CONVERTER: return EclipseLinkOrmPackage.XML_ID_IMPL__OBJECT_TYPE_CONVERTER;
+ case EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__STRUCT_CONVERTER: return EclipseLinkOrmPackage.XML_ID_IMPL__STRUCT_CONVERTER;
+ default: return -1;
+ }
+ }
if (baseClass == XmlId.class)
{
switch (baseFeatureID)
@@ -234,6 +681,8 @@ public class XmlIdImpl extends org.eclipse.jpt.core.resource.orm.XmlIdImpl imple
StringBuffer result = new StringBuffer(super.toString());
result.append(" (mutable: ");
result.append(mutable);
+ result.append(", convert: ");
+ result.append(convert);
result.append(')');
return result.toString();
}
@@ -241,4 +690,8 @@ public class XmlIdImpl extends org.eclipse.jpt.core.resource.orm.XmlIdImpl imple
public TextRange getMutableTextRange() {
return getAttributeTextRange(EclipseLinkOrmXmlMapper.MUTABLE);
}
+
+ public TextRange getConvertTextRange() {
+ return getElementTextRange(EclipseLinkOrmXmlMapper.CONVERT);
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlObjectTypeConverter.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlObjectTypeConverter.java
new file mode 100644
index 0000000000..e40ebdf39a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlObjectTypeConverter.java
@@ -0,0 +1,471 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Object Type Converter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getConversionValues <em>Conversion Values</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getDefaultObjectValue <em>Default Object Value</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getDataType <em>Data Type</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getObjectType <em>Object Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlObjectTypeConverter()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class XmlObjectTypeConverter extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * The cached value of the '{@link #getConversionValues() <em>Conversion Values</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConversionValues()
+ * @generated
+ * @ordered
+ */
+ protected EList<XmlConversionValue> conversionValues;
+
+ /**
+ * The default value of the '{@link #getDefaultObjectValue() <em>Default Object Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultObjectValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEFAULT_OBJECT_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDefaultObjectValue() <em>Default Object Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultObjectValue()
+ * @generated
+ * @ordered
+ */
+ protected String defaultObjectValue = DEFAULT_OBJECT_VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDataType() <em>Data Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataType()
+ * @generated
+ * @ordered
+ */
+ protected static final String DATA_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDataType() <em>Data Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataType()
+ * @generated
+ * @ordered
+ */
+ protected String dataType = DATA_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getObjectType() <em>Object Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObjectType()
+ * @generated
+ * @ordered
+ */
+ protected static final String OBJECT_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getObjectType() <em>Object Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObjectType()
+ * @generated
+ * @ordered
+ */
+ protected String objectType = OBJECT_TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlObjectTypeConverter()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_OBJECT_TYPE_CONVERTER;
+ }
+
+ /**
+ * 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#getXmlObjectTypeConverter_Name()
+ * @model
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#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_OBJECT_TYPE_CONVERTER__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Data Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Type</em>' attribute.
+ * @see #setDataType(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlObjectTypeConverter_DataType()
+ * @model
+ * @generated
+ */
+ public String getDataType()
+ {
+ return dataType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getDataType <em>Data Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Data Type</em>' attribute.
+ * @see #getDataType()
+ * @generated
+ */
+ public void setDataType(String newDataType)
+ {
+ String oldDataType = dataType;
+ dataType = newDataType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__DATA_TYPE, oldDataType, dataType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Object Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Object Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Object Type</em>' attribute.
+ * @see #setObjectType(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlObjectTypeConverter_ObjectType()
+ * @model
+ * @generated
+ */
+ public String getObjectType()
+ {
+ return objectType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getObjectType <em>Object Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Object Type</em>' attribute.
+ * @see #getObjectType()
+ * @generated
+ */
+ public void setObjectType(String newObjectType)
+ {
+ String oldObjectType = objectType;
+ objectType = newObjectType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__OBJECT_TYPE, oldObjectType, objectType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Conversion Values</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Conversion Values</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>Conversion Values</em>' containment reference list.
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlObjectTypeConverter_ConversionValues()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<XmlConversionValue> getConversionValues()
+ {
+ if (conversionValues == null)
+ {
+ conversionValues = new EObjectContainmentEList<XmlConversionValue>(XmlConversionValue.class, this, EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__CONVERSION_VALUES);
+ }
+ return conversionValues;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Default Object Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default Object Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default Object Value</em>' attribute.
+ * @see #setDefaultObjectValue(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlObjectTypeConverter_DefaultObjectValue()
+ * @model
+ * @generated
+ */
+ public String getDefaultObjectValue()
+ {
+ return defaultObjectValue;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter#getDefaultObjectValue <em>Default Object Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default Object Value</em>' attribute.
+ * @see #getDefaultObjectValue()
+ * @generated
+ */
+ public void setDefaultObjectValue(String newDefaultObjectValue)
+ {
+ String oldDefaultObjectValue = defaultObjectValue;
+ defaultObjectValue = newDefaultObjectValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__DEFAULT_OBJECT_VALUE, oldDefaultObjectValue, defaultObjectValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__CONVERSION_VALUES:
+ return ((InternalEList<?>)getConversionValues()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__CONVERSION_VALUES:
+ return getConversionValues();
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__DEFAULT_OBJECT_VALUE:
+ return getDefaultObjectValue();
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__DATA_TYPE:
+ return getDataType();
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__OBJECT_TYPE:
+ return getObjectType();
+ }
+ 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_OBJECT_TYPE_CONVERTER__CONVERSION_VALUES:
+ getConversionValues().clear();
+ getConversionValues().addAll((Collection<? extends XmlConversionValue>)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__DEFAULT_OBJECT_VALUE:
+ setDefaultObjectValue((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__DATA_TYPE:
+ setDataType((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__OBJECT_TYPE:
+ setObjectType((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_OBJECT_TYPE_CONVERTER__CONVERSION_VALUES:
+ getConversionValues().clear();
+ return;
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__DEFAULT_OBJECT_VALUE:
+ setDefaultObjectValue(DEFAULT_OBJECT_VALUE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__DATA_TYPE:
+ setDataType(DATA_TYPE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__OBJECT_TYPE:
+ setObjectType(OBJECT_TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__CONVERSION_VALUES:
+ return conversionValues != null && !conversionValues.isEmpty();
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__DEFAULT_OBJECT_VALUE:
+ return DEFAULT_OBJECT_VALUE_EDEFAULT == null ? defaultObjectValue != null : !DEFAULT_OBJECT_VALUE_EDEFAULT.equals(defaultObjectValue);
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__DATA_TYPE:
+ return DATA_TYPE_EDEFAULT == null ? dataType != null : !DATA_TYPE_EDEFAULT.equals(dataType);
+ case EclipseLinkOrmPackage.XML_OBJECT_TYPE_CONVERTER__OBJECT_TYPE:
+ return OBJECT_TYPE_EDEFAULT == null ? objectType != null : !OBJECT_TYPE_EDEFAULT.equals(objectType);
+ }
+ 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(" (defaultObjectValue: ");
+ result.append(defaultObjectValue);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", dataType: ");
+ result.append(dataType);
+ result.append(", objectType: ");
+ result.append(objectType);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlObjectTypeConverter
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlStructConverter.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlStructConverter.java
new file mode 100644
index 0000000000..33db9406b6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlStructConverter.java
@@ -0,0 +1,267 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Struct Converter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter#getConverter <em>Converter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlStructConverter()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class XmlStructConverter extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getConverter() <em>Converter</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConverter()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONVERTER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getConverter() <em>Converter</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConverter()
+ * @generated
+ * @ordered
+ */
+ protected String converter = CONVERTER_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlStructConverter()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_STRUCT_CONVERTER;
+ }
+
+ /**
+ * 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#getXmlStructConverter_Name()
+ * @model
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter#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_STRUCT_CONVERTER__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Converter</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Converter</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Converter</em>' attribute.
+ * @see #setConverter(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlStructConverter_Converter()
+ * @model
+ * @generated
+ */
+ public String getConverter()
+ {
+ return converter;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter#getConverter <em>Converter</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Converter</em>' attribute.
+ * @see #getConverter()
+ * @generated
+ */
+ public void setConverter(String newConverter)
+ {
+ String oldConverter = converter;
+ converter = newConverter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_STRUCT_CONVERTER__CONVERTER, oldConverter, converter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_STRUCT_CONVERTER__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.XML_STRUCT_CONVERTER__CONVERTER:
+ return getConverter();
+ }
+ 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_STRUCT_CONVERTER__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_STRUCT_CONVERTER__CONVERTER:
+ setConverter((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_STRUCT_CONVERTER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_STRUCT_CONVERTER__CONVERTER:
+ setConverter(CONVERTER_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_STRUCT_CONVERTER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.XML_STRUCT_CONVERTER__CONVERTER:
+ return CONVERTER_EDEFAULT == null ? converter != null : !CONVERTER_EDEFAULT.equals(converter);
+ }
+ 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(", converter: ");
+ result.append(converter);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlStructConverter
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlTypeConverter.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlTypeConverter.java
new file mode 100644
index 0000000000..723e2a3045
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlTypeConverter.java
@@ -0,0 +1,335 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.resource.common.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Type Converter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter#getDataType <em>Data Type</em>}</li>
+ * <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter#getObjectType <em>Object Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeConverter()
+ * @model kind="class"
+ * @extends JpaEObject
+ * @generated
+ */
+public class XmlTypeConverter extends AbstractJpaEObject implements JpaEObject
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDataType() <em>Data Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataType()
+ * @generated
+ * @ordered
+ */
+ protected static final String DATA_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDataType() <em>Data Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataType()
+ * @generated
+ * @ordered
+ */
+ protected String dataType = DATA_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getObjectType() <em>Object Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObjectType()
+ * @generated
+ * @ordered
+ */
+ protected static final String OBJECT_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getObjectType() <em>Object Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObjectType()
+ * @generated
+ * @ordered
+ */
+ protected String objectType = OBJECT_TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlTypeConverter()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return EclipseLinkOrmPackage.Literals.XML_TYPE_CONVERTER;
+ }
+
+ /**
+ * 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#getXmlTypeConverter_Name()
+ * @model
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter#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_TYPE_CONVERTER__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Data Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Type</em>' attribute.
+ * @see #setDataType(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeConverter_DataType()
+ * @model
+ * @generated
+ */
+ public String getDataType()
+ {
+ return dataType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter#getDataType <em>Data Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Data Type</em>' attribute.
+ * @see #getDataType()
+ * @generated
+ */
+ public void setDataType(String newDataType)
+ {
+ String oldDataType = dataType;
+ dataType = newDataType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_TYPE_CONVERTER__DATA_TYPE, oldDataType, dataType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Object Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Object Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Object Type</em>' attribute.
+ * @see #setObjectType(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeConverter_ObjectType()
+ * @model
+ * @generated
+ */
+ public String getObjectType()
+ {
+ return objectType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter#getObjectType <em>Object Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Object Type</em>' attribute.
+ * @see #getObjectType()
+ * @generated
+ */
+ public void setObjectType(String newObjectType)
+ {
+ String oldObjectType = objectType;
+ objectType = newObjectType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_TYPE_CONVERTER__OBJECT_TYPE, oldObjectType, objectType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_TYPE_CONVERTER__NAME:
+ return getName();
+ case EclipseLinkOrmPackage.XML_TYPE_CONVERTER__DATA_TYPE:
+ return getDataType();
+ case EclipseLinkOrmPackage.XML_TYPE_CONVERTER__OBJECT_TYPE:
+ return getObjectType();
+ }
+ 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_TYPE_CONVERTER__NAME:
+ setName((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_TYPE_CONVERTER__DATA_TYPE:
+ setDataType((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_TYPE_CONVERTER__OBJECT_TYPE:
+ setObjectType((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_TYPE_CONVERTER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_TYPE_CONVERTER__DATA_TYPE:
+ setDataType(DATA_TYPE_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_TYPE_CONVERTER__OBJECT_TYPE:
+ setObjectType(OBJECT_TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_TYPE_CONVERTER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EclipseLinkOrmPackage.XML_TYPE_CONVERTER__DATA_TYPE:
+ return DATA_TYPE_EDEFAULT == null ? dataType != null : !DATA_TYPE_EDEFAULT.equals(dataType);
+ case EclipseLinkOrmPackage.XML_TYPE_CONVERTER__OBJECT_TYPE:
+ return OBJECT_TYPE_EDEFAULT == null ? objectType != null : !OBJECT_TYPE_EDEFAULT.equals(objectType);
+ }
+ 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(", dataType: ");
+ result.append(dataType);
+ result.append(", objectType: ");
+ result.append(objectType);
+ result.append(')');
+ return result.toString();
+ }
+
+} // XmlTypeConverter
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 92aedb2acd..54a5d3fc40 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
@@ -20,6 +20,6 @@ package org.eclipse.jpt.eclipselink.core.resource.orm;
* @model kind="class" interface="true" abstract="true"
* @generated
*/
-public interface XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion, XmlMutable
+public interface XmlVersion extends org.eclipse.jpt.core.resource.orm.XmlVersion, XmlMutable, XmlConvertibleMapping, XmlConverterHolder
{
} // XmlVersion
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlVersionImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlVersionImpl.java
index ae750be11d..bdca94b33c 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlVersionImpl.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlVersionImpl.java
@@ -10,7 +10,9 @@
package org.eclipse.jpt.eclipselink.core.resource.orm;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.jpt.eclipselink.core.internal.resource.orm.translators.EclipseLinkOrmXmlMapper;
@@ -48,6 +50,66 @@ public class XmlVersionImpl extends org.eclipse.jpt.core.resource.orm.XmlVersion
protected Boolean mutable = MUTABLE_EDEFAULT;
/**
+ * The default value of the '{@link #getConvert() <em>Convert</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConvert()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONVERT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getConvert() <em>Convert</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConvert()
+ * @generated
+ * @ordered
+ */
+ protected String convert = CONVERT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getConverter() <em>Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConverter()
+ * @generated
+ * @ordered
+ */
+ protected XmlConverter converter;
+
+ /**
+ * The cached value of the '{@link #getTypeConverter() <em>Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypeConverter()
+ * @generated
+ * @ordered
+ */
+ protected XmlTypeConverter typeConverter;
+
+ /**
+ * The cached value of the '{@link #getObjectTypeConverter() <em>Object Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObjectTypeConverter()
+ * @generated
+ * @ordered
+ */
+ protected XmlObjectTypeConverter objectTypeConverter;
+
+ /**
+ * The cached value of the '{@link #getStructConverter() <em>Struct Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStructConverter()
+ * @generated
+ * @ordered
+ */
+ protected XmlStructConverter structConverter;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -104,6 +166,303 @@ public class XmlVersionImpl extends org.eclipse.jpt.core.resource.orm.XmlVersion
}
/**
+ * Returns the value of the '<em><b>Convert</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Convert</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Convert</em>' attribute.
+ * @see #setConvert(String)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertibleMapping_Convert()
+ * @model
+ * @generated
+ */
+ public String getConvert()
+ {
+ return convert;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersionImpl#getConvert <em>Convert</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Convert</em>' attribute.
+ * @see #getConvert()
+ * @generated
+ */
+ public void setConvert(String newConvert)
+ {
+ String oldConvert = convert;
+ convert = newConvert;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERT, oldConvert, convert));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Converter</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>Converter</em>' containment reference.
+ * @see #setConverter(XmlConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_Converter()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlConverter getConverter()
+ {
+ return converter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetConverter(XmlConverter newConverter, NotificationChain msgs)
+ {
+ XmlConverter oldConverter = converter;
+ converter = newConverter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERTER, oldConverter, newConverter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersionImpl#getConverter <em>Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Converter</em>' containment reference.
+ * @see #getConverter()
+ * @generated
+ */
+ public void setConverter(XmlConverter newConverter)
+ {
+ if (newConverter != converter)
+ {
+ NotificationChain msgs = null;
+ if (converter != null)
+ msgs = ((InternalEObject)converter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERTER, null, msgs);
+ if (newConverter != null)
+ msgs = ((InternalEObject)newConverter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERTER, null, msgs);
+ msgs = basicSetConverter(newConverter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERTER, newConverter, newConverter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type Converter</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>Type Converter</em>' containment reference.
+ * @see #setTypeConverter(XmlTypeConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_TypeConverter()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlTypeConverter getTypeConverter()
+ {
+ return typeConverter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTypeConverter(XmlTypeConverter newTypeConverter, NotificationChain msgs)
+ {
+ XmlTypeConverter oldTypeConverter = typeConverter;
+ typeConverter = newTypeConverter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_VERSION_IMPL__TYPE_CONVERTER, oldTypeConverter, newTypeConverter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersionImpl#getTypeConverter <em>Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type Converter</em>' containment reference.
+ * @see #getTypeConverter()
+ * @generated
+ */
+ public void setTypeConverter(XmlTypeConverter newTypeConverter)
+ {
+ if (newTypeConverter != typeConverter)
+ {
+ NotificationChain msgs = null;
+ if (typeConverter != null)
+ msgs = ((InternalEObject)typeConverter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_VERSION_IMPL__TYPE_CONVERTER, null, msgs);
+ if (newTypeConverter != null)
+ msgs = ((InternalEObject)newTypeConverter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_VERSION_IMPL__TYPE_CONVERTER, null, msgs);
+ msgs = basicSetTypeConverter(newTypeConverter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_VERSION_IMPL__TYPE_CONVERTER, newTypeConverter, newTypeConverter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Object Type Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Object Type Converter</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>Object Type Converter</em>' containment reference.
+ * @see #setObjectTypeConverter(XmlObjectTypeConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_ObjectTypeConverter()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlObjectTypeConverter getObjectTypeConverter()
+ {
+ return objectTypeConverter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObjectTypeConverter(XmlObjectTypeConverter newObjectTypeConverter, NotificationChain msgs)
+ {
+ XmlObjectTypeConverter oldObjectTypeConverter = objectTypeConverter;
+ objectTypeConverter = newObjectTypeConverter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_VERSION_IMPL__OBJECT_TYPE_CONVERTER, oldObjectTypeConverter, newObjectTypeConverter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersionImpl#getObjectTypeConverter <em>Object Type Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Object Type Converter</em>' containment reference.
+ * @see #getObjectTypeConverter()
+ * @generated
+ */
+ public void setObjectTypeConverter(XmlObjectTypeConverter newObjectTypeConverter)
+ {
+ if (newObjectTypeConverter != objectTypeConverter)
+ {
+ NotificationChain msgs = null;
+ if (objectTypeConverter != null)
+ msgs = ((InternalEObject)objectTypeConverter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_VERSION_IMPL__OBJECT_TYPE_CONVERTER, null, msgs);
+ if (newObjectTypeConverter != null)
+ msgs = ((InternalEObject)newObjectTypeConverter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_VERSION_IMPL__OBJECT_TYPE_CONVERTER, null, msgs);
+ msgs = basicSetObjectTypeConverter(newObjectTypeConverter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_VERSION_IMPL__OBJECT_TYPE_CONVERTER, newObjectTypeConverter, newObjectTypeConverter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Struct Converter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Struct Converter</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>Struct Converter</em>' containment reference.
+ * @see #setStructConverter(XmlStructConverter)
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder_StructConverter()
+ * @model containment="true"
+ * @generated
+ */
+ public XmlStructConverter getStructConverter()
+ {
+ return structConverter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetStructConverter(XmlStructConverter newStructConverter, NotificationChain msgs)
+ {
+ XmlStructConverter oldStructConverter = structConverter;
+ structConverter = newStructConverter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_VERSION_IMPL__STRUCT_CONVERTER, oldStructConverter, newStructConverter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlVersionImpl#getStructConverter <em>Struct Converter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Struct Converter</em>' containment reference.
+ * @see #getStructConverter()
+ * @generated
+ */
+ public void setStructConverter(XmlStructConverter newStructConverter)
+ {
+ if (newStructConverter != structConverter)
+ {
+ NotificationChain msgs = null;
+ if (structConverter != null)
+ msgs = ((InternalEObject)structConverter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_VERSION_IMPL__STRUCT_CONVERTER, null, msgs);
+ if (newStructConverter != null)
+ msgs = ((InternalEObject)newStructConverter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_VERSION_IMPL__STRUCT_CONVERTER, null, msgs);
+ msgs = basicSetStructConverter(newStructConverter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_VERSION_IMPL__STRUCT_CONVERTER, newStructConverter, newStructConverter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERTER:
+ return basicSetConverter(null, msgs);
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__TYPE_CONVERTER:
+ return basicSetTypeConverter(null, msgs);
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__OBJECT_TYPE_CONVERTER:
+ return basicSetObjectTypeConverter(null, msgs);
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__STRUCT_CONVERTER:
+ return basicSetStructConverter(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -115,6 +474,16 @@ public class XmlVersionImpl extends org.eclipse.jpt.core.resource.orm.XmlVersion
{
case EclipseLinkOrmPackage.XML_VERSION_IMPL__MUTABLE:
return getMutable();
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERT:
+ return getConvert();
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERTER:
+ return getConverter();
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__TYPE_CONVERTER:
+ return getTypeConverter();
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__OBJECT_TYPE_CONVERTER:
+ return getObjectTypeConverter();
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__STRUCT_CONVERTER:
+ return getStructConverter();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -132,6 +501,21 @@ public class XmlVersionImpl extends org.eclipse.jpt.core.resource.orm.XmlVersion
case EclipseLinkOrmPackage.XML_VERSION_IMPL__MUTABLE:
setMutable((Boolean)newValue);
return;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERT:
+ setConvert((String)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERTER:
+ setConverter((XmlConverter)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__TYPE_CONVERTER:
+ setTypeConverter((XmlTypeConverter)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__OBJECT_TYPE_CONVERTER:
+ setObjectTypeConverter((XmlObjectTypeConverter)newValue);
+ return;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__STRUCT_CONVERTER:
+ setStructConverter((XmlStructConverter)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -149,6 +533,21 @@ public class XmlVersionImpl extends org.eclipse.jpt.core.resource.orm.XmlVersion
case EclipseLinkOrmPackage.XML_VERSION_IMPL__MUTABLE:
setMutable(MUTABLE_EDEFAULT);
return;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERT:
+ setConvert(CONVERT_EDEFAULT);
+ return;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERTER:
+ setConverter((XmlConverter)null);
+ return;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__TYPE_CONVERTER:
+ setTypeConverter((XmlTypeConverter)null);
+ return;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__OBJECT_TYPE_CONVERTER:
+ setObjectTypeConverter((XmlObjectTypeConverter)null);
+ return;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__STRUCT_CONVERTER:
+ setStructConverter((XmlStructConverter)null);
+ return;
}
super.eUnset(featureID);
}
@@ -165,6 +564,16 @@ public class XmlVersionImpl extends org.eclipse.jpt.core.resource.orm.XmlVersion
{
case EclipseLinkOrmPackage.XML_VERSION_IMPL__MUTABLE:
return MUTABLE_EDEFAULT == null ? mutable != null : !MUTABLE_EDEFAULT.equals(mutable);
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERT:
+ return CONVERT_EDEFAULT == null ? convert != null : !CONVERT_EDEFAULT.equals(convert);
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERTER:
+ return converter != null;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__TYPE_CONVERTER:
+ return typeConverter != null;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__OBJECT_TYPE_CONVERTER:
+ return objectTypeConverter != null;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__STRUCT_CONVERTER:
+ return structConverter != null;
}
return super.eIsSet(featureID);
}
@@ -185,6 +594,25 @@ public class XmlVersionImpl extends org.eclipse.jpt.core.resource.orm.XmlVersion
default: return -1;
}
}
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERT: return EclipseLinkOrmPackage.XML_CONVERTIBLE_MAPPING__CONVERT;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlConverterHolder.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERTER: return EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__CONVERTER;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__TYPE_CONVERTER: return EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__TYPE_CONVERTER;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__OBJECT_TYPE_CONVERTER: return EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__OBJECT_TYPE_CONVERTER;
+ case EclipseLinkOrmPackage.XML_VERSION_IMPL__STRUCT_CONVERTER: return EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__STRUCT_CONVERTER;
+ default: return -1;
+ }
+ }
if (baseClass == XmlVersion.class)
{
switch (derivedFeatureID)
@@ -211,6 +639,25 @@ public class XmlVersionImpl extends org.eclipse.jpt.core.resource.orm.XmlVersion
default: return -1;
}
}
+ if (baseClass == XmlConvertibleMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_CONVERTIBLE_MAPPING__CONVERT: return EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERT;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlConverterHolder.class)
+ {
+ switch (baseFeatureID)
+ {
+ case EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__CONVERTER: return EclipseLinkOrmPackage.XML_VERSION_IMPL__CONVERTER;
+ case EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__TYPE_CONVERTER: return EclipseLinkOrmPackage.XML_VERSION_IMPL__TYPE_CONVERTER;
+ case EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__OBJECT_TYPE_CONVERTER: return EclipseLinkOrmPackage.XML_VERSION_IMPL__OBJECT_TYPE_CONVERTER;
+ case EclipseLinkOrmPackage.XML_CONVERTER_HOLDER__STRUCT_CONVERTER: return EclipseLinkOrmPackage.XML_VERSION_IMPL__STRUCT_CONVERTER;
+ default: return -1;
+ }
+ }
if (baseClass == XmlVersion.class)
{
switch (baseFeatureID)
@@ -234,6 +681,8 @@ public class XmlVersionImpl extends org.eclipse.jpt.core.resource.orm.XmlVersion
StringBuffer result = new StringBuffer(super.toString());
result.append(" (mutable: ");
result.append(mutable);
+ result.append(", convert: ");
+ result.append(convert);
result.append(')');
return result.toString();
}
@@ -241,4 +690,8 @@ public class XmlVersionImpl extends org.eclipse.jpt.core.resource.orm.XmlVersion
public TextRange getMutableTextRange() {
return getAttributeTextRange(EclipseLinkOrmXmlMapper.MUTABLE);
}
+
+ public TextRange getConvertTextRange() {
+ return getElementTextRange(EclipseLinkOrmXmlMapper.CONVERT);
+ }
}

Back to the top