Skip to main content
summaryrefslogtreecommitdiffstats
path: root/jaxb
diff options
context:
space:
mode:
authorPaul Fullbright2012-08-20 12:30:03 -0400
committerPaul Fullbright2012-08-20 12:31:20 -0400
commit285778800a2ff1cbc0f1cf3e998a522bab622db2 (patch)
tree75ea581bd70f3631aba2d6cf2974a2f9d801a140 /jaxb
parent05abb865678ead39da37fe70c9cb0fea2e89226b (diff)
downloadwebtools.dali-285778800a2ff1cbc0f1cf3e998a522bab622db2.tar.gz
webtools.dali-285778800a2ff1cbc0f1cf3e998a522bab622db2.tar.xz
webtools.dali-285778800a2ff1cbc0f1cf3e998a522bab622db2.zip
Initial oxm resource model
Diffstat (limited to 'jaxb')
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbProject.java4
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/META-INF/MANIFEST.MF8
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/build.properties2
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/model/oxm.ecore333
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/model/oxm.genmodel288
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.properties2
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.xml35
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/oxm/OxmXmlResourceProvider.java55
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAbstractXmlNullPolicy.java391
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAbstractXmlTransformer.java260
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAccessibleJavaAttribute.java52
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAdaptableJavaAttribute.java52
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EContainerJavaAttribute.java52
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EJavaAttribute.java418
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EJavaType.java1396
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EPropertyHolder.java44
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EReadWriteJavaAttribute.java79
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/ETypedJavaAttribute.java52
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAccessMethods.java260
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAccessOrder.java223
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAccessType.java277
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAnyAttribute.java647
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAnyElement.java1024
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAttribute.java1651
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlBindings.java969
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlClassExtractor.java192
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElement.java1996
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementDecl.java651
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementRef.java1039
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementRefs.java791
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementWrapper.java396
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElements.java887
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlEnum.java331
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlEnumValue.java192
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlInverseReference.java580
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlIsSetNullPolicy.java283
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlIsSetParameter.java260
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlJavaTypeAdapter.java349
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlJoinNode.java260
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlJoinNodes.java402
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlMap.java260
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlMarshalNullRepresentation.java250
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlNs.java260
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlNsForm.java250
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlNullPolicy.java216
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlProperty.java328
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlReadTransformer.java40
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlRegistry.java260
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlRootElement.java255
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlSchema.java460
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlSchemaType.java321
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlTransformation.java546
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlTransient.java217
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlType.java466
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlValue.java907
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlVirtualAccessMethods.java331
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlVirtualAccessMethodsSchema.java223
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlWriteTransformer.java188
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EclipseLink.java49
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/OxmFactory.java782
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/OxmPackage.java9301
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/OxmXmlResourceFactory.java46
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/util/OxmValidator.java805
-rw-r--r--jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/META-INF/MANIFEST.MF4
-rw-r--r--jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/ELJaxbCoreResourceModelTests.java2
-rw-r--r--jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/oxm/OxmResourceTests.java70
66 files changed, 34016 insertions, 4 deletions
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbProject.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbProject.java
index 788cf013e5..ca139a05bb 100644
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbProject.java
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbProject.java
@@ -1235,13 +1235,13 @@ public abstract class AbstractJaxbProject
}
public void resourceModelReverted(JptResourceModel jpaResourceModel) {
-// IFile file = WorkbenchResourceHelper.getFile((JpaXmlResource)jpaResourceModel);
+// IFile file = WorkbenchResourceHelper.getFile((JptXmlResource)jpaResourceModel);
// AbstractJaxbProject.this.removeJaxbFile(file);
// AbstractJaxbProject.this.addJaxbFile(file);
}
public void resourceModelUnloaded(JptResourceModel jpaResourceModel) {
-// IFile file = WorkbenchResourceHelper.getFile((JpaXmlResource)jpaResourceModel);
+// IFile file = WorkbenchResourceHelper.getFile((JptXmlResource)jpaResourceModel);
// AbstractJaxbProject.this.removeJaxbFile(file);
}
}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/META-INF/MANIFEST.MF b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/META-INF/MANIFEST.MF
index 2abe8f3efe..f594d66c60 100644
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/META-INF/MANIFEST.MF
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/META-INF/MANIFEST.MF
@@ -13,12 +13,16 @@ Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.4.300,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.7.100,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.jdt.core;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.jem.util;bundle-version="[2.1.100,3.0.0)",
org.eclipse.jpt.common.core;bundle-version="[1.0.0,2.0.0)",
org.eclipse.jpt.common.eclipselink.core;bundle-version="[1.0.0,2.0.0)",
org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
org.eclipse.jpt.jaxb.core;bundle-version="[1.0.0,2.0.0)",
org.eclipse.jst.common.project.facet.core;bundle-version="[1.4.200,2.0.0)",
org.eclipse.jst.j2ee;bundle-version="[1.1.500,2.0.0)",
+ org.eclipse.text;bundle-version="[3.5.200,4.0.0)",
+ org.eclipse.wst.common.emf;bundle-version="[1.2.100,2.0.0)",
+ org.eclipse.wst.common.emfworkbench.integration;bundle-version="[1.2.101,2.0.0)",
org.eclipse.wst.common.project.facet.core;bundle-version="[1.4.200,2.0.0)",
org.eclipse.wst.validation;bundle-version="[1.2.300,2.0.0)",
org.eclipse.xsd;bundle-version="[2.8.0,3.0.0)"
@@ -32,9 +36,11 @@ Export-Package: org.eclipse.jpt.jaxb.eclipselink.core,
org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java;x-internal:=true,
org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.binary;x-internal:=true,
org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.source;x-internal:=true,
+ org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.oxm,
org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_1;x-internal:=true,
org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_2;x-internal:=true,
org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_3;x-internal:=true,
org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_4;x-internal:=true,
org.eclipse.jpt.jaxb.eclipselink.core.internal.validation;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.core.resource.java
+ org.eclipse.jpt.jaxb.eclipselink.core.resource.java,
+ org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/build.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/build.properties
index b7fe1216e1..22d1946538 100644
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/build.properties
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/build.properties
@@ -16,3 +16,5 @@ bin.includes = .,\
plugin.xml,\
plugin.properties
jars.compile.order = .
+src.includes = model/
+src.includes = model/
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/model/oxm.ecore b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/model/oxm.ecore
new file mode 100644
index 0000000000..d59d1ce6ed
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/model/oxm.ecore
@@ -0,0 +1,333 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="oxm" nsURI="jpt.eclipselink.oxm.xmi" nsPrefix="org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm">
+ <eClassifiers xsi:type="ecore:EClass" name="EAbstractXmlNullPolicy" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xsiNilRepresentsNull" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="emptyNodeRepresentsNull"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="nullRepresentationForXml"
+ eType="#//EXmlMarshalNullRepresentation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EAbstractXmlTransformer" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="method" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="transformerClass" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EAccessibleJavaAttribute" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlAccessMethods" eType="#//EXmlAccessMethods"
+ containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EAdaptableJavaAttribute" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlJavaTypeAdapter" eType="#//EXmlJavaTypeAdapter"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EContainerJavaAttribute" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="containerType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EJavaAttribute" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="javaAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlAccessorType" eType="#//EXmlAccessType"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EJavaType" eSuperTypes="#//EPropertyHolder">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="superType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlAccessorOrder" eType="#//EXmlAccessOrder"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlAccessorType" eType="#//EXmlAccessType"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlCustomizer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlDiscriminatorNode" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlDiscriminatorValue"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlInlineBinaryData" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlTransient" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlNameTransformer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlType" eType="#//EXmlType"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlRootElement" eType="#//EXmlRootElement"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlVirtualAccessMethods"
+ eType="#//EXmlVirtualAccessMethods" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlSeeAlso" eType="#//EXmlSeeAlso"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlJavaTypeAdapter" eType="#//EXmlJavaTypeAdapter"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlClassExtractor" eType="#//EXmlClassExtractor"
+ containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="javaAttributes" upperBound="-1"
+ eType="#//EJavaAttribute" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EPropertyHolder" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlProperties" upperBound="-1"
+ eType="#//EXmlProperty" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="EPropOrder" instanceClassName="java.util.List">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="itemType" value="http://www.eclipse.org/emf/2003/XMLType#string"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EReadWriteJavaAttribute" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="readOnly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="writeOnly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ETypedJavaAttribute" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlAccessMethods">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="getMethod" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="setMethod" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="EXmlAccessOrder">
+ <eLiterals name="ALPHABETICAL"/>
+ <eLiterals name="UNDEFINED" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="EXmlAccessType">
+ <eLiterals name="FIELD"/>
+ <eLiterals name="NONE" value="1"/>
+ <eLiterals name="PROPERTY" value="2"/>
+ <eLiterals name="PUBLIC_MEMBER" value="3"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlAnyAttribute" eSuperTypes="#//EJavaAttribute #//EAccessibleJavaAttribute #//EContainerJavaAttribute #//EReadWriteJavaAttribute #//EPropertyHolder">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlAnyElement" eSuperTypes="#//EJavaAttribute #//EAccessibleJavaAttribute #//EAdaptableJavaAttribute #//EContainerJavaAttribute #//EReadWriteJavaAttribute #//EPropertyHolder">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlMixed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lax" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="domHandler" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlElementRefs" eType="#//EXmlElementRefs"
+ containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlAttribute" eSuperTypes="#//EJavaAttribute #//EAccessibleJavaAttribute #//EAdaptableJavaAttribute #//EContainerJavaAttribute #//EReadWriteJavaAttribute #//ETypedJavaAttribute #//EPropertyHolder">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="required" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlIdRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlKey" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlList" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlInlineBinaryData" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlAttachmentRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlMimeType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlAbstractNullPolicy"
+ eType="#//EAbstractXmlNullPolicy" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlSchemaType" eType="#//EXmlSchemaType"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlBindings" eSuperTypes="../../org.eclipse.jpt.common.core/model/common.ecore#//ERootObjectImpl">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlAccessorType" eType="#//EXmlAccessType"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlAccessorOrder" eType="#//EXmlAccessOrder"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlMappingMetadataComplete"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="packageName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlNameTransformer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlSchema" eType="#//EXmlSchema"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlSchemaType" eType="#//EXmlSchemaType"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlSchemaTypes" upperBound="-1"
+ eType="#//EXmlSchemaType" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlJavaTypeAdapters" upperBound="-1"
+ eType="#//EXmlJavaTypeAdapter" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlRegistries" upperBound="-1"
+ eType="#//EXmlRegistry" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlEnums" upperBound="-1"
+ eType="#//EXmlEnum" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="javaTypes" upperBound="-1"
+ eType="#//EJavaType" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlClassExtractor">
+ <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="EXmlElement" eSuperTypes="#//EJavaAttribute #//EAccessibleJavaAttribute #//EAdaptableJavaAttribute #//EContainerJavaAttribute #//EPropertyHolder #//EReadWriteJavaAttribute">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="nillable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="required" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlIdRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlKey" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlList" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlInlineBinaryData" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlAttachmentRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlMimeType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cdata" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlLocation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlAbstractNullPolicy"
+ eType="#//EAbstractXmlNullPolicy" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlElementWrapper" eType="#//EXmlElementWrapper"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlMap" eType="#//EXmlElementWrapper"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlSchemaType" eType="#//EXmlSchemaType"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlElementDecl">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="javaMethod" 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="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="scope" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="substitutionHeadName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="substitutionHeadNamespace"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlElementRef" eSuperTypes="#//EJavaAttribute #//EAccessibleJavaAttribute #//EAdaptableJavaAttribute #//EContainerJavaAttribute #//EReadWriteJavaAttribute #//ETypedJavaAttribute #//EPropertyHolder">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlMixed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlElementWrapper" eType="#//EXmlElementWrapper"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlElementRefs" eSuperTypes="#//EJavaAttribute #//EAccessibleJavaAttribute #//EAdaptableJavaAttribute #//EReadWriteJavaAttribute #//EPropertyHolder">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlMixed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlElementRefs" upperBound="-1"
+ eType="#//EXmlElementRef" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlElementWrapper" eType="#//EXmlElementWrapper"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlElements" eSuperTypes="#//EJavaAttribute #//EAccessibleJavaAttribute #//EContainerJavaAttribute #//EReadWriteJavaAttribute #//EPropertyHolder">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlIdRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlList" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlElements" upperBound="-1"
+ eType="#//EXmlElement" containment="true" resolveProxies="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlElementWrapper" eType="#//EXmlElementWrapper"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlJoinNodes" upperBound="-1"
+ eType="#//EXmlJoinNodes" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlElementWrapper">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="nillable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="required" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlEnum">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="javaEnum" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlEnumValues" upperBound="-1"
+ eType="#//EXmlEnumValue" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlEnumValue">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="javaEnumValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlInverseReference" eSuperTypes="#//EJavaAttribute #//EAccessibleJavaAttribute #//EContainerJavaAttribute #//ETypedJavaAttribute #//EPropertyHolder">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mappedBy" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlIsSetNullPolicy" eSuperTypes="#//EAbstractXmlNullPolicy">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSetMethodName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlIsSetParameters" upperBound="-1"
+ eType="#//EXmlIsSetParameter" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlIsSetParameter">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlJavaTypeAdapter" eSuperTypes="#//EJavaAttribute">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlJoinNode">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="referencedXmlPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlJoinNodes" eSuperTypes="#//EJavaAttribute #//EContainerJavaAttribute #//ETypedJavaAttribute">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlJoinNodes" upperBound="-1"
+ eType="#//EXmlJoinNode" containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlMap">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="EXmlMarshalNullRepresentation">
+ <eLiterals name="XSI_NIL"/>
+ <eLiterals name="ABSENT_NODE" value="1"/>
+ <eLiterals name="EMPTY_NODE" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlNullPolicy" eSuperTypes="#//EAbstractXmlNullPolicy">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSetPerformedForAbsentNode"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlNs">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespaceUri" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="prefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="EXmlNsForm">
+ <eLiterals name="UNQUALIFIED"/>
+ <eLiterals name="QUALIFIED" value="1"/>
+ <eLiterals name="UNSET" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlProperty">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlReadTransformer" eSuperTypes="#//EAbstractXmlTransformer"/>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlRegistry">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlElementDecls" upperBound="-1"
+ eType="#//EXmlElementDecl" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlRootElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlSchema">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="attributeFormDefault" eType="#//EXmlNsForm"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementFormDefault" eType="#//EXmlNsForm"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlns" upperBound="-1"
+ eType="#//EXmlNs" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlSchemaType">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="EXmlSeeAlso" instanceClassName="java.util.List">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="itemType" value="http://www.eclipse.org/emf/2003/XMLType#string"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlTransformation" eSuperTypes="#//EJavaAttribute #//EAccessibleJavaAttribute #//EPropertyHolder">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlReadTransformer" eType="#//EXmlReadTransformer"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlWriteTransformers" upperBound="-1"
+ eType="#//EXmlWriteTransformer" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlTransient" eSuperTypes="#//EJavaAttribute">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlLocation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlType">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="factoryClass" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="factoryMethod" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="propOrder" eType="#//EPropOrder"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlValue" eSuperTypes="#//EJavaAttribute #//EAccessibleJavaAttribute #//EAdaptableJavaAttribute #//EContainerJavaAttribute #//EReadWriteJavaAttribute #//ETypedJavaAttribute #//EPropertyHolder">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cdata" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xmlAbstractNullPolicy"
+ eType="#//EAbstractXmlNullPolicy" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlVirtualAccessMethods">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="getMethod" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="setMethod" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="schema" eType="#//EXmlVirtualAccessMethodsSchema"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="EXmlVirtualAccessMethodsSchema">
+ <eLiterals name="NODES"/>
+ <eLiterals name="ANY" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EXmlWriteTransformer" eSuperTypes="#//EAbstractXmlTransformer">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/model/oxm.genmodel b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/model/oxm.genmodel
new file mode 100644
index 0000000000..f6e8052bdc
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/model/oxm.genmodel
@@ -0,0 +1,288 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.jpt.jaxb.eclipselink.core/src" creationCommands="false"
+ creationIcons="false" editDirectory="" editorDirectory="" modelPluginID="org.eclipse.jpt.jaxb.eclipselink.core"
+ modelName="Oxm" editPluginClass="" editorPluginClass="" updateClasspath="false"
+ rootExtendsInterface="org.eclipse.jpt.common.core.resource.xml.EBaseObject" rootExtendsClass="org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl"
+ suppressInterfaces="true" testsDirectory="" testSuiteClass="" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.jpt.jaxb.eclipselink.core.edit"
+ editorPluginID="org.eclipse.jpt.jaxb.eclipselink.core.edit" usedGenPackages="../../org.eclipse.jpt.common.core/model/commonResourceModels.genmodel#//xml">
+ <foreignModel>oxm.ecore</foreignModel>
+ <genPackages prefix="Oxm" basePackage="org.eclipse.jpt.jaxb.eclipselink.core.resource"
+ disposableProviderFactory="true" adapterFactory="false" contentTypeIdentifier=""
+ ecorePackage="oxm.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="oxm.ecore#//EXmlAccessOrder">
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlAccessOrder/ALPHABETICAL"/>
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlAccessOrder/UNDEFINED"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="oxm.ecore#//EXmlAccessType">
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlAccessType/FIELD"/>
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlAccessType/NONE"/>
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlAccessType/PROPERTY"/>
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlAccessType/PUBLIC_MEMBER"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="oxm.ecore#//EXmlMarshalNullRepresentation">
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlMarshalNullRepresentation/XSI_NIL"/>
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlMarshalNullRepresentation/ABSENT_NODE"/>
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlMarshalNullRepresentation/EMPTY_NODE"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="oxm.ecore#//EXmlNsForm">
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlNsForm/UNQUALIFIED"/>
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlNsForm/QUALIFIED"/>
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlNsForm/UNSET"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="oxm.ecore#//EXmlVirtualAccessMethodsSchema">
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlVirtualAccessMethodsSchema/NODES"/>
+ <genEnumLiterals ecoreEnumLiteral="oxm.ecore#//EXmlVirtualAccessMethodsSchema/ANY"/>
+ </genEnums>
+ <genDataTypes ecoreDataType="oxm.ecore#//EPropOrder"/>
+ <genDataTypes ecoreDataType="oxm.ecore#//EXmlSeeAlso"/>
+ <genClasses image="false" ecoreClass="oxm.ecore#//EAbstractXmlNullPolicy">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EAbstractXmlNullPolicy/xsiNilRepresentsNull"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EAbstractXmlNullPolicy/emptyNodeRepresentsNull"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EAbstractXmlNullPolicy/nullRepresentationForXml"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="oxm.ecore#//EAbstractXmlTransformer">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EAbstractXmlTransformer/method"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EAbstractXmlTransformer/transformerClass"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="oxm.ecore#//EAccessibleJavaAttribute">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EAccessibleJavaAttribute/xmlAccessMethods"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="oxm.ecore#//EAdaptableJavaAttribute">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EAdaptableJavaAttribute/xmlJavaTypeAdapter"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="oxm.ecore#//EContainerJavaAttribute">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EContainerJavaAttribute/containerType"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="oxm.ecore#//EJavaAttribute">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EJavaAttribute/javaAttribute"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EJavaAttribute/xmlAccessorType"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EJavaType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EJavaType/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EJavaType/superType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EJavaType/xmlAccessorOrder"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EJavaType/xmlAccessorType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EJavaType/xmlCustomizer"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EJavaType/xmlDiscriminatorNode"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EJavaType/xmlDiscriminatorValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EJavaType/xmlInlineBinaryData"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EJavaType/xmlTransient"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EJavaType/xmlNameTransformer"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EJavaType/xmlType"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EJavaType/xmlRootElement"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EJavaType/xmlVirtualAccessMethods"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EJavaType/xmlSeeAlso"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EJavaType/xmlJavaTypeAdapter"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EJavaType/xmlClassExtractor"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EJavaType/javaAttributes"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="oxm.ecore#//EPropertyHolder">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EPropertyHolder/xmlProperties"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="oxm.ecore#//EReadWriteJavaAttribute">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EReadWriteJavaAttribute/readOnly"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EReadWriteJavaAttribute/writeOnly"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="oxm.ecore#//ETypedJavaAttribute">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//ETypedJavaAttribute/type"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlAccessMethods">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAccessMethods/getMethod"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAccessMethods/setMethod"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlAnyAttribute">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAnyAttribute/xmlPath"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlAnyElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAnyElement/xmlMixed"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAnyElement/lax"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAnyElement/domHandler"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAnyElement/xmlPath"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlAnyElement/xmlElementRefs"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlAttribute">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAttribute/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAttribute/namespace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAttribute/required"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAttribute/xmlId"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAttribute/xmlIdRef"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAttribute/xmlKey"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAttribute/xmlList"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAttribute/xmlInlineBinaryData"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAttribute/xmlAttachmentRef"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAttribute/xmlMimeType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlAttribute/xmlPath"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlAttribute/xmlAbstractNullPolicy"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlAttribute/xmlSchemaType"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlBindings">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlBindings/xmlAccessorType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlBindings/xmlAccessorOrder"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlBindings/xmlMappingMetadataComplete"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlBindings/packageName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlBindings/xmlNameTransformer"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlBindings/xmlSchema"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlBindings/xmlSchemaType"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlBindings/xmlSchemaTypes"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlBindings/xmlJavaTypeAdapters"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlBindings/xmlRegistries"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlBindings/xmlEnums"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlBindings/javaTypes"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlClassExtractor">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlClassExtractor/className"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/namespace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/defaultValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/nillable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/required"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/xmlId"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/xmlIdRef"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/xmlKey"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/xmlList"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/xmlInlineBinaryData"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/xmlAttachmentRef"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/xmlMimeType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/cdata"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/xmlPath"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElement/xmlLocation"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlElement/xmlAbstractNullPolicy"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlElement/xmlElementWrapper"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlElement/xmlMap"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlElement/xmlSchemaType"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlElementDecl">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementDecl/javaMethod"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementDecl/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementDecl/namespace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementDecl/defaultValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementDecl/scope"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementDecl/substitutionHeadName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementDecl/substitutionHeadNamespace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementDecl/type"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlElementRef">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementRef/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementRef/namespace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementRef/xmlMixed"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlElementRef/xmlElementWrapper"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlElementRefs">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementRefs/xmlMixed"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlElementRefs/xmlElementRefs"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlElementRefs/xmlElementWrapper"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlElements">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElements/xmlIdRef"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElements/xmlList"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlElements/xmlElements"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlElements/xmlElementWrapper"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlElements/xmlJoinNodes"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlElementWrapper">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementWrapper/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementWrapper/namespace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementWrapper/nillable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlElementWrapper/required"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlEnum">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlEnum/javaEnum"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlEnum/value"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlEnum/xmlEnumValues"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlEnumValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlEnumValue/javaEnumValue"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlInverseReference">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlInverseReference/mappedBy"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlIsSetNullPolicy">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlIsSetNullPolicy/isSetMethodName"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlIsSetNullPolicy/xmlIsSetParameters"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlIsSetParameter">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlIsSetParameter/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlIsSetParameter/type"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlJavaTypeAdapter">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlJavaTypeAdapter/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlJavaTypeAdapter/type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlJavaTypeAdapter/valueType"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlJoinNode">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlJoinNode/xmlPath"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlJoinNode/referencedXmlPath"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlJoinNodes">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlJoinNodes/xmlJoinNodes"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlMap">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlMap/key"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlMap/value"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlNullPolicy">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlNullPolicy/isSetPerformedForAbsentNode"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlNs">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlNs/namespaceUri"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlNs/prefix"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlProperty">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlProperty/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlProperty/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlProperty/valueType"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlReadTransformer"/>
+ <genClasses ecoreClass="oxm.ecore#//EXmlRegistry">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlRegistry/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlRegistry/xmlElementDecls"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlRootElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlRootElement/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlRootElement/namespace"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlSchema">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlSchema/attributeFormDefault"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlSchema/elementFormDefault"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlSchema/location"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlSchema/namespace"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlSchema/xmlns"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlSchemaType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlSchemaType/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlSchemaType/namespace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlSchemaType/type"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlTransformation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlTransformation/optional"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlTransformation/xmlReadTransformer"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlTransformation/xmlWriteTransformers"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlTransient">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlTransient/xmlLocation"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlType/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlType/namespace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlType/factoryClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlType/factoryMethod"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlType/propOrder"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlValue/cdata"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference oxm.ecore#//EXmlValue/xmlAbstractNullPolicy"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlVirtualAccessMethods">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlVirtualAccessMethods/getMethod"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlVirtualAccessMethods/setMethod"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlVirtualAccessMethods/schema"/>
+ </genClasses>
+ <genClasses ecoreClass="oxm.ecore#//EXmlWriteTransformer">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute oxm.ecore#//EXmlWriteTransformer/xmlPath"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.properties
index 52ad60c72e..524782836d 100644
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.properties
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.properties
@@ -22,6 +22,8 @@
pluginName = Dali Java Persistence Tools - EclipseLink JAXB Support - Core
providerName = Eclipse Web Tools Platform
+OXM_XML_CONTENT = EclipseLink oxm.xml mapping file
+
ECLIPSELINK_PLATFORM_GROUP_LABEL = EclipseLink
ECLIPSELINK_2_1_PLATFORM_LABEL = EclipseLink 2.1.x
ECLIPSELINK_2_2_PLATFORM_LABEL = EclipseLink 2.2.x
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.xml b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.xml
index 28efc2f92f..b8dbc1fb4e 100644
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.xml
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.xml
@@ -12,6 +12,25 @@
<plugin>
+ <extension
+ point="org.eclipse.core.contenttype.contentTypes">
+
+ <!-- oxm.xml -->
+ <content-type
+ id="org.eclipse.jpt.jaxb.eclipselink.core.content.oxm"
+ name="%OXM_XML_CONTENT"
+ base-type="org.eclipse.core.runtime.xml">
+ <describer
+ class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber2">
+ <parameter
+ name="element"
+ value="{http://www.eclipse.org/eclipselink/xsds/persistence/oxm}xml-bindings"/>
+ </describer>
+ </content-type>
+
+ </extension>
+
+
<extension
point="org.eclipse.core.expressions.propertyTesters">
@@ -91,4 +110,20 @@
</extension>
+
+ <!-- ***** WTP resource factories ***** -->
+
+ <extension
+ point="org.eclipse.wst.common.modulecore.resourceFactories">
+
+ <resourceFactory
+ class="org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmXmlResourceFactory"
+ isDefault="true">
+ <contentTypeBinding
+ contentTypeId="org.eclipse.jpt.jaxb.eclipselink.core.content.oxm">
+ </contentTypeBinding>
+ </resourceFactory>
+
+ </extension>
+
</plugin>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/oxm/OxmXmlResourceProvider.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/oxm/OxmXmlResourceProvider.java
new file mode 100644
index 0000000000..d27dd34460
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/oxm/OxmXmlResourceProvider.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.oxm;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jpt.common.core.internal.resource.xml.AbstractJptXmlResourceProvider;
+import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings;
+import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EclipseLink;
+import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmFactory;
+
+public class OxmXmlResourceProvider
+ extends AbstractJptXmlResourceProvider {
+
+ /**
+ * (Convenience method) Returns an OXM resource model provider for
+ * the given file.
+ */
+ public static OxmXmlResourceProvider getXmlResourceProvider(IFile file) {
+ return getXmlResourceProvider_(file.getProject(), file.getFullPath());
+ }
+
+ /**
+ * (Convenience method) Returns an OXM resource model provider for
+ * the given project in the specified runtime location
+ */
+ public static OxmXmlResourceProvider getXmlResourceProvider(IProject project, IPath runtimePath) {
+ return getXmlResourceProvider_(project, runtimePath);
+ }
+
+
+ private static OxmXmlResourceProvider getXmlResourceProvider_(IProject project, IPath fullPath) {
+ return new OxmXmlResourceProvider(project, fullPath);
+ }
+
+
+ public OxmXmlResourceProvider(IProject project, IPath filePath) {
+ super(project, filePath, EXmlBindings.CONTENT_TYPE);
+ }
+
+ @Override
+ protected void populateRoot(Object config) {
+ EXmlBindings xmlBindings = OxmFactory.eINSTANCE.createEXmlBindings();
+ xmlBindings.setVersion(EclipseLink.SCHEMA_VERSION_2_4); // TODO - for now
+ getResourceContents().add(xmlBindings);
+ }
+}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAbstractXmlNullPolicy.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAbstractXmlNullPolicy.java
new file mode 100644
index 0000000000..56fd173ef3
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAbstractXmlNullPolicy.java
@@ -0,0 +1,391 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.wst.common.internal.emf.resource.MultiObjectTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EAbstract Xml Null Policy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAbstractXmlNullPolicy#isXsiNilRepresentsNull <em>Xsi Nil Represents Null</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAbstractXmlNullPolicy#isEmptyNodeRepresentsNull <em>Empty Node Represents Null</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAbstractXmlNullPolicy#getNullRepresentationForXml <em>Null Representation For Xml</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAbstractXmlNullPolicy()
+ * @model kind="class" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public abstract class EAbstractXmlNullPolicy extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #isXsiNilRepresentsNull() <em>Xsi Nil Represents Null</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXsiNilRepresentsNull()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XSI_NIL_REPRESENTS_NULL_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isXsiNilRepresentsNull() <em>Xsi Nil Represents Null</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXsiNilRepresentsNull()
+ * @generated
+ * @ordered
+ */
+ protected boolean xsiNilRepresentsNull = XSI_NIL_REPRESENTS_NULL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isEmptyNodeRepresentsNull() <em>Empty Node Represents Null</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isEmptyNodeRepresentsNull()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EMPTY_NODE_REPRESENTS_NULL_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isEmptyNodeRepresentsNull() <em>Empty Node Represents Null</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isEmptyNodeRepresentsNull()
+ * @generated
+ * @ordered
+ */
+ protected boolean emptyNodeRepresentsNull = EMPTY_NODE_REPRESENTS_NULL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNullRepresentationForXml() <em>Null Representation For Xml</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNullRepresentationForXml()
+ * @generated
+ * @ordered
+ */
+ protected static final EXmlMarshalNullRepresentation NULL_REPRESENTATION_FOR_XML_EDEFAULT = EXmlMarshalNullRepresentation.XSI_NIL;
+
+ /**
+ * The cached value of the '{@link #getNullRepresentationForXml() <em>Null Representation For Xml</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNullRepresentationForXml()
+ * @generated
+ * @ordered
+ */
+ protected EXmlMarshalNullRepresentation nullRepresentationForXml = NULL_REPRESENTATION_FOR_XML_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EAbstractXmlNullPolicy()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EABSTRACT_XML_NULL_POLICY;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xsi Nil Represents Null</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xsi Nil Represents Null</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xsi Nil Represents Null</em>' attribute.
+ * @see #setXsiNilRepresentsNull(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAbstractXmlNullPolicy_XsiNilRepresentsNull()
+ * @model
+ * @generated
+ */
+ public boolean isXsiNilRepresentsNull()
+ {
+ return xsiNilRepresentsNull;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAbstractXmlNullPolicy#isXsiNilRepresentsNull <em>Xsi Nil Represents Null</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xsi Nil Represents Null</em>' attribute.
+ * @see #isXsiNilRepresentsNull()
+ * @generated
+ */
+ public void setXsiNilRepresentsNull(boolean newXsiNilRepresentsNull)
+ {
+ boolean oldXsiNilRepresentsNull = xsiNilRepresentsNull;
+ xsiNilRepresentsNull = newXsiNilRepresentsNull;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EABSTRACT_XML_NULL_POLICY__XSI_NIL_REPRESENTS_NULL, oldXsiNilRepresentsNull, xsiNilRepresentsNull));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Empty Node Represents Null</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Empty Node Represents Null</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Empty Node Represents Null</em>' attribute.
+ * @see #setEmptyNodeRepresentsNull(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAbstractXmlNullPolicy_EmptyNodeRepresentsNull()
+ * @model
+ * @generated
+ */
+ public boolean isEmptyNodeRepresentsNull()
+ {
+ return emptyNodeRepresentsNull;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAbstractXmlNullPolicy#isEmptyNodeRepresentsNull <em>Empty Node Represents Null</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Empty Node Represents Null</em>' attribute.
+ * @see #isEmptyNodeRepresentsNull()
+ * @generated
+ */
+ public void setEmptyNodeRepresentsNull(boolean newEmptyNodeRepresentsNull)
+ {
+ boolean oldEmptyNodeRepresentsNull = emptyNodeRepresentsNull;
+ emptyNodeRepresentsNull = newEmptyNodeRepresentsNull;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EABSTRACT_XML_NULL_POLICY__EMPTY_NODE_REPRESENTS_NULL, oldEmptyNodeRepresentsNull, emptyNodeRepresentsNull));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Null Representation For Xml</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlMarshalNullRepresentation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Null Representation For Xml</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Null Representation For Xml</em>' attribute.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlMarshalNullRepresentation
+ * @see #setNullRepresentationForXml(EXmlMarshalNullRepresentation)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAbstractXmlNullPolicy_NullRepresentationForXml()
+ * @model
+ * @generated
+ */
+ public EXmlMarshalNullRepresentation getNullRepresentationForXml()
+ {
+ return nullRepresentationForXml;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAbstractXmlNullPolicy#getNullRepresentationForXml <em>Null Representation For Xml</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Null Representation For Xml</em>' attribute.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlMarshalNullRepresentation
+ * @see #getNullRepresentationForXml()
+ * @generated
+ */
+ public void setNullRepresentationForXml(EXmlMarshalNullRepresentation newNullRepresentationForXml)
+ {
+ EXmlMarshalNullRepresentation oldNullRepresentationForXml = nullRepresentationForXml;
+ nullRepresentationForXml = newNullRepresentationForXml == null ? NULL_REPRESENTATION_FOR_XML_EDEFAULT : newNullRepresentationForXml;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EABSTRACT_XML_NULL_POLICY__NULL_REPRESENTATION_FOR_XML, oldNullRepresentationForXml, nullRepresentationForXml));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EABSTRACT_XML_NULL_POLICY__XSI_NIL_REPRESENTS_NULL:
+ return isXsiNilRepresentsNull();
+ case OxmPackage.EABSTRACT_XML_NULL_POLICY__EMPTY_NODE_REPRESENTS_NULL:
+ return isEmptyNodeRepresentsNull();
+ case OxmPackage.EABSTRACT_XML_NULL_POLICY__NULL_REPRESENTATION_FOR_XML:
+ return getNullRepresentationForXml();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EABSTRACT_XML_NULL_POLICY__XSI_NIL_REPRESENTS_NULL:
+ setXsiNilRepresentsNull((Boolean)newValue);
+ return;
+ case OxmPackage.EABSTRACT_XML_NULL_POLICY__EMPTY_NODE_REPRESENTS_NULL:
+ setEmptyNodeRepresentsNull((Boolean)newValue);
+ return;
+ case OxmPackage.EABSTRACT_XML_NULL_POLICY__NULL_REPRESENTATION_FOR_XML:
+ setNullRepresentationForXml((EXmlMarshalNullRepresentation)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EABSTRACT_XML_NULL_POLICY__XSI_NIL_REPRESENTS_NULL:
+ setXsiNilRepresentsNull(XSI_NIL_REPRESENTS_NULL_EDEFAULT);
+ return;
+ case OxmPackage.EABSTRACT_XML_NULL_POLICY__EMPTY_NODE_REPRESENTS_NULL:
+ setEmptyNodeRepresentsNull(EMPTY_NODE_REPRESENTS_NULL_EDEFAULT);
+ return;
+ case OxmPackage.EABSTRACT_XML_NULL_POLICY__NULL_REPRESENTATION_FOR_XML:
+ setNullRepresentationForXml(NULL_REPRESENTATION_FOR_XML_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EABSTRACT_XML_NULL_POLICY__XSI_NIL_REPRESENTS_NULL:
+ return xsiNilRepresentsNull != XSI_NIL_REPRESENTS_NULL_EDEFAULT;
+ case OxmPackage.EABSTRACT_XML_NULL_POLICY__EMPTY_NODE_REPRESENTS_NULL:
+ return emptyNodeRepresentsNull != EMPTY_NODE_REPRESENTS_NULL_EDEFAULT;
+ case OxmPackage.EABSTRACT_XML_NULL_POLICY__NULL_REPRESENTATION_FOR_XML:
+ return nullRepresentationForXml != NULL_REPRESENTATION_FOR_XML_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (xsiNilRepresentsNull: ");
+ result.append(xsiNilRepresentsNull);
+ result.append(", emptyNodeRepresentsNull: ");
+ result.append(emptyNodeRepresentsNull);
+ result.append(", nullRepresentationForXml: ");
+ result.append(nullRepresentationForXml);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ***** translators *****
+
+ static class AbstractXmlNullPolicyTranslator
+ extends MultiObjectTranslator {
+
+ protected static String DOM_PATH =
+ EclipseLink.XML_IS_SET_NULL_POLICY + ","
+ + EclipseLink.XML_NULL_POLICY;
+
+ protected static Map<String, Translator> DELEGATES = new HashMap<String, Translator>();
+
+
+ protected AbstractXmlNullPolicyTranslator() {
+ super(DOM_PATH, OxmPackage.eINSTANCE.getEXmlAttribute_XmlAbstractNullPolicy());
+ }
+
+
+ protected static Map<String, Translator> delegates() {
+ if (DELEGATES.isEmpty()) {
+ String path = EclipseLink.XML_IS_SET_NULL_POLICY;
+ DELEGATES.put(path, new EXmlIsSetNullPolicy.XmlIsSetNullPolicyTranslator());
+
+ path = EclipseLink.XML_NULL_POLICY;
+ DELEGATES.put(path, new EXmlNullPolicy.XmlNullPolicyTranslator());
+ }
+ return DELEGATES;
+ }
+
+ @Override
+ public Translator getDelegateFor(EObject o) {
+ switch (o.eClass().getClassifierID()) {
+ case OxmPackage.EXML_IS_SET_NULL_POLICY :
+ return delegates().get(EclipseLink.XML_IS_SET_NULL_POLICY);
+ case OxmPackage.EXML_NULL_POLICY :
+ return delegates().get(EclipseLink.XML_NULL_POLICY);
+ }
+ throw new IllegalStateException("Null policy expected"); //$NON-NLS-1$
+ }
+
+ @Override
+ public Translator getDelegateFor(String domName, String readAheadName) {
+ return delegates().get(domName);
+ }
+ }
+
+
+ abstract static class AbstractAbstractXmlNullPolicyTranslator
+ extends SimpleTranslator {
+
+ protected AbstractAbstractXmlNullPolicyTranslator(String domPathAndName, Translator[] translatorChildren) {
+ super(domPathAndName, OxmPackage.eINSTANCE.getEXmlAttribute_XmlAbstractNullPolicy(), translatorChildren);
+ }
+ }
+}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAbstractXmlTransformer.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAbstractXmlTransformer.java
new file mode 100644
index 0000000000..d8a2028cc1
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAbstractXmlTransformer.java
@@ -0,0 +1,260 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EAbstract Xml Transformer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAbstractXmlTransformer#getMethod <em>Method</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAbstractXmlTransformer#getTransformerClass <em>Transformer Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAbstractXmlTransformer()
+ * @model kind="class" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public abstract class EAbstractXmlTransformer extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getMethod() <em>Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMethod()
+ * @generated
+ * @ordered
+ */
+ protected static final String METHOD_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMethod() <em>Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMethod()
+ * @generated
+ * @ordered
+ */
+ protected String method = METHOD_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTransformerClass() <em>Transformer Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTransformerClass()
+ * @generated
+ * @ordered
+ */
+ protected static final String TRANSFORMER_CLASS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTransformerClass() <em>Transformer Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTransformerClass()
+ * @generated
+ * @ordered
+ */
+ protected String transformerClass = TRANSFORMER_CLASS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EAbstractXmlTransformer()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EABSTRACT_XML_TRANSFORMER;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Method</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Method</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Method</em>' attribute.
+ * @see #setMethod(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAbstractXmlTransformer_Method()
+ * @model
+ * @generated
+ */
+ public String getMethod()
+ {
+ return method;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAbstractXmlTransformer#getMethod <em>Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Method</em>' attribute.
+ * @see #getMethod()
+ * @generated
+ */
+ public void setMethod(String newMethod)
+ {
+ String oldMethod = method;
+ method = newMethod;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EABSTRACT_XML_TRANSFORMER__METHOD, oldMethod, method));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Transformer Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Transformer Class</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Transformer Class</em>' attribute.
+ * @see #setTransformerClass(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAbstractXmlTransformer_TransformerClass()
+ * @model
+ * @generated
+ */
+ public String getTransformerClass()
+ {
+ return transformerClass;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAbstractXmlTransformer#getTransformerClass <em>Transformer Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Transformer Class</em>' attribute.
+ * @see #getTransformerClass()
+ * @generated
+ */
+ public void setTransformerClass(String newTransformerClass)
+ {
+ String oldTransformerClass = transformerClass;
+ transformerClass = newTransformerClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EABSTRACT_XML_TRANSFORMER__TRANSFORMER_CLASS, oldTransformerClass, transformerClass));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EABSTRACT_XML_TRANSFORMER__METHOD:
+ return getMethod();
+ case OxmPackage.EABSTRACT_XML_TRANSFORMER__TRANSFORMER_CLASS:
+ return getTransformerClass();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EABSTRACT_XML_TRANSFORMER__METHOD:
+ setMethod((String)newValue);
+ return;
+ case OxmPackage.EABSTRACT_XML_TRANSFORMER__TRANSFORMER_CLASS:
+ setTransformerClass((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EABSTRACT_XML_TRANSFORMER__METHOD:
+ setMethod(METHOD_EDEFAULT);
+ return;
+ case OxmPackage.EABSTRACT_XML_TRANSFORMER__TRANSFORMER_CLASS:
+ setTransformerClass(TRANSFORMER_CLASS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EABSTRACT_XML_TRANSFORMER__METHOD:
+ return METHOD_EDEFAULT == null ? method != null : !METHOD_EDEFAULT.equals(method);
+ case OxmPackage.EABSTRACT_XML_TRANSFORMER__TRANSFORMER_CLASS:
+ return TRANSFORMER_CLASS_EDEFAULT == null ? transformerClass != null : !TRANSFORMER_CLASS_EDEFAULT.equals(transformerClass);
+ }
+ 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(" (method: ");
+ result.append(method);
+ result.append(", transformerClass: ");
+ result.append(transformerClass);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EAbstractXmlTransformer
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAccessibleJavaAttribute.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAccessibleJavaAttribute.java
new file mode 100644
index 0000000000..2945a49b8b
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAccessibleJavaAttribute.java
@@ -0,0 +1,52 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EAccessible Java Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAccessibleJavaAttribute#getXmlAccessMethods <em>Xml Access Methods</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAccessibleJavaAttribute()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface EAccessibleJavaAttribute extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Xml Access Methods</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Access Methods</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>Xml Access Methods</em>' containment reference.
+ * @see #setXmlAccessMethods(EXmlAccessMethods)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAccessibleJavaAttribute_XmlAccessMethods()
+ * @model containment="true"
+ * @generated
+ */
+ EXmlAccessMethods getXmlAccessMethods();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAccessibleJavaAttribute#getXmlAccessMethods <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Access Methods</em>' containment reference.
+ * @see #getXmlAccessMethods()
+ * @generated
+ */
+ void setXmlAccessMethods(EXmlAccessMethods value);
+
+} // EAccessibleJavaAttribute
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAdaptableJavaAttribute.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAdaptableJavaAttribute.java
new file mode 100644
index 0000000000..fb6172f5dd
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EAdaptableJavaAttribute.java
@@ -0,0 +1,52 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EAdaptable Java Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAdaptableJavaAttribute#getXmlJavaTypeAdapter <em>Xml Java Type Adapter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAdaptableJavaAttribute()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface EAdaptableJavaAttribute extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Xml Java Type Adapter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Java Type Adapter</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>Xml Java Type Adapter</em>' containment reference.
+ * @see #setXmlJavaTypeAdapter(EXmlJavaTypeAdapter)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAdaptableJavaAttribute_XmlJavaTypeAdapter()
+ * @model containment="true"
+ * @generated
+ */
+ EXmlJavaTypeAdapter getXmlJavaTypeAdapter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EAdaptableJavaAttribute#getXmlJavaTypeAdapter <em>Xml Java Type Adapter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Java Type Adapter</em>' containment reference.
+ * @see #getXmlJavaTypeAdapter()
+ * @generated
+ */
+ void setXmlJavaTypeAdapter(EXmlJavaTypeAdapter value);
+
+} // EAdaptableJavaAttribute
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EContainerJavaAttribute.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EContainerJavaAttribute.java
new file mode 100644
index 0000000000..66ce42e7d5
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EContainerJavaAttribute.java
@@ -0,0 +1,52 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EContainer Java Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EContainerJavaAttribute#getContainerType <em>Container Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEContainerJavaAttribute()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface EContainerJavaAttribute extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Container Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Container 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>Container Type</em>' attribute.
+ * @see #setContainerType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEContainerJavaAttribute_ContainerType()
+ * @model
+ * @generated
+ */
+ String getContainerType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EContainerJavaAttribute#getContainerType <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Container Type</em>' attribute.
+ * @see #getContainerType()
+ * @generated
+ */
+ void setContainerType(String value);
+
+} // EContainerJavaAttribute
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EJavaAttribute.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EJavaAttribute.java
new file mode 100644
index 0000000000..27dca7bd59
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EJavaAttribute.java
@@ -0,0 +1,418 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.wst.common.internal.emf.resource.MultiObjectTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EJava Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaAttribute#getJavaAttribute <em>Java Attribute</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaAttribute#getXmlAccessorType <em>Xml Accessor Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaAttribute()
+ * @model kind="class" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public abstract class EJavaAttribute extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getJavaAttribute() <em>Java Attribute</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJavaAttribute()
+ * @generated
+ * @ordered
+ */
+ protected static final String JAVA_ATTRIBUTE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getJavaAttribute() <em>Java Attribute</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJavaAttribute()
+ * @generated
+ * @ordered
+ */
+ protected String javaAttribute = JAVA_ATTRIBUTE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getXmlAccessorType() <em>Xml Accessor Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessorType()
+ * @generated
+ * @ordered
+ */
+ protected static final EXmlAccessType XML_ACCESSOR_TYPE_EDEFAULT = EXmlAccessType.FIELD;
+
+ /**
+ * The cached value of the '{@link #getXmlAccessorType() <em>Xml Accessor Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessorType()
+ * @generated
+ * @ordered
+ */
+ protected EXmlAccessType xmlAccessorType = XML_ACCESSOR_TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EJavaAttribute()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EJAVA_ATTRIBUTE;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Java Attribute</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Java Attribute</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Java Attribute</em>' attribute.
+ * @see #setJavaAttribute(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaAttribute_JavaAttribute()
+ * @model
+ * @generated
+ */
+ public String getJavaAttribute()
+ {
+ return javaAttribute;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaAttribute#getJavaAttribute <em>Java Attribute</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Java Attribute</em>' attribute.
+ * @see #getJavaAttribute()
+ * @generated
+ */
+ public void setJavaAttribute(String newJavaAttribute)
+ {
+ String oldJavaAttribute = javaAttribute;
+ javaAttribute = newJavaAttribute;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_ATTRIBUTE__JAVA_ATTRIBUTE, oldJavaAttribute, javaAttribute));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Accessor Type</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Accessor 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>Xml Accessor Type</em>' attribute.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessType
+ * @see #setXmlAccessorType(EXmlAccessType)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaAttribute_XmlAccessorType()
+ * @model
+ * @generated
+ */
+ public EXmlAccessType getXmlAccessorType()
+ {
+ return xmlAccessorType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaAttribute#getXmlAccessorType <em>Xml Accessor Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Accessor Type</em>' attribute.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessType
+ * @see #getXmlAccessorType()
+ * @generated
+ */
+ public void setXmlAccessorType(EXmlAccessType newXmlAccessorType)
+ {
+ EXmlAccessType oldXmlAccessorType = xmlAccessorType;
+ xmlAccessorType = newXmlAccessorType == null ? XML_ACCESSOR_TYPE_EDEFAULT : newXmlAccessorType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_ATTRIBUTE__XML_ACCESSOR_TYPE, oldXmlAccessorType, xmlAccessorType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EJAVA_ATTRIBUTE__JAVA_ATTRIBUTE:
+ return getJavaAttribute();
+ case OxmPackage.EJAVA_ATTRIBUTE__XML_ACCESSOR_TYPE:
+ return getXmlAccessorType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EJAVA_ATTRIBUTE__JAVA_ATTRIBUTE:
+ setJavaAttribute((String)newValue);
+ return;
+ case OxmPackage.EJAVA_ATTRIBUTE__XML_ACCESSOR_TYPE:
+ setXmlAccessorType((EXmlAccessType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EJAVA_ATTRIBUTE__JAVA_ATTRIBUTE:
+ setJavaAttribute(JAVA_ATTRIBUTE_EDEFAULT);
+ return;
+ case OxmPackage.EJAVA_ATTRIBUTE__XML_ACCESSOR_TYPE:
+ setXmlAccessorType(XML_ACCESSOR_TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EJAVA_ATTRIBUTE__JAVA_ATTRIBUTE:
+ return JAVA_ATTRIBUTE_EDEFAULT == null ? javaAttribute != null : !JAVA_ATTRIBUTE_EDEFAULT.equals(javaAttribute);
+ case OxmPackage.EJAVA_ATTRIBUTE__XML_ACCESSOR_TYPE:
+ return xmlAccessorType != XML_ACCESSOR_TYPE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (javaAttribute: ");
+ result.append(javaAttribute);
+ result.append(", xmlAccessorType: ");
+ result.append(xmlAccessorType);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ***** translators *****
+
+ static class JavaAttributesTranslator
+ extends MultiObjectTranslator {
+
+ protected static String DOM_PATH =
+ EclipseLink.JAVA_ATTRIBUTES + "/"
+ + EclipseLink.XML_ANY_ATTRIBUTE + ","
+ + EclipseLink.XML_ANY_ELEMENT + ","
+ + EclipseLink.XML_ATTRIBUTE + ","
+ + EclipseLink.XML_ELEMENT + ","
+ + EclipseLink.XML_ELEMENT_REF + ","
+ + EclipseLink.XML_ELEMENT_REFS + ","
+ + EclipseLink.XML_ELEMENTS + ","
+ + EclipseLink.XML_INVERSE_REFERENCE + ","
+ + EclipseLink.XML_JAVA_TYPE_ADAPTER + ","
+ + EclipseLink.XML_JOIN_NODES + ","
+ + EclipseLink.XML_TRANSFORMATION + ","
+ + EclipseLink.XML_TRANSIENT + ","
+ + EclipseLink.XML_VALUE;
+
+ protected static Map<String, Translator> DELEGATES = new HashMap<String, Translator>();
+
+
+ JavaAttributesTranslator() {
+ super(DOM_PATH, OxmPackage.eINSTANCE.getEJavaType_JavaAttributes());
+ }
+
+
+ protected static Map<String, Translator> delegates() {
+ if (DELEGATES.isEmpty()) {
+
+ String pathPrefix = EclipseLink.JAVA_ATTRIBUTES + "/";
+ EStructuralFeature eStructuralFeature = OxmPackage.eINSTANCE.getEJavaType_JavaAttributes();
+
+ String path = EclipseLink.XML_ANY_ATTRIBUTE;
+ DELEGATES.put(path,
+ new EXmlAnyAttribute.XmlAnyAttributeTranslator(pathPrefix + path, eStructuralFeature));
+
+ path = EclipseLink.XML_ANY_ELEMENT;
+ DELEGATES.put(path,
+ new EXmlAnyElement.XmlAnyElementTranslator(pathPrefix + path, eStructuralFeature));
+
+ path = EclipseLink.XML_ATTRIBUTE;
+ DELEGATES.put(path,
+ new EXmlAttribute.XmlAttributeTranslator(pathPrefix + path, eStructuralFeature));
+
+ path = EclipseLink.XML_ELEMENT;
+ DELEGATES.put(path,
+ new EXmlElement.XmlElementTranslator(pathPrefix + path, eStructuralFeature));
+
+ path = EclipseLink.XML_ELEMENT_REF;
+ DELEGATES.put(path,
+ new EXmlElementRef.XmlElementRefTranslator(pathPrefix + path, eStructuralFeature));
+
+ path = EclipseLink.XML_ELEMENT_REFS;
+ DELEGATES.put(path,
+ new EXmlElementRefs.XmlElementRefsTranslator(pathPrefix + path, eStructuralFeature));
+
+ path = EclipseLink.XML_ELEMENTS;
+ DELEGATES.put(path,
+ new EXmlElements.XmlElementsTranslator(pathPrefix + path, eStructuralFeature));
+
+ path = EclipseLink.XML_INVERSE_REFERENCE;
+ DELEGATES.put(path,
+ new EXmlInverseReference.XmlInverseReferenceTranslator(pathPrefix + path, eStructuralFeature));
+
+ path = EclipseLink.XML_JAVA_TYPE_ADAPTER;
+ DELEGATES.put(path,
+ new EXmlJavaTypeAdapter.XmlJavaTypeAdapterTranslator(pathPrefix + path, eStructuralFeature));
+
+ path = EclipseLink.XML_JOIN_NODES;
+ DELEGATES.put(path,
+ new EXmlJoinNodes.XmlJoinNodesTranslator(pathPrefix + path, eStructuralFeature));
+
+ path = EclipseLink.XML_TRANSFORMATION;
+ DELEGATES.put(path,
+ new EXmlTransformation.XmlTransformationTranslator(pathPrefix + path, eStructuralFeature));
+
+ path = EclipseLink.XML_TRANSIENT;
+ DELEGATES.put(path,
+ new EXmlTransient.XmlTransientTranslator(pathPrefix + path, eStructuralFeature));
+
+ path = EclipseLink.XML_VALUE;
+ DELEGATES.put(path,
+ new EXmlValue.XmlValueTranslator(pathPrefix + path, eStructuralFeature));
+ }
+ return DELEGATES;
+ }
+
+ protected static String wrappedPath(String path) {
+ return EclipseLink.JAVA_ATTRIBUTES + "/" + path;
+ }
+
+ @Override
+ public Translator getDelegateFor(EObject o) {
+ switch (o.eClass().getClassifierID()) {
+ case OxmPackage.EXML_ANY_ATTRIBUTE :
+ return delegates().get(EclipseLink.XML_ANY_ATTRIBUTE);
+ case OxmPackage.EXML_ANY_ELEMENT :
+ return delegates().get(EclipseLink.XML_ANY_ELEMENT);
+ case OxmPackage.EXML_ATTRIBUTE :
+ return delegates().get(EclipseLink.XML_ATTRIBUTE);
+ case OxmPackage.EXML_ELEMENT :
+ return delegates().get(EclipseLink.XML_ELEMENT);
+ case OxmPackage.EXML_ELEMENT_REF :
+ return delegates().get(EclipseLink.XML_ELEMENT_REF);
+ case OxmPackage.EXML_ELEMENT_REFS:
+ return delegates().get(EclipseLink.XML_ELEMENT_REFS);
+ case OxmPackage.EXML_ELEMENTS:
+ return delegates().get(EclipseLink.XML_ELEMENTS);
+ case OxmPackage.EXML_INVERSE_REFERENCE :
+ return delegates().get(EclipseLink.XML_INVERSE_REFERENCE);
+ case OxmPackage.EXML_JAVA_TYPE_ADAPTER :
+ return delegates().get(EclipseLink.XML_JAVA_TYPE_ADAPTER);
+ case OxmPackage.EXML_JOIN_NODES :
+ return delegates().get(EclipseLink.XML_JOIN_NODES);
+ case OxmPackage.EXML_TRANSFORMATION :
+ return delegates().get(EclipseLink.XML_TRANSFORMATION);
+ case OxmPackage.EXML_TRANSIENT :
+ return delegates().get(EclipseLink.XML_TRANSIENT);
+ case OxmPackage.EXML_VALUE :
+ return delegates().get(EclipseLink.XML_VALUE);
+
+ }
+ throw new IllegalStateException("Java attribute expected"); //$NON-NLS-1$
+ }
+
+ @Override
+ public Translator getDelegateFor(String domName, String readAheadName) {
+ return delegates().get(domName);
+ }
+ }
+
+
+ abstract static class AbstractJavaAttributeTranslator
+ extends SimpleTranslator {
+
+ protected AbstractJavaAttributeTranslator(
+ String domPathAndName, EStructuralFeature eStructuralFeature, Translator[] translatorChildren) {
+ super(EclipseLink.JAVA_ATTRIBUTES + "/" + domPathAndName, eStructuralFeature, translatorChildren);
+ }
+ }
+}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EJavaType.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EJavaType.java
new file mode 100644
index 0000000000..cbf525aea9
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EJavaType.java
@@ -0,0 +1,1396 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import java.util.Collection;
+import java.util.List;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EJava Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getSuperType <em>Super Type</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlAccessorOrder <em>Xml Accessor Order</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlAccessorType <em>Xml Accessor Type</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlCustomizer <em>Xml Customizer</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlDiscriminatorNode <em>Xml Discriminator Node</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlDiscriminatorValue <em>Xml Discriminator Value</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#isXmlInlineBinaryData <em>Xml Inline Binary Data</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#isXmlTransient <em>Xml Transient</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlNameTransformer <em>Xml Name Transformer</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlType <em>Xml Type</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlRootElement <em>Xml Root Element</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlVirtualAccessMethods <em>Xml Virtual Access Methods</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlSeeAlso <em>Xml See Also</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlJavaTypeAdapter <em>Xml Java Type Adapter</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlClassExtractor <em>Xml Class Extractor</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getJavaAttributes <em>Java Attributes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType()
+ * @model kind="class"
+ * @generated
+ */
+public class EJavaType extends EBaseObjectImpl implements EPropertyHolder
+{
+ /**
+ * The cached value of the '{@link #getXmlProperties() <em>Xml Properties</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlProperty> xmlProperties;
+ /**
+ * 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 #getSuperType() <em>Super Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuperType()
+ * @generated
+ * @ordered
+ */
+ protected static final String SUPER_TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getSuperType() <em>Super Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuperType()
+ * @generated
+ * @ordered
+ */
+ protected String superType = SUPER_TYPE_EDEFAULT;
+ /**
+ * The default value of the '{@link #getXmlAccessorOrder() <em>Xml Accessor Order</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessorOrder()
+ * @generated
+ * @ordered
+ */
+ protected static final EXmlAccessOrder XML_ACCESSOR_ORDER_EDEFAULT = EXmlAccessOrder.ALPHABETICAL;
+ /**
+ * The cached value of the '{@link #getXmlAccessorOrder() <em>Xml Accessor Order</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessorOrder()
+ * @generated
+ * @ordered
+ */
+ protected EXmlAccessOrder xmlAccessorOrder = XML_ACCESSOR_ORDER_EDEFAULT;
+ /**
+ * The default value of the '{@link #getXmlAccessorType() <em>Xml Accessor Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessorType()
+ * @generated
+ * @ordered
+ */
+ protected static final EXmlAccessType XML_ACCESSOR_TYPE_EDEFAULT = EXmlAccessType.FIELD;
+ /**
+ * The cached value of the '{@link #getXmlAccessorType() <em>Xml Accessor Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessorType()
+ * @generated
+ * @ordered
+ */
+ protected EXmlAccessType xmlAccessorType = XML_ACCESSOR_TYPE_EDEFAULT;
+ /**
+ * The default value of the '{@link #getXmlCustomizer() <em>Xml Customizer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlCustomizer()
+ * @generated
+ * @ordered
+ */
+ protected static final String XML_CUSTOMIZER_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getXmlCustomizer() <em>Xml Customizer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlCustomizer()
+ * @generated
+ * @ordered
+ */
+ protected String xmlCustomizer = XML_CUSTOMIZER_EDEFAULT;
+ /**
+ * The default value of the '{@link #getXmlDiscriminatorNode() <em>Xml Discriminator Node</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlDiscriminatorNode()
+ * @generated
+ * @ordered
+ */
+ protected static final String XML_DISCRIMINATOR_NODE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getXmlDiscriminatorNode() <em>Xml Discriminator Node</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlDiscriminatorNode()
+ * @generated
+ * @ordered
+ */
+ protected String xmlDiscriminatorNode = XML_DISCRIMINATOR_NODE_EDEFAULT;
+ /**
+ * The default value of the '{@link #getXmlDiscriminatorValue() <em>Xml Discriminator Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlDiscriminatorValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String XML_DISCRIMINATOR_VALUE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getXmlDiscriminatorValue() <em>Xml Discriminator Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlDiscriminatorValue()
+ * @generated
+ * @ordered
+ */
+ protected String xmlDiscriminatorValue = XML_DISCRIMINATOR_VALUE_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlInlineBinaryData() <em>Xml Inline Binary Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlInlineBinaryData()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_INLINE_BINARY_DATA_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlInlineBinaryData() <em>Xml Inline Binary Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlInlineBinaryData()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlInlineBinaryData = XML_INLINE_BINARY_DATA_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlTransient() <em>Xml Transient</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlTransient()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_TRANSIENT_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlTransient() <em>Xml Transient</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlTransient()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlTransient = XML_TRANSIENT_EDEFAULT;
+ /**
+ * The default value of the '{@link #getXmlNameTransformer() <em>Xml Name Transformer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlNameTransformer()
+ * @generated
+ * @ordered
+ */
+ protected static final String XML_NAME_TRANSFORMER_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getXmlNameTransformer() <em>Xml Name Transformer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlNameTransformer()
+ * @generated
+ * @ordered
+ */
+ protected String xmlNameTransformer = XML_NAME_TRANSFORMER_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlType() <em>Xml Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlType()
+ * @generated
+ * @ordered
+ */
+ protected EXmlType xmlType;
+ /**
+ * The cached value of the '{@link #getXmlRootElement() <em>Xml Root Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlRootElement()
+ * @generated
+ * @ordered
+ */
+ protected EXmlRootElement xmlRootElement;
+ /**
+ * The cached value of the '{@link #getXmlVirtualAccessMethods() <em>Xml Virtual Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlVirtualAccessMethods()
+ * @generated
+ * @ordered
+ */
+ protected EXmlVirtualAccessMethods xmlVirtualAccessMethods;
+ /**
+ * The default value of the '{@link #getXmlSeeAlso() <em>Xml See Also</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlSeeAlso()
+ * @generated
+ * @ordered
+ */
+ protected static final List<String> XML_SEE_ALSO_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getXmlSeeAlso() <em>Xml See Also</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlSeeAlso()
+ * @generated
+ * @ordered
+ */
+ protected List<String> xmlSeeAlso = XML_SEE_ALSO_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlJavaTypeAdapter() <em>Xml Java Type Adapter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlJavaTypeAdapter()
+ * @generated
+ * @ordered
+ */
+ protected EXmlJavaTypeAdapter xmlJavaTypeAdapter;
+ /**
+ * The cached value of the '{@link #getXmlClassExtractor() <em>Xml Class Extractor</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlClassExtractor()
+ * @generated
+ * @ordered
+ */
+ protected EXmlClassExtractor xmlClassExtractor;
+ /**
+ * The cached value of the '{@link #getJavaAttributes() <em>Java Attributes</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJavaAttributes()
+ * @generated
+ * @ordered
+ */
+ protected EList<EJavaAttribute> javaAttributes;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EJavaType()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EJAVA_TYPE;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Properties</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>Xml Properties</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEPropertyHolder_XmlProperties()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlProperty> getXmlProperties()
+ {
+ if (xmlProperties == null)
+ {
+ xmlProperties = new EObjectContainmentEList<EXmlProperty>(EXmlProperty.class, this, OxmPackage.EJAVA_TYPE__XML_PROPERTIES);
+ }
+ return xmlProperties;
+ }
+
+ /**
+ * 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.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_Name()
+ * @model
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#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, OxmPackage.EJAVA_TYPE__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Super Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Super 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>Super Type</em>' attribute.
+ * @see #setSuperType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_SuperType()
+ * @model
+ * @generated
+ */
+ public String getSuperType()
+ {
+ return superType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getSuperType <em>Super Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Super Type</em>' attribute.
+ * @see #getSuperType()
+ * @generated
+ */
+ public void setSuperType(String newSuperType)
+ {
+ String oldSuperType = superType;
+ superType = newSuperType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__SUPER_TYPE, oldSuperType, superType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Accessor Order</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessOrder}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Accessor Order</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Accessor Order</em>' attribute.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessOrder
+ * @see #setXmlAccessorOrder(EXmlAccessOrder)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlAccessorOrder()
+ * @model
+ * @generated
+ */
+ public EXmlAccessOrder getXmlAccessorOrder()
+ {
+ return xmlAccessorOrder;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlAccessorOrder <em>Xml Accessor Order</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Accessor Order</em>' attribute.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessOrder
+ * @see #getXmlAccessorOrder()
+ * @generated
+ */
+ public void setXmlAccessorOrder(EXmlAccessOrder newXmlAccessorOrder)
+ {
+ EXmlAccessOrder oldXmlAccessorOrder = xmlAccessorOrder;
+ xmlAccessorOrder = newXmlAccessorOrder == null ? XML_ACCESSOR_ORDER_EDEFAULT : newXmlAccessorOrder;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_ACCESSOR_ORDER, oldXmlAccessorOrder, xmlAccessorOrder));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Accessor Type</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Accessor 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>Xml Accessor Type</em>' attribute.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessType
+ * @see #setXmlAccessorType(EXmlAccessType)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlAccessorType()
+ * @model
+ * @generated
+ */
+ public EXmlAccessType getXmlAccessorType()
+ {
+ return xmlAccessorType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlAccessorType <em>Xml Accessor Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Accessor Type</em>' attribute.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessType
+ * @see #getXmlAccessorType()
+ * @generated
+ */
+ public void setXmlAccessorType(EXmlAccessType newXmlAccessorType)
+ {
+ EXmlAccessType oldXmlAccessorType = xmlAccessorType;
+ xmlAccessorType = newXmlAccessorType == null ? XML_ACCESSOR_TYPE_EDEFAULT : newXmlAccessorType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_ACCESSOR_TYPE, oldXmlAccessorType, xmlAccessorType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Customizer</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Customizer</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Customizer</em>' attribute.
+ * @see #setXmlCustomizer(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlCustomizer()
+ * @model
+ * @generated
+ */
+ public String getXmlCustomizer()
+ {
+ return xmlCustomizer;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlCustomizer <em>Xml Customizer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Customizer</em>' attribute.
+ * @see #getXmlCustomizer()
+ * @generated
+ */
+ public void setXmlCustomizer(String newXmlCustomizer)
+ {
+ String oldXmlCustomizer = xmlCustomizer;
+ xmlCustomizer = newXmlCustomizer;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_CUSTOMIZER, oldXmlCustomizer, xmlCustomizer));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Discriminator Node</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Discriminator Node</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Discriminator Node</em>' attribute.
+ * @see #setXmlDiscriminatorNode(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlDiscriminatorNode()
+ * @model
+ * @generated
+ */
+ public String getXmlDiscriminatorNode()
+ {
+ return xmlDiscriminatorNode;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlDiscriminatorNode <em>Xml Discriminator Node</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Discriminator Node</em>' attribute.
+ * @see #getXmlDiscriminatorNode()
+ * @generated
+ */
+ public void setXmlDiscriminatorNode(String newXmlDiscriminatorNode)
+ {
+ String oldXmlDiscriminatorNode = xmlDiscriminatorNode;
+ xmlDiscriminatorNode = newXmlDiscriminatorNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_DISCRIMINATOR_NODE, oldXmlDiscriminatorNode, xmlDiscriminatorNode));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Discriminator Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Discriminator Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Discriminator Value</em>' attribute.
+ * @see #setXmlDiscriminatorValue(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlDiscriminatorValue()
+ * @model
+ * @generated
+ */
+ public String getXmlDiscriminatorValue()
+ {
+ return xmlDiscriminatorValue;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlDiscriminatorValue <em>Xml Discriminator Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Discriminator Value</em>' attribute.
+ * @see #getXmlDiscriminatorValue()
+ * @generated
+ */
+ public void setXmlDiscriminatorValue(String newXmlDiscriminatorValue)
+ {
+ String oldXmlDiscriminatorValue = xmlDiscriminatorValue;
+ xmlDiscriminatorValue = newXmlDiscriminatorValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_DISCRIMINATOR_VALUE, oldXmlDiscriminatorValue, xmlDiscriminatorValue));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Inline Binary Data</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Inline Binary Data</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Inline Binary Data</em>' attribute.
+ * @see #setXmlInlineBinaryData(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlInlineBinaryData()
+ * @model
+ * @generated
+ */
+ public boolean isXmlInlineBinaryData()
+ {
+ return xmlInlineBinaryData;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#isXmlInlineBinaryData <em>Xml Inline Binary Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Inline Binary Data</em>' attribute.
+ * @see #isXmlInlineBinaryData()
+ * @generated
+ */
+ public void setXmlInlineBinaryData(boolean newXmlInlineBinaryData)
+ {
+ boolean oldXmlInlineBinaryData = xmlInlineBinaryData;
+ xmlInlineBinaryData = newXmlInlineBinaryData;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_INLINE_BINARY_DATA, oldXmlInlineBinaryData, xmlInlineBinaryData));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Transient</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Transient</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Transient</em>' attribute.
+ * @see #setXmlTransient(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlTransient()
+ * @model
+ * @generated
+ */
+ public boolean isXmlTransient()
+ {
+ return xmlTransient;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#isXmlTransient <em>Xml Transient</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Transient</em>' attribute.
+ * @see #isXmlTransient()
+ * @generated
+ */
+ public void setXmlTransient(boolean newXmlTransient)
+ {
+ boolean oldXmlTransient = xmlTransient;
+ xmlTransient = newXmlTransient;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_TRANSIENT, oldXmlTransient, xmlTransient));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Name Transformer</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Name Transformer</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Name Transformer</em>' attribute.
+ * @see #setXmlNameTransformer(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlNameTransformer()
+ * @model
+ * @generated
+ */
+ public String getXmlNameTransformer()
+ {
+ return xmlNameTransformer;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlNameTransformer <em>Xml Name Transformer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Name Transformer</em>' attribute.
+ * @see #getXmlNameTransformer()
+ * @generated
+ */
+ public void setXmlNameTransformer(String newXmlNameTransformer)
+ {
+ String oldXmlNameTransformer = xmlNameTransformer;
+ xmlNameTransformer = newXmlNameTransformer;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_NAME_TRANSFORMER, oldXmlNameTransformer, xmlNameTransformer));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Type</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>Xml Type</em>' containment reference.
+ * @see #setXmlType(EXmlType)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlType()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlType getXmlType()
+ {
+ return xmlType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlType(EXmlType newXmlType, NotificationChain msgs)
+ {
+ EXmlType oldXmlType = xmlType;
+ xmlType = newXmlType;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_TYPE, oldXmlType, newXmlType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlType <em>Xml Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Type</em>' containment reference.
+ * @see #getXmlType()
+ * @generated
+ */
+ public void setXmlType(EXmlType newXmlType)
+ {
+ if (newXmlType != xmlType)
+ {
+ NotificationChain msgs = null;
+ if (xmlType != null)
+ msgs = ((InternalEObject)xmlType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EJAVA_TYPE__XML_TYPE, null, msgs);
+ if (newXmlType != null)
+ msgs = ((InternalEObject)newXmlType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EJAVA_TYPE__XML_TYPE, null, msgs);
+ msgs = basicSetXmlType(newXmlType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_TYPE, newXmlType, newXmlType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Root Element</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Root Element</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>Xml Root Element</em>' containment reference.
+ * @see #setXmlRootElement(EXmlRootElement)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlRootElement()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlRootElement getXmlRootElement()
+ {
+ return xmlRootElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlRootElement(EXmlRootElement newXmlRootElement, NotificationChain msgs)
+ {
+ EXmlRootElement oldXmlRootElement = xmlRootElement;
+ xmlRootElement = newXmlRootElement;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_ROOT_ELEMENT, oldXmlRootElement, newXmlRootElement);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlRootElement <em>Xml Root Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Root Element</em>' containment reference.
+ * @see #getXmlRootElement()
+ * @generated
+ */
+ public void setXmlRootElement(EXmlRootElement newXmlRootElement)
+ {
+ if (newXmlRootElement != xmlRootElement)
+ {
+ NotificationChain msgs = null;
+ if (xmlRootElement != null)
+ msgs = ((InternalEObject)xmlRootElement).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EJAVA_TYPE__XML_ROOT_ELEMENT, null, msgs);
+ if (newXmlRootElement != null)
+ msgs = ((InternalEObject)newXmlRootElement).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EJAVA_TYPE__XML_ROOT_ELEMENT, null, msgs);
+ msgs = basicSetXmlRootElement(newXmlRootElement, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_ROOT_ELEMENT, newXmlRootElement, newXmlRootElement));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Virtual Access Methods</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Virtual Access Methods</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>Xml Virtual Access Methods</em>' containment reference.
+ * @see #setXmlVirtualAccessMethods(EXmlVirtualAccessMethods)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlVirtualAccessMethods()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlVirtualAccessMethods getXmlVirtualAccessMethods()
+ {
+ return xmlVirtualAccessMethods;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlVirtualAccessMethods(EXmlVirtualAccessMethods newXmlVirtualAccessMethods, NotificationChain msgs)
+ {
+ EXmlVirtualAccessMethods oldXmlVirtualAccessMethods = xmlVirtualAccessMethods;
+ xmlVirtualAccessMethods = newXmlVirtualAccessMethods;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_VIRTUAL_ACCESS_METHODS, oldXmlVirtualAccessMethods, newXmlVirtualAccessMethods);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlVirtualAccessMethods <em>Xml Virtual Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Virtual Access Methods</em>' containment reference.
+ * @see #getXmlVirtualAccessMethods()
+ * @generated
+ */
+ public void setXmlVirtualAccessMethods(EXmlVirtualAccessMethods newXmlVirtualAccessMethods)
+ {
+ if (newXmlVirtualAccessMethods != xmlVirtualAccessMethods)
+ {
+ NotificationChain msgs = null;
+ if (xmlVirtualAccessMethods != null)
+ msgs = ((InternalEObject)xmlVirtualAccessMethods).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EJAVA_TYPE__XML_VIRTUAL_ACCESS_METHODS, null, msgs);
+ if (newXmlVirtualAccessMethods != null)
+ msgs = ((InternalEObject)newXmlVirtualAccessMethods).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EJAVA_TYPE__XML_VIRTUAL_ACCESS_METHODS, null, msgs);
+ msgs = basicSetXmlVirtualAccessMethods(newXmlVirtualAccessMethods, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_VIRTUAL_ACCESS_METHODS, newXmlVirtualAccessMethods, newXmlVirtualAccessMethods));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml See Also</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml See Also</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml See Also</em>' attribute.
+ * @see #setXmlSeeAlso(List)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlSeeAlso()
+ * @model dataType="org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlSeeAlso" many="false"
+ * @generated
+ */
+ public List<String> getXmlSeeAlso()
+ {
+ return xmlSeeAlso;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlSeeAlso <em>Xml See Also</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml See Also</em>' attribute.
+ * @see #getXmlSeeAlso()
+ * @generated
+ */
+ public void setXmlSeeAlso(List<String> newXmlSeeAlso)
+ {
+ List<String> oldXmlSeeAlso = xmlSeeAlso;
+ xmlSeeAlso = newXmlSeeAlso;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_SEE_ALSO, oldXmlSeeAlso, xmlSeeAlso));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Java Type Adapter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Java Type Adapter</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>Xml Java Type Adapter</em>' containment reference.
+ * @see #setXmlJavaTypeAdapter(EXmlJavaTypeAdapter)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlJavaTypeAdapter()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlJavaTypeAdapter getXmlJavaTypeAdapter()
+ {
+ return xmlJavaTypeAdapter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlJavaTypeAdapter(EXmlJavaTypeAdapter newXmlJavaTypeAdapter, NotificationChain msgs)
+ {
+ EXmlJavaTypeAdapter oldXmlJavaTypeAdapter = xmlJavaTypeAdapter;
+ xmlJavaTypeAdapter = newXmlJavaTypeAdapter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_JAVA_TYPE_ADAPTER, oldXmlJavaTypeAdapter, newXmlJavaTypeAdapter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlJavaTypeAdapter <em>Xml Java Type Adapter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Java Type Adapter</em>' containment reference.
+ * @see #getXmlJavaTypeAdapter()
+ * @generated
+ */
+ public void setXmlJavaTypeAdapter(EXmlJavaTypeAdapter newXmlJavaTypeAdapter)
+ {
+ if (newXmlJavaTypeAdapter != xmlJavaTypeAdapter)
+ {
+ NotificationChain msgs = null;
+ if (xmlJavaTypeAdapter != null)
+ msgs = ((InternalEObject)xmlJavaTypeAdapter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EJAVA_TYPE__XML_JAVA_TYPE_ADAPTER, null, msgs);
+ if (newXmlJavaTypeAdapter != null)
+ msgs = ((InternalEObject)newXmlJavaTypeAdapter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EJAVA_TYPE__XML_JAVA_TYPE_ADAPTER, null, msgs);
+ msgs = basicSetXmlJavaTypeAdapter(newXmlJavaTypeAdapter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_JAVA_TYPE_ADAPTER, newXmlJavaTypeAdapter, newXmlJavaTypeAdapter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Class Extractor</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Class Extractor</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>Xml Class Extractor</em>' containment reference.
+ * @see #setXmlClassExtractor(EXmlClassExtractor)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_XmlClassExtractor()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlClassExtractor getXmlClassExtractor()
+ {
+ return xmlClassExtractor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlClassExtractor(EXmlClassExtractor newXmlClassExtractor, NotificationChain msgs)
+ {
+ EXmlClassExtractor oldXmlClassExtractor = xmlClassExtractor;
+ xmlClassExtractor = newXmlClassExtractor;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_CLASS_EXTRACTOR, oldXmlClassExtractor, newXmlClassExtractor);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType#getXmlClassExtractor <em>Xml Class Extractor</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Class Extractor</em>' containment reference.
+ * @see #getXmlClassExtractor()
+ * @generated
+ */
+ public void setXmlClassExtractor(EXmlClassExtractor newXmlClassExtractor)
+ {
+ if (newXmlClassExtractor != xmlClassExtractor)
+ {
+ NotificationChain msgs = null;
+ if (xmlClassExtractor != null)
+ msgs = ((InternalEObject)xmlClassExtractor).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EJAVA_TYPE__XML_CLASS_EXTRACTOR, null, msgs);
+ if (newXmlClassExtractor != null)
+ msgs = ((InternalEObject)newXmlClassExtractor).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EJAVA_TYPE__XML_CLASS_EXTRACTOR, null, msgs);
+ msgs = basicSetXmlClassExtractor(newXmlClassExtractor, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EJAVA_TYPE__XML_CLASS_EXTRACTOR, newXmlClassExtractor, newXmlClassExtractor));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Java Attributes</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaAttribute}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Java Attributes</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>Java Attributes</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEJavaType_JavaAttributes()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EJavaAttribute> getJavaAttributes()
+ {
+ if (javaAttributes == null)
+ {
+ javaAttributes = new EObjectContainmentEList<EJavaAttribute>(EJavaAttribute.class, this, OxmPackage.EJAVA_TYPE__JAVA_ATTRIBUTES);
+ }
+ return javaAttributes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EJAVA_TYPE__XML_PROPERTIES:
+ return ((InternalEList<?>)getXmlProperties()).basicRemove(otherEnd, msgs);
+ case OxmPackage.EJAVA_TYPE__XML_TYPE:
+ return basicSetXmlType(null, msgs);
+ case OxmPackage.EJAVA_TYPE__XML_ROOT_ELEMENT:
+ return basicSetXmlRootElement(null, msgs);
+ case OxmPackage.EJAVA_TYPE__XML_VIRTUAL_ACCESS_METHODS:
+ return basicSetXmlVirtualAccessMethods(null, msgs);
+ case OxmPackage.EJAVA_TYPE__XML_JAVA_TYPE_ADAPTER:
+ return basicSetXmlJavaTypeAdapter(null, msgs);
+ case OxmPackage.EJAVA_TYPE__XML_CLASS_EXTRACTOR:
+ return basicSetXmlClassExtractor(null, msgs);
+ case OxmPackage.EJAVA_TYPE__JAVA_ATTRIBUTES:
+ return ((InternalEList<?>)getJavaAttributes()).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 OxmPackage.EJAVA_TYPE__XML_PROPERTIES:
+ return getXmlProperties();
+ case OxmPackage.EJAVA_TYPE__NAME:
+ return getName();
+ case OxmPackage.EJAVA_TYPE__SUPER_TYPE:
+ return getSuperType();
+ case OxmPackage.EJAVA_TYPE__XML_ACCESSOR_ORDER:
+ return getXmlAccessorOrder();
+ case OxmPackage.EJAVA_TYPE__XML_ACCESSOR_TYPE:
+ return getXmlAccessorType();
+ case OxmPackage.EJAVA_TYPE__XML_CUSTOMIZER:
+ return getXmlCustomizer();
+ case OxmPackage.EJAVA_TYPE__XML_DISCRIMINATOR_NODE:
+ return getXmlDiscriminatorNode();
+ case OxmPackage.EJAVA_TYPE__XML_DISCRIMINATOR_VALUE:
+ return getXmlDiscriminatorValue();
+ case OxmPackage.EJAVA_TYPE__XML_INLINE_BINARY_DATA:
+ return isXmlInlineBinaryData();
+ case OxmPackage.EJAVA_TYPE__XML_TRANSIENT:
+ return isXmlTransient();
+ case OxmPackage.EJAVA_TYPE__XML_NAME_TRANSFORMER:
+ return getXmlNameTransformer();
+ case OxmPackage.EJAVA_TYPE__XML_TYPE:
+ return getXmlType();
+ case OxmPackage.EJAVA_TYPE__XML_ROOT_ELEMENT:
+ return getXmlRootElement();
+ case OxmPackage.EJAVA_TYPE__XML_VIRTUAL_ACCESS_METHODS:
+ return getXmlVirtualAccessMethods();
+ case OxmPackage.EJAVA_TYPE__XML_SEE_ALSO:
+ return getXmlSeeAlso();
+ case OxmPackage.EJAVA_TYPE__XML_JAVA_TYPE_ADAPTER:
+ return getXmlJavaTypeAdapter();
+ case OxmPackage.EJAVA_TYPE__XML_CLASS_EXTRACTOR:
+ return getXmlClassExtractor();
+ case OxmPackage.EJAVA_TYPE__JAVA_ATTRIBUTES:
+ return getJavaAttributes();
+ }
+ 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 OxmPackage.EJAVA_TYPE__XML_PROPERTIES:
+ getXmlProperties().clear();
+ getXmlProperties().addAll((Collection<? extends EXmlProperty>)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__NAME:
+ setName((String)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__SUPER_TYPE:
+ setSuperType((String)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_ACCESSOR_ORDER:
+ setXmlAccessorOrder((EXmlAccessOrder)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_ACCESSOR_TYPE:
+ setXmlAccessorType((EXmlAccessType)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_CUSTOMIZER:
+ setXmlCustomizer((String)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_DISCRIMINATOR_NODE:
+ setXmlDiscriminatorNode((String)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_DISCRIMINATOR_VALUE:
+ setXmlDiscriminatorValue((String)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_INLINE_BINARY_DATA:
+ setXmlInlineBinaryData((Boolean)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_TRANSIENT:
+ setXmlTransient((Boolean)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_NAME_TRANSFORMER:
+ setXmlNameTransformer((String)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_TYPE:
+ setXmlType((EXmlType)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_ROOT_ELEMENT:
+ setXmlRootElement((EXmlRootElement)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_VIRTUAL_ACCESS_METHODS:
+ setXmlVirtualAccessMethods((EXmlVirtualAccessMethods)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_SEE_ALSO:
+ setXmlSeeAlso((List<String>)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_JAVA_TYPE_ADAPTER:
+ setXmlJavaTypeAdapter((EXmlJavaTypeAdapter)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_CLASS_EXTRACTOR:
+ setXmlClassExtractor((EXmlClassExtractor)newValue);
+ return;
+ case OxmPackage.EJAVA_TYPE__JAVA_ATTRIBUTES:
+ getJavaAttributes().clear();
+ getJavaAttributes().addAll((Collection<? extends EJavaAttribute>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EJAVA_TYPE__XML_PROPERTIES:
+ getXmlProperties().clear();
+ return;
+ case OxmPackage.EJAVA_TYPE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OxmPackage.EJAVA_TYPE__SUPER_TYPE:
+ setSuperType(SUPER_TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_ACCESSOR_ORDER:
+ setXmlAccessorOrder(XML_ACCESSOR_ORDER_EDEFAULT);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_ACCESSOR_TYPE:
+ setXmlAccessorType(XML_ACCESSOR_TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_CUSTOMIZER:
+ setXmlCustomizer(XML_CUSTOMIZER_EDEFAULT);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_DISCRIMINATOR_NODE:
+ setXmlDiscriminatorNode(XML_DISCRIMINATOR_NODE_EDEFAULT);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_DISCRIMINATOR_VALUE:
+ setXmlDiscriminatorValue(XML_DISCRIMINATOR_VALUE_EDEFAULT);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_INLINE_BINARY_DATA:
+ setXmlInlineBinaryData(XML_INLINE_BINARY_DATA_EDEFAULT);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_TRANSIENT:
+ setXmlTransient(XML_TRANSIENT_EDEFAULT);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_NAME_TRANSFORMER:
+ setXmlNameTransformer(XML_NAME_TRANSFORMER_EDEFAULT);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_TYPE:
+ setXmlType((EXmlType)null);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_ROOT_ELEMENT:
+ setXmlRootElement((EXmlRootElement)null);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_VIRTUAL_ACCESS_METHODS:
+ setXmlVirtualAccessMethods((EXmlVirtualAccessMethods)null);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_SEE_ALSO:
+ setXmlSeeAlso(XML_SEE_ALSO_EDEFAULT);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_JAVA_TYPE_ADAPTER:
+ setXmlJavaTypeAdapter((EXmlJavaTypeAdapter)null);
+ return;
+ case OxmPackage.EJAVA_TYPE__XML_CLASS_EXTRACTOR:
+ setXmlClassExtractor((EXmlClassExtractor)null);
+ return;
+ case OxmPackage.EJAVA_TYPE__JAVA_ATTRIBUTES:
+ getJavaAttributes().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EJAVA_TYPE__XML_PROPERTIES:
+ return xmlProperties != null && !xmlProperties.isEmpty();
+ case OxmPackage.EJAVA_TYPE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OxmPackage.EJAVA_TYPE__SUPER_TYPE:
+ return SUPER_TYPE_EDEFAULT == null ? superType != null : !SUPER_TYPE_EDEFAULT.equals(superType);
+ case OxmPackage.EJAVA_TYPE__XML_ACCESSOR_ORDER:
+ return xmlAccessorOrder != XML_ACCESSOR_ORDER_EDEFAULT;
+ case OxmPackage.EJAVA_TYPE__XML_ACCESSOR_TYPE:
+ return xmlAccessorType != XML_ACCESSOR_TYPE_EDEFAULT;
+ case OxmPackage.EJAVA_TYPE__XML_CUSTOMIZER:
+ return XML_CUSTOMIZER_EDEFAULT == null ? xmlCustomizer != null : !XML_CUSTOMIZER_EDEFAULT.equals(xmlCustomizer);
+ case OxmPackage.EJAVA_TYPE__XML_DISCRIMINATOR_NODE:
+ return XML_DISCRIMINATOR_NODE_EDEFAULT == null ? xmlDiscriminatorNode != null : !XML_DISCRIMINATOR_NODE_EDEFAULT.equals(xmlDiscriminatorNode);
+ case OxmPackage.EJAVA_TYPE__XML_DISCRIMINATOR_VALUE:
+ return XML_DISCRIMINATOR_VALUE_EDEFAULT == null ? xmlDiscriminatorValue != null : !XML_DISCRIMINATOR_VALUE_EDEFAULT.equals(xmlDiscriminatorValue);
+ case OxmPackage.EJAVA_TYPE__XML_INLINE_BINARY_DATA:
+ return xmlInlineBinaryData != XML_INLINE_BINARY_DATA_EDEFAULT;
+ case OxmPackage.EJAVA_TYPE__XML_TRANSIENT:
+ return xmlTransient != XML_TRANSIENT_EDEFAULT;
+ case OxmPackage.EJAVA_TYPE__XML_NAME_TRANSFORMER:
+ return XML_NAME_TRANSFORMER_EDEFAULT == null ? xmlNameTransformer != null : !XML_NAME_TRANSFORMER_EDEFAULT.equals(xmlNameTransformer);
+ case OxmPackage.EJAVA_TYPE__XML_TYPE:
+ return xmlType != null;
+ case OxmPackage.EJAVA_TYPE__XML_ROOT_ELEMENT:
+ return xmlRootElement != null;
+ case OxmPackage.EJAVA_TYPE__XML_VIRTUAL_ACCESS_METHODS:
+ return xmlVirtualAccessMethods != null;
+ case OxmPackage.EJAVA_TYPE__XML_SEE_ALSO:
+ return XML_SEE_ALSO_EDEFAULT == null ? xmlSeeAlso != null : !XML_SEE_ALSO_EDEFAULT.equals(xmlSeeAlso);
+ case OxmPackage.EJAVA_TYPE__XML_JAVA_TYPE_ADAPTER:
+ return xmlJavaTypeAdapter != null;
+ case OxmPackage.EJAVA_TYPE__XML_CLASS_EXTRACTOR:
+ return xmlClassExtractor != null;
+ case OxmPackage.EJAVA_TYPE__JAVA_ATTRIBUTES:
+ return javaAttributes != null && !javaAttributes.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", superType: ");
+ result.append(superType);
+ result.append(", xmlAccessorOrder: ");
+ result.append(xmlAccessorOrder);
+ result.append(", xmlAccessorType: ");
+ result.append(xmlAccessorType);
+ result.append(", xmlCustomizer: ");
+ result.append(xmlCustomizer);
+ result.append(", xmlDiscriminatorNode: ");
+ result.append(xmlDiscriminatorNode);
+ result.append(", xmlDiscriminatorValue: ");
+ result.append(xmlDiscriminatorValue);
+ result.append(", xmlInlineBinaryData: ");
+ result.append(xmlInlineBinaryData);
+ result.append(", xmlTransient: ");
+ result.append(xmlTransient);
+ result.append(", xmlNameTransformer: ");
+ result.append(xmlNameTransformer);
+ result.append(", xmlSeeAlso: ");
+ result.append(xmlSeeAlso);
+ result.append(')');
+ return result.toString();
+ }
+
+ // ***** translators *****
+
+ public static Translator buildTranslator() {
+ return new SimpleTranslator(EclipseLink.JAVA_TYPES + "/" + EclipseLink.JAVA_TYPE, OxmPackage.eINSTANCE.getEXmlBindings_JavaTypes(), buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ new EJavaAttribute.JavaAttributesTranslator()
+ };
+ }
+} \ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EPropertyHolder.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EPropertyHolder.java
new file mode 100644
index 0000000000..9e34cbb797
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EPropertyHolder.java
@@ -0,0 +1,44 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EProperty Holder</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EPropertyHolder#getXmlProperties <em>Xml Properties</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEPropertyHolder()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface EPropertyHolder extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Xml Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Properties</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>Xml Properties</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEPropertyHolder_XmlProperties()
+ * @model containment="true"
+ * @generated
+ */
+ EList<EXmlProperty> getXmlProperties();
+
+} // EPropertyHolder
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EReadWriteJavaAttribute.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EReadWriteJavaAttribute.java
new file mode 100644
index 0000000000..abf7719784
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EReadWriteJavaAttribute.java
@@ -0,0 +1,79 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>ERead Write Java Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EReadWriteJavaAttribute#isReadOnly <em>Read Only</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EReadWriteJavaAttribute#isWriteOnly <em>Write Only</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface EReadWriteJavaAttribute extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Read Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Read Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Read Only</em>' attribute.
+ * @see #setReadOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_ReadOnly()
+ * @model
+ * @generated
+ */
+ boolean isReadOnly();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EReadWriteJavaAttribute#isReadOnly <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Read Only</em>' attribute.
+ * @see #isReadOnly()
+ * @generated
+ */
+ void setReadOnly(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Write Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Write Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Write Only</em>' attribute.
+ * @see #setWriteOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_WriteOnly()
+ * @model
+ * @generated
+ */
+ boolean isWriteOnly();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EReadWriteJavaAttribute#isWriteOnly <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Write Only</em>' attribute.
+ * @see #isWriteOnly()
+ * @generated
+ */
+ void setWriteOnly(boolean value);
+
+} // EReadWriteJavaAttribute
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/ETypedJavaAttribute.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/ETypedJavaAttribute.java
new file mode 100644
index 0000000000..f407bf4dbe
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/ETypedJavaAttribute.java
@@ -0,0 +1,52 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>ETyped Java Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.ETypedJavaAttribute#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getETypedJavaAttribute()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends EBaseObject
+ * @generated
+ */
+public interface ETypedJavaAttribute extends EBaseObject
+{
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getETypedJavaAttribute_Type()
+ * @model
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.ETypedJavaAttribute#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+} // ETypedJavaAttribute
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAccessMethods.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAccessMethods.java
new file mode 100644
index 0000000000..72d70ecde6
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAccessMethods.java
@@ -0,0 +1,260 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Access Methods</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessMethods#getGetMethod <em>Get Method</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessMethods#getSetMethod <em>Set Method</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAccessMethods()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class EXmlAccessMethods extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getGetMethod() <em>Get Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGetMethod()
+ * @generated
+ * @ordered
+ */
+ protected static final String GET_METHOD_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGetMethod() <em>Get Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGetMethod()
+ * @generated
+ * @ordered
+ */
+ protected String getMethod = GET_METHOD_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSetMethod() <em>Set Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSetMethod()
+ * @generated
+ * @ordered
+ */
+ protected static final String SET_METHOD_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSetMethod() <em>Set Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSetMethod()
+ * @generated
+ * @ordered
+ */
+ protected String setMethod = SET_METHOD_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlAccessMethods()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_ACCESS_METHODS;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Get Method</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Get Method</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Get Method</em>' attribute.
+ * @see #setGetMethod(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAccessMethods_GetMethod()
+ * @model
+ * @generated
+ */
+ public String getGetMethod()
+ {
+ return getMethod;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessMethods#getGetMethod <em>Get Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Get Method</em>' attribute.
+ * @see #getGetMethod()
+ * @generated
+ */
+ public void setGetMethod(String newGetMethod)
+ {
+ String oldGetMethod = getMethod;
+ getMethod = newGetMethod;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ACCESS_METHODS__GET_METHOD, oldGetMethod, getMethod));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Set Method</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Set Method</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Set Method</em>' attribute.
+ * @see #setSetMethod(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAccessMethods_SetMethod()
+ * @model
+ * @generated
+ */
+ public String getSetMethod()
+ {
+ return setMethod;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessMethods#getSetMethod <em>Set Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Set Method</em>' attribute.
+ * @see #getSetMethod()
+ * @generated
+ */
+ public void setSetMethod(String newSetMethod)
+ {
+ String oldSetMethod = setMethod;
+ setMethod = newSetMethod;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ACCESS_METHODS__SET_METHOD, oldSetMethod, setMethod));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ACCESS_METHODS__GET_METHOD:
+ return getGetMethod();
+ case OxmPackage.EXML_ACCESS_METHODS__SET_METHOD:
+ return getSetMethod();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ACCESS_METHODS__GET_METHOD:
+ setGetMethod((String)newValue);
+ return;
+ case OxmPackage.EXML_ACCESS_METHODS__SET_METHOD:
+ setSetMethod((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ACCESS_METHODS__GET_METHOD:
+ setGetMethod(GET_METHOD_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ACCESS_METHODS__SET_METHOD:
+ setSetMethod(SET_METHOD_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ACCESS_METHODS__GET_METHOD:
+ return GET_METHOD_EDEFAULT == null ? getMethod != null : !GET_METHOD_EDEFAULT.equals(getMethod);
+ case OxmPackage.EXML_ACCESS_METHODS__SET_METHOD:
+ return SET_METHOD_EDEFAULT == null ? setMethod != null : !SET_METHOD_EDEFAULT.equals(setMethod);
+ }
+ 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(" (getMethod: ");
+ result.append(getMethod);
+ result.append(", setMethod: ");
+ result.append(setMethod);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EXmlAccessMethods
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAccessOrder.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAccessOrder.java
new file mode 100644
index 0000000000..63f3c3c24c
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAccessOrder.java
@@ -0,0 +1,223 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>EXml Access Order</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAccessOrder()
+ * @model
+ * @generated
+ */
+public enum EXmlAccessOrder implements Enumerator
+{
+ /**
+ * The '<em><b>ALPHABETICAL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ALPHABETICAL_VALUE
+ * @generated
+ * @ordered
+ */
+ ALPHABETICAL(0, "ALPHABETICAL", "ALPHABETICAL"),
+
+ /**
+ * The '<em><b>UNDEFINED</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEFINED_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEFINED(1, "UNDEFINED", "UNDEFINED");
+
+ /**
+ * The '<em><b>ALPHABETICAL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ALPHABETICAL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ALPHABETICAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ALPHABETICAL_VALUE = 0;
+
+ /**
+ * The '<em><b>UNDEFINED</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>UNDEFINED</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEFINED
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEFINED_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>EXml Access Order</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final EXmlAccessOrder[] VALUES_ARRAY =
+ new EXmlAccessOrder[]
+ {
+ ALPHABETICAL,
+ UNDEFINED,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>EXml Access Order</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<EXmlAccessOrder> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>EXml Access Order</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EXmlAccessOrder get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ EXmlAccessOrder result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>EXml Access Order</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EXmlAccessOrder getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ EXmlAccessOrder result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>EXml Access Order</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EXmlAccessOrder get(int value)
+ {
+ switch (value)
+ {
+ case ALPHABETICAL_VALUE: return ALPHABETICAL;
+ case UNDEFINED_VALUE: return UNDEFINED;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EXmlAccessOrder(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //EXmlAccessOrder
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAccessType.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAccessType.java
new file mode 100644
index 0000000000..a062ec16f9
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAccessType.java
@@ -0,0 +1,277 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>EXml Access Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAccessType()
+ * @model
+ * @generated
+ */
+public enum EXmlAccessType implements Enumerator
+{
+ /**
+ * The '<em><b>FIELD</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FIELD_VALUE
+ * @generated
+ * @ordered
+ */
+ FIELD(0, "FIELD", "FIELD"),
+
+ /**
+ * The '<em><b>NONE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NONE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONE(1, "NONE", "NONE"),
+
+ /**
+ * The '<em><b>PROPERTY</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PROPERTY_VALUE
+ * @generated
+ * @ordered
+ */
+ PROPERTY(2, "PROPERTY", "PROPERTY"),
+
+ /**
+ * The '<em><b>PUBLIC MEMBER</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PUBLIC_MEMBER_VALUE
+ * @generated
+ * @ordered
+ */
+ PUBLIC_MEMBER(3, "PUBLIC_MEMBER", "PUBLIC_MEMBER");
+
+ /**
+ * The '<em><b>FIELD</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>FIELD</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FIELD
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int FIELD_VALUE = 0;
+
+ /**
+ * The '<em><b>NONE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NONE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NONE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NONE_VALUE = 1;
+
+ /**
+ * The '<em><b>PROPERTY</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PROPERTY</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PROPERTY
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PROPERTY_VALUE = 2;
+
+ /**
+ * The '<em><b>PUBLIC MEMBER</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PUBLIC MEMBER</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PUBLIC_MEMBER
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PUBLIC_MEMBER_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>EXml Access Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final EXmlAccessType[] VALUES_ARRAY =
+ new EXmlAccessType[]
+ {
+ FIELD,
+ NONE,
+ PROPERTY,
+ PUBLIC_MEMBER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>EXml Access Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<EXmlAccessType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>EXml Access Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EXmlAccessType get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ EXmlAccessType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>EXml Access Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EXmlAccessType getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ EXmlAccessType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>EXml Access Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EXmlAccessType get(int value)
+ {
+ switch (value)
+ {
+ case FIELD_VALUE: return FIELD;
+ case NONE_VALUE: return NONE;
+ case PROPERTY_VALUE: return PROPERTY;
+ case PUBLIC_MEMBER_VALUE: return PUBLIC_MEMBER;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EXmlAccessType(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //EXmlAccessType
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAnyAttribute.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAnyAttribute.java
new file mode 100644
index 0000000000..bfde945c47
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAnyAttribute.java
@@ -0,0 +1,647 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+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.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Any Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyAttribute#getXmlPath <em>Xml Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAnyAttribute()
+ * @model kind="class"
+ * @generated
+ */
+public class EXmlAnyAttribute extends EJavaAttribute implements EAccessibleJavaAttribute, EContainerJavaAttribute, EReadWriteJavaAttribute, EPropertyHolder
+{
+ /**
+ * The cached value of the '{@link #getXmlAccessMethods() <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessMethods()
+ * @generated
+ * @ordered
+ */
+ protected EXmlAccessMethods xmlAccessMethods;
+ /**
+ * The default value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONTAINER_TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected String containerType = CONTAINER_TYPE_EDEFAULT;
+ /**
+ * The default value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean READ_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean readOnly = READ_ONLY_EDEFAULT;
+ /**
+ * The default value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean WRITE_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean writeOnly = WRITE_ONLY_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlProperties() <em>Xml Properties</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlProperty> xmlProperties;
+ /**
+ * The default value of the '{@link #getXmlPath() <em>Xml Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String XML_PATH_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getXmlPath() <em>Xml Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlPath()
+ * @generated
+ * @ordered
+ */
+ protected String xmlPath = XML_PATH_EDEFAULT;
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlAnyAttribute()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_ANY_ATTRIBUTE;
+ }
+
+
+ /**
+ * Returns the value of the '<em><b>Xml Access Methods</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Access Methods</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>Xml Access Methods</em>' containment reference.
+ * @see #setXmlAccessMethods(EXmlAccessMethods)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAccessibleJavaAttribute_XmlAccessMethods()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlAccessMethods getXmlAccessMethods()
+ {
+ return xmlAccessMethods;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods, NotificationChain msgs)
+ {
+ EXmlAccessMethods oldXmlAccessMethods = xmlAccessMethods;
+ xmlAccessMethods = newXmlAccessMethods;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ATTRIBUTE__XML_ACCESS_METHODS, oldXmlAccessMethods, newXmlAccessMethods);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyAttribute#getXmlAccessMethods <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Access Methods</em>' containment reference.
+ * @see #getXmlAccessMethods()
+ * @generated
+ */
+ public void setXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods)
+ {
+ if (newXmlAccessMethods != xmlAccessMethods)
+ {
+ NotificationChain msgs = null;
+ if (xmlAccessMethods != null)
+ msgs = ((InternalEObject)xmlAccessMethods).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ANY_ATTRIBUTE__XML_ACCESS_METHODS, null, msgs);
+ if (newXmlAccessMethods != null)
+ msgs = ((InternalEObject)newXmlAccessMethods).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ANY_ATTRIBUTE__XML_ACCESS_METHODS, null, msgs);
+ msgs = basicSetXmlAccessMethods(newXmlAccessMethods, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ATTRIBUTE__XML_ACCESS_METHODS, newXmlAccessMethods, newXmlAccessMethods));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Container Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Container 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>Container Type</em>' attribute.
+ * @see #setContainerType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEContainerJavaAttribute_ContainerType()
+ * @model
+ * @generated
+ */
+ public String getContainerType()
+ {
+ return containerType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyAttribute#getContainerType <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Container Type</em>' attribute.
+ * @see #getContainerType()
+ * @generated
+ */
+ public void setContainerType(String newContainerType)
+ {
+ String oldContainerType = containerType;
+ containerType = newContainerType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ATTRIBUTE__CONTAINER_TYPE, oldContainerType, containerType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Read Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Read Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Read Only</em>' attribute.
+ * @see #setReadOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_ReadOnly()
+ * @model
+ * @generated
+ */
+ public boolean isReadOnly()
+ {
+ return readOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyAttribute#isReadOnly <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Read Only</em>' attribute.
+ * @see #isReadOnly()
+ * @generated
+ */
+ public void setReadOnly(boolean newReadOnly)
+ {
+ boolean oldReadOnly = readOnly;
+ readOnly = newReadOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ATTRIBUTE__READ_ONLY, oldReadOnly, readOnly));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Write Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Write Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Write Only</em>' attribute.
+ * @see #setWriteOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_WriteOnly()
+ * @model
+ * @generated
+ */
+ public boolean isWriteOnly()
+ {
+ return writeOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyAttribute#isWriteOnly <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Write Only</em>' attribute.
+ * @see #isWriteOnly()
+ * @generated
+ */
+ public void setWriteOnly(boolean newWriteOnly)
+ {
+ boolean oldWriteOnly = writeOnly;
+ writeOnly = newWriteOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ATTRIBUTE__WRITE_ONLY, oldWriteOnly, writeOnly));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Properties</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>Xml Properties</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEPropertyHolder_XmlProperties()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlProperty> getXmlProperties()
+ {
+ if (xmlProperties == null)
+ {
+ xmlProperties = new EObjectContainmentEList<EXmlProperty>(EXmlProperty.class, this, OxmPackage.EXML_ANY_ATTRIBUTE__XML_PROPERTIES);
+ }
+ return xmlProperties;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Path</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Path</em>' attribute.
+ * @see #setXmlPath(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAnyAttribute_XmlPath()
+ * @model
+ * @generated
+ */
+ public String getXmlPath()
+ {
+ return xmlPath;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyAttribute#getXmlPath <em>Xml Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Path</em>' attribute.
+ * @see #getXmlPath()
+ * @generated
+ */
+ public void setXmlPath(String newXmlPath)
+ {
+ String oldXmlPath = xmlPath;
+ xmlPath = newXmlPath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ATTRIBUTE__XML_PATH, oldXmlPath, xmlPath));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_ACCESS_METHODS:
+ return basicSetXmlAccessMethods(null, msgs);
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_PROPERTIES:
+ return ((InternalEList<?>)getXmlProperties()).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 OxmPackage.EXML_ANY_ATTRIBUTE__XML_ACCESS_METHODS:
+ return getXmlAccessMethods();
+ case OxmPackage.EXML_ANY_ATTRIBUTE__CONTAINER_TYPE:
+ return getContainerType();
+ case OxmPackage.EXML_ANY_ATTRIBUTE__READ_ONLY:
+ return isReadOnly();
+ case OxmPackage.EXML_ANY_ATTRIBUTE__WRITE_ONLY:
+ return isWriteOnly();
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_PROPERTIES:
+ return getXmlProperties();
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_PATH:
+ return getXmlPath();
+ }
+ 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 OxmPackage.EXML_ANY_ATTRIBUTE__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__CONTAINER_TYPE:
+ setContainerType((String)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__READ_ONLY:
+ setReadOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__WRITE_ONLY:
+ setWriteOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_PROPERTIES:
+ getXmlProperties().clear();
+ getXmlProperties().addAll((Collection<? extends EXmlProperty>)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_PATH:
+ setXmlPath((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)null);
+ return;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__CONTAINER_TYPE:
+ setContainerType(CONTAINER_TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__READ_ONLY:
+ setReadOnly(READ_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__WRITE_ONLY:
+ setWriteOnly(WRITE_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_PROPERTIES:
+ getXmlProperties().clear();
+ return;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_PATH:
+ setXmlPath(XML_PATH_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_ACCESS_METHODS:
+ return xmlAccessMethods != null;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__CONTAINER_TYPE:
+ return CONTAINER_TYPE_EDEFAULT == null ? containerType != null : !CONTAINER_TYPE_EDEFAULT.equals(containerType);
+ case OxmPackage.EXML_ANY_ATTRIBUTE__READ_ONLY:
+ return readOnly != READ_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__WRITE_ONLY:
+ return writeOnly != WRITE_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_PROPERTIES:
+ return xmlProperties != null && !xmlProperties.isEmpty();
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_PATH:
+ return XML_PATH_EDEFAULT == null ? xmlPath != null : !XML_PATH_EDEFAULT.equals(xmlPath);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_ACCESS_METHODS: return OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ANY_ATTRIBUTE__CONTAINER_TYPE: return OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ANY_ATTRIBUTE__READ_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY;
+ case OxmPackage.EXML_ANY_ATTRIBUTE__WRITE_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ANY_ATTRIBUTE__XML_PROPERTIES: return OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS: return OxmPackage.EXML_ANY_ATTRIBUTE__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE: return OxmPackage.EXML_ANY_ATTRIBUTE__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY: return OxmPackage.EXML_ANY_ATTRIBUTE__READ_ONLY;
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY: return OxmPackage.EXML_ANY_ATTRIBUTE__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES: return OxmPackage.EXML_ANY_ATTRIBUTE__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (containerType: ");
+ result.append(containerType);
+ result.append(", readOnly: ");
+ result.append(readOnly);
+ result.append(", writeOnly: ");
+ result.append(writeOnly);
+ result.append(", xmlPath: ");
+ result.append(xmlPath);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ***** translators *****
+
+ static class XmlAnyAttributeTranslator
+ extends AbstractJavaAttributeTranslator {
+
+ XmlAnyAttributeTranslator(String domPathAndName, EStructuralFeature eStructuralFeature) {
+ super(domPathAndName, eStructuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ };
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return OxmFactory.eINSTANCE.createEXmlAnyAttribute();
+ }
+ }
+}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAnyElement.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAnyElement.java
new file mode 100644
index 0000000000..e2a61c5938
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAnyElement.java
@@ -0,0 +1,1024 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+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.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Any Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#isXmlMixed <em>Xml Mixed</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#isLax <em>Lax</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#getDomHandler <em>Dom Handler</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#getXmlPath <em>Xml Path</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#getXmlElementRefs <em>Xml Element Refs</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAnyElement()
+ * @model kind="class"
+ * @generated
+ */
+public class EXmlAnyElement extends EJavaAttribute implements EAccessibleJavaAttribute, EAdaptableJavaAttribute, EContainerJavaAttribute, EReadWriteJavaAttribute, EPropertyHolder
+{
+ /**
+ * The cached value of the '{@link #getXmlAccessMethods() <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessMethods()
+ * @generated
+ * @ordered
+ */
+ protected EXmlAccessMethods xmlAccessMethods;
+ /**
+ * The cached value of the '{@link #getXmlJavaTypeAdapter() <em>Xml Java Type Adapter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlJavaTypeAdapter()
+ * @generated
+ * @ordered
+ */
+ protected EXmlJavaTypeAdapter xmlJavaTypeAdapter;
+ /**
+ * The default value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONTAINER_TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected String containerType = CONTAINER_TYPE_EDEFAULT;
+ /**
+ * The default value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean READ_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean readOnly = READ_ONLY_EDEFAULT;
+ /**
+ * The default value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean WRITE_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean writeOnly = WRITE_ONLY_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlProperties() <em>Xml Properties</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlProperty> xmlProperties;
+ /**
+ * The default value of the '{@link #isXmlMixed() <em>Xml Mixed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlMixed()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_MIXED_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlMixed() <em>Xml Mixed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlMixed()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlMixed = XML_MIXED_EDEFAULT;
+ /**
+ * The default value of the '{@link #isLax() <em>Lax</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLax()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean LAX_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isLax() <em>Lax</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLax()
+ * @generated
+ * @ordered
+ */
+ protected boolean lax = LAX_EDEFAULT;
+ /**
+ * The default value of the '{@link #getDomHandler() <em>Dom Handler</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDomHandler()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOM_HANDLER_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getDomHandler() <em>Dom Handler</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDomHandler()
+ * @generated
+ * @ordered
+ */
+ protected String domHandler = DOM_HANDLER_EDEFAULT;
+ /**
+ * The default value of the '{@link #getXmlPath() <em>Xml Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String XML_PATH_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getXmlPath() <em>Xml Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlPath()
+ * @generated
+ * @ordered
+ */
+ protected String xmlPath = XML_PATH_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlElementRefs() <em>Xml Element Refs</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlElementRefs()
+ * @generated
+ * @ordered
+ */
+ protected EXmlElementRefs xmlElementRefs;
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlAnyElement()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_ANY_ELEMENT;
+ }
+
+
+ /**
+ * Returns the value of the '<em><b>Xml Access Methods</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Access Methods</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>Xml Access Methods</em>' containment reference.
+ * @see #setXmlAccessMethods(EXmlAccessMethods)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAccessibleJavaAttribute_XmlAccessMethods()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlAccessMethods getXmlAccessMethods()
+ {
+ return xmlAccessMethods;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods, NotificationChain msgs)
+ {
+ EXmlAccessMethods oldXmlAccessMethods = xmlAccessMethods;
+ xmlAccessMethods = newXmlAccessMethods;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ELEMENT__XML_ACCESS_METHODS, oldXmlAccessMethods, newXmlAccessMethods);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#getXmlAccessMethods <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Access Methods</em>' containment reference.
+ * @see #getXmlAccessMethods()
+ * @generated
+ */
+ public void setXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods)
+ {
+ if (newXmlAccessMethods != xmlAccessMethods)
+ {
+ NotificationChain msgs = null;
+ if (xmlAccessMethods != null)
+ msgs = ((InternalEObject)xmlAccessMethods).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ANY_ELEMENT__XML_ACCESS_METHODS, null, msgs);
+ if (newXmlAccessMethods != null)
+ msgs = ((InternalEObject)newXmlAccessMethods).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ANY_ELEMENT__XML_ACCESS_METHODS, null, msgs);
+ msgs = basicSetXmlAccessMethods(newXmlAccessMethods, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ELEMENT__XML_ACCESS_METHODS, newXmlAccessMethods, newXmlAccessMethods));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Java Type Adapter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Java Type Adapter</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>Xml Java Type Adapter</em>' containment reference.
+ * @see #setXmlJavaTypeAdapter(EXmlJavaTypeAdapter)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAdaptableJavaAttribute_XmlJavaTypeAdapter()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlJavaTypeAdapter getXmlJavaTypeAdapter()
+ {
+ return xmlJavaTypeAdapter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlJavaTypeAdapter(EXmlJavaTypeAdapter newXmlJavaTypeAdapter, NotificationChain msgs)
+ {
+ EXmlJavaTypeAdapter oldXmlJavaTypeAdapter = xmlJavaTypeAdapter;
+ xmlJavaTypeAdapter = newXmlJavaTypeAdapter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ELEMENT__XML_JAVA_TYPE_ADAPTER, oldXmlJavaTypeAdapter, newXmlJavaTypeAdapter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#getXmlJavaTypeAdapter <em>Xml Java Type Adapter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Java Type Adapter</em>' containment reference.
+ * @see #getXmlJavaTypeAdapter()
+ * @generated
+ */
+ public void setXmlJavaTypeAdapter(EXmlJavaTypeAdapter newXmlJavaTypeAdapter)
+ {
+ if (newXmlJavaTypeAdapter != xmlJavaTypeAdapter)
+ {
+ NotificationChain msgs = null;
+ if (xmlJavaTypeAdapter != null)
+ msgs = ((InternalEObject)xmlJavaTypeAdapter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ANY_ELEMENT__XML_JAVA_TYPE_ADAPTER, null, msgs);
+ if (newXmlJavaTypeAdapter != null)
+ msgs = ((InternalEObject)newXmlJavaTypeAdapter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ANY_ELEMENT__XML_JAVA_TYPE_ADAPTER, null, msgs);
+ msgs = basicSetXmlJavaTypeAdapter(newXmlJavaTypeAdapter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ELEMENT__XML_JAVA_TYPE_ADAPTER, newXmlJavaTypeAdapter, newXmlJavaTypeAdapter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Container Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Container 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>Container Type</em>' attribute.
+ * @see #setContainerType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEContainerJavaAttribute_ContainerType()
+ * @model
+ * @generated
+ */
+ public String getContainerType()
+ {
+ return containerType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#getContainerType <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Container Type</em>' attribute.
+ * @see #getContainerType()
+ * @generated
+ */
+ public void setContainerType(String newContainerType)
+ {
+ String oldContainerType = containerType;
+ containerType = newContainerType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ELEMENT__CONTAINER_TYPE, oldContainerType, containerType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Read Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Read Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Read Only</em>' attribute.
+ * @see #setReadOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_ReadOnly()
+ * @model
+ * @generated
+ */
+ public boolean isReadOnly()
+ {
+ return readOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#isReadOnly <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Read Only</em>' attribute.
+ * @see #isReadOnly()
+ * @generated
+ */
+ public void setReadOnly(boolean newReadOnly)
+ {
+ boolean oldReadOnly = readOnly;
+ readOnly = newReadOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ELEMENT__READ_ONLY, oldReadOnly, readOnly));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Write Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Write Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Write Only</em>' attribute.
+ * @see #setWriteOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_WriteOnly()
+ * @model
+ * @generated
+ */
+ public boolean isWriteOnly()
+ {
+ return writeOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#isWriteOnly <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Write Only</em>' attribute.
+ * @see #isWriteOnly()
+ * @generated
+ */
+ public void setWriteOnly(boolean newWriteOnly)
+ {
+ boolean oldWriteOnly = writeOnly;
+ writeOnly = newWriteOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ELEMENT__WRITE_ONLY, oldWriteOnly, writeOnly));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Properties</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>Xml Properties</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEPropertyHolder_XmlProperties()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlProperty> getXmlProperties()
+ {
+ if (xmlProperties == null)
+ {
+ xmlProperties = new EObjectContainmentEList<EXmlProperty>(EXmlProperty.class, this, OxmPackage.EXML_ANY_ELEMENT__XML_PROPERTIES);
+ }
+ return xmlProperties;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Mixed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Mixed</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Mixed</em>' attribute.
+ * @see #setXmlMixed(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAnyElement_XmlMixed()
+ * @model
+ * @generated
+ */
+ public boolean isXmlMixed()
+ {
+ return xmlMixed;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#isXmlMixed <em>Xml Mixed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Mixed</em>' attribute.
+ * @see #isXmlMixed()
+ * @generated
+ */
+ public void setXmlMixed(boolean newXmlMixed)
+ {
+ boolean oldXmlMixed = xmlMixed;
+ xmlMixed = newXmlMixed;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ELEMENT__XML_MIXED, oldXmlMixed, xmlMixed));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Lax</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lax</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lax</em>' attribute.
+ * @see #setLax(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAnyElement_Lax()
+ * @model
+ * @generated
+ */
+ public boolean isLax()
+ {
+ return lax;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#isLax <em>Lax</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lax</em>' attribute.
+ * @see #isLax()
+ * @generated
+ */
+ public void setLax(boolean newLax)
+ {
+ boolean oldLax = lax;
+ lax = newLax;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ELEMENT__LAX, oldLax, lax));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Dom Handler</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Dom Handler</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Dom Handler</em>' attribute.
+ * @see #setDomHandler(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAnyElement_DomHandler()
+ * @model
+ * @generated
+ */
+ public String getDomHandler()
+ {
+ return domHandler;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#getDomHandler <em>Dom Handler</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Dom Handler</em>' attribute.
+ * @see #getDomHandler()
+ * @generated
+ */
+ public void setDomHandler(String newDomHandler)
+ {
+ String oldDomHandler = domHandler;
+ domHandler = newDomHandler;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ELEMENT__DOM_HANDLER, oldDomHandler, domHandler));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Path</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Path</em>' attribute.
+ * @see #setXmlPath(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAnyElement_XmlPath()
+ * @model
+ * @generated
+ */
+ public String getXmlPath()
+ {
+ return xmlPath;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#getXmlPath <em>Xml Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Path</em>' attribute.
+ * @see #getXmlPath()
+ * @generated
+ */
+ public void setXmlPath(String newXmlPath)
+ {
+ String oldXmlPath = xmlPath;
+ xmlPath = newXmlPath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ELEMENT__XML_PATH, oldXmlPath, xmlPath));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Element Refs</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Element Refs</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>Xml Element Refs</em>' containment reference.
+ * @see #setXmlElementRefs(EXmlElementRefs)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAnyElement_XmlElementRefs()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlElementRefs getXmlElementRefs()
+ {
+ return xmlElementRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlElementRefs(EXmlElementRefs newXmlElementRefs, NotificationChain msgs)
+ {
+ EXmlElementRefs oldXmlElementRefs = xmlElementRefs;
+ xmlElementRefs = newXmlElementRefs;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ELEMENT__XML_ELEMENT_REFS, oldXmlElementRefs, newXmlElementRefs);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAnyElement#getXmlElementRefs <em>Xml Element Refs</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Element Refs</em>' containment reference.
+ * @see #getXmlElementRefs()
+ * @generated
+ */
+ public void setXmlElementRefs(EXmlElementRefs newXmlElementRefs)
+ {
+ if (newXmlElementRefs != xmlElementRefs)
+ {
+ NotificationChain msgs = null;
+ if (xmlElementRefs != null)
+ msgs = ((InternalEObject)xmlElementRefs).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ANY_ELEMENT__XML_ELEMENT_REFS, null, msgs);
+ if (newXmlElementRefs != null)
+ msgs = ((InternalEObject)newXmlElementRefs).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ANY_ELEMENT__XML_ELEMENT_REFS, null, msgs);
+ msgs = basicSetXmlElementRefs(newXmlElementRefs, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ANY_ELEMENT__XML_ELEMENT_REFS, newXmlElementRefs, newXmlElementRefs));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ANY_ELEMENT__XML_ACCESS_METHODS:
+ return basicSetXmlAccessMethods(null, msgs);
+ case OxmPackage.EXML_ANY_ELEMENT__XML_JAVA_TYPE_ADAPTER:
+ return basicSetXmlJavaTypeAdapter(null, msgs);
+ case OxmPackage.EXML_ANY_ELEMENT__XML_PROPERTIES:
+ return ((InternalEList<?>)getXmlProperties()).basicRemove(otherEnd, msgs);
+ case OxmPackage.EXML_ANY_ELEMENT__XML_ELEMENT_REFS:
+ return basicSetXmlElementRefs(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ANY_ELEMENT__XML_ACCESS_METHODS:
+ return getXmlAccessMethods();
+ case OxmPackage.EXML_ANY_ELEMENT__XML_JAVA_TYPE_ADAPTER:
+ return getXmlJavaTypeAdapter();
+ case OxmPackage.EXML_ANY_ELEMENT__CONTAINER_TYPE:
+ return getContainerType();
+ case OxmPackage.EXML_ANY_ELEMENT__READ_ONLY:
+ return isReadOnly();
+ case OxmPackage.EXML_ANY_ELEMENT__WRITE_ONLY:
+ return isWriteOnly();
+ case OxmPackage.EXML_ANY_ELEMENT__XML_PROPERTIES:
+ return getXmlProperties();
+ case OxmPackage.EXML_ANY_ELEMENT__XML_MIXED:
+ return isXmlMixed();
+ case OxmPackage.EXML_ANY_ELEMENT__LAX:
+ return isLax();
+ case OxmPackage.EXML_ANY_ELEMENT__DOM_HANDLER:
+ return getDomHandler();
+ case OxmPackage.EXML_ANY_ELEMENT__XML_PATH:
+ return getXmlPath();
+ case OxmPackage.EXML_ANY_ELEMENT__XML_ELEMENT_REFS:
+ return getXmlElementRefs();
+ }
+ 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 OxmPackage.EXML_ANY_ELEMENT__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__XML_JAVA_TYPE_ADAPTER:
+ setXmlJavaTypeAdapter((EXmlJavaTypeAdapter)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__CONTAINER_TYPE:
+ setContainerType((String)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__READ_ONLY:
+ setReadOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__WRITE_ONLY:
+ setWriteOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__XML_PROPERTIES:
+ getXmlProperties().clear();
+ getXmlProperties().addAll((Collection<? extends EXmlProperty>)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__XML_MIXED:
+ setXmlMixed((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__LAX:
+ setLax((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__DOM_HANDLER:
+ setDomHandler((String)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__XML_PATH:
+ setXmlPath((String)newValue);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__XML_ELEMENT_REFS:
+ setXmlElementRefs((EXmlElementRefs)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ANY_ELEMENT__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)null);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__XML_JAVA_TYPE_ADAPTER:
+ setXmlJavaTypeAdapter((EXmlJavaTypeAdapter)null);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__CONTAINER_TYPE:
+ setContainerType(CONTAINER_TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__READ_ONLY:
+ setReadOnly(READ_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__WRITE_ONLY:
+ setWriteOnly(WRITE_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__XML_PROPERTIES:
+ getXmlProperties().clear();
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__XML_MIXED:
+ setXmlMixed(XML_MIXED_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__LAX:
+ setLax(LAX_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__DOM_HANDLER:
+ setDomHandler(DOM_HANDLER_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__XML_PATH:
+ setXmlPath(XML_PATH_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ANY_ELEMENT__XML_ELEMENT_REFS:
+ setXmlElementRefs((EXmlElementRefs)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ANY_ELEMENT__XML_ACCESS_METHODS:
+ return xmlAccessMethods != null;
+ case OxmPackage.EXML_ANY_ELEMENT__XML_JAVA_TYPE_ADAPTER:
+ return xmlJavaTypeAdapter != null;
+ case OxmPackage.EXML_ANY_ELEMENT__CONTAINER_TYPE:
+ return CONTAINER_TYPE_EDEFAULT == null ? containerType != null : !CONTAINER_TYPE_EDEFAULT.equals(containerType);
+ case OxmPackage.EXML_ANY_ELEMENT__READ_ONLY:
+ return readOnly != READ_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ANY_ELEMENT__WRITE_ONLY:
+ return writeOnly != WRITE_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ANY_ELEMENT__XML_PROPERTIES:
+ return xmlProperties != null && !xmlProperties.isEmpty();
+ case OxmPackage.EXML_ANY_ELEMENT__XML_MIXED:
+ return xmlMixed != XML_MIXED_EDEFAULT;
+ case OxmPackage.EXML_ANY_ELEMENT__LAX:
+ return lax != LAX_EDEFAULT;
+ case OxmPackage.EXML_ANY_ELEMENT__DOM_HANDLER:
+ return DOM_HANDLER_EDEFAULT == null ? domHandler != null : !DOM_HANDLER_EDEFAULT.equals(domHandler);
+ case OxmPackage.EXML_ANY_ELEMENT__XML_PATH:
+ return XML_PATH_EDEFAULT == null ? xmlPath != null : !XML_PATH_EDEFAULT.equals(xmlPath);
+ case OxmPackage.EXML_ANY_ELEMENT__XML_ELEMENT_REFS:
+ return xmlElementRefs != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ANY_ELEMENT__XML_ACCESS_METHODS: return OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAdaptableJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ANY_ELEMENT__XML_JAVA_TYPE_ADAPTER: return OxmPackage.EADAPTABLE_JAVA_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ANY_ELEMENT__CONTAINER_TYPE: return OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ANY_ELEMENT__READ_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY;
+ case OxmPackage.EXML_ANY_ELEMENT__WRITE_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ANY_ELEMENT__XML_PROPERTIES: return OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS: return OxmPackage.EXML_ANY_ELEMENT__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAdaptableJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EADAPTABLE_JAVA_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER: return OxmPackage.EXML_ANY_ELEMENT__XML_JAVA_TYPE_ADAPTER;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE: return OxmPackage.EXML_ANY_ELEMENT__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY: return OxmPackage.EXML_ANY_ELEMENT__READ_ONLY;
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY: return OxmPackage.EXML_ANY_ELEMENT__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES: return OxmPackage.EXML_ANY_ELEMENT__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (containerType: ");
+ result.append(containerType);
+ result.append(", readOnly: ");
+ result.append(readOnly);
+ result.append(", writeOnly: ");
+ result.append(writeOnly);
+ result.append(", xmlMixed: ");
+ result.append(xmlMixed);
+ result.append(", lax: ");
+ result.append(lax);
+ result.append(", domHandler: ");
+ result.append(domHandler);
+ result.append(", xmlPath: ");
+ result.append(xmlPath);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ***** translators *****
+
+ static class XmlAnyElementTranslator
+ extends AbstractJavaAttributeTranslator {
+
+ XmlAnyElementTranslator(String domPathAndName, EStructuralFeature eStructuralFeature) {
+ super(domPathAndName, eStructuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ };
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return OxmFactory.eINSTANCE.createEXmlAnyElement();
+ }
+ }
+}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAttribute.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAttribute.java
new file mode 100644
index 0000000000..c3b282095c
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlAttribute.java
@@ -0,0 +1,1651 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+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.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isRequired <em>Required</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isXmlId <em>Xml Id</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isXmlIdRef <em>Xml Id Ref</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isXmlKey <em>Xml Key</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isXmlList <em>Xml List</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isXmlInlineBinaryData <em>Xml Inline Binary Data</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isXmlAttachmentRef <em>Xml Attachment Ref</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getXmlMimeType <em>Xml Mime Type</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getXmlPath <em>Xml Path</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getXmlAbstractNullPolicy <em>Xml Abstract Null Policy</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getXmlSchemaType <em>Xml Schema Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute()
+ * @model kind="class"
+ * @generated
+ */
+public class EXmlAttribute extends EJavaAttribute implements EAccessibleJavaAttribute, EAdaptableJavaAttribute, EContainerJavaAttribute, EReadWriteJavaAttribute, ETypedJavaAttribute, EPropertyHolder
+{
+ /**
+ * The cached value of the '{@link #getXmlAccessMethods() <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessMethods()
+ * @generated
+ * @ordered
+ */
+ protected EXmlAccessMethods xmlAccessMethods;
+ /**
+ * The cached value of the '{@link #getXmlJavaTypeAdapter() <em>Xml Java Type Adapter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlJavaTypeAdapter()
+ * @generated
+ * @ordered
+ */
+ protected EXmlJavaTypeAdapter xmlJavaTypeAdapter;
+ /**
+ * The default value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONTAINER_TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected String containerType = CONTAINER_TYPE_EDEFAULT;
+ /**
+ * The default value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean READ_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean readOnly = READ_ONLY_EDEFAULT;
+ /**
+ * The default value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean WRITE_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean writeOnly = WRITE_ONLY_EDEFAULT;
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlProperties() <em>Xml Properties</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlProperty> xmlProperties;
+ /**
+ * 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 #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAMESPACE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected String namespace = NAMESPACE_EDEFAULT;
+ /**
+ * The default value of the '{@link #isRequired() <em>Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRequired()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean REQUIRED_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isRequired() <em>Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRequired()
+ * @generated
+ * @ordered
+ */
+ protected boolean required = REQUIRED_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlId() <em>Xml Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlId()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_ID_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlId() <em>Xml Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlId()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlId = XML_ID_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlIdRef() <em>Xml Id Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlIdRef()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_ID_REF_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlIdRef() <em>Xml Id Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlIdRef()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlIdRef = XML_ID_REF_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlKey() <em>Xml Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlKey()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_KEY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlKey() <em>Xml Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlKey()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlKey = XML_KEY_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlList() <em>Xml List</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlList()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_LIST_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlList() <em>Xml List</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlList()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlList = XML_LIST_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlInlineBinaryData() <em>Xml Inline Binary Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlInlineBinaryData()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_INLINE_BINARY_DATA_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlInlineBinaryData() <em>Xml Inline Binary Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlInlineBinaryData()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlInlineBinaryData = XML_INLINE_BINARY_DATA_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlAttachmentRef() <em>Xml Attachment Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlAttachmentRef()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_ATTACHMENT_REF_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlAttachmentRef() <em>Xml Attachment Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlAttachmentRef()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlAttachmentRef = XML_ATTACHMENT_REF_EDEFAULT;
+ /**
+ * The default value of the '{@link #getXmlMimeType() <em>Xml Mime Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlMimeType()
+ * @generated
+ * @ordered
+ */
+ protected static final String XML_MIME_TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getXmlMimeType() <em>Xml Mime Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlMimeType()
+ * @generated
+ * @ordered
+ */
+ protected String xmlMimeType = XML_MIME_TYPE_EDEFAULT;
+ /**
+ * The default value of the '{@link #getXmlPath() <em>Xml Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String XML_PATH_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getXmlPath() <em>Xml Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlPath()
+ * @generated
+ * @ordered
+ */
+ protected String xmlPath = XML_PATH_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlAbstractNullPolicy() <em>Xml Abstract Null Policy</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAbstractNullPolicy()
+ * @generated
+ * @ordered
+ */
+ protected EAbstractXmlNullPolicy xmlAbstractNullPolicy;
+
+ /**
+ * The cached value of the '{@link #getXmlSchemaType() <em>Xml Schema Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlSchemaType()
+ * @generated
+ * @ordered
+ */
+ protected EXmlSchemaType xmlSchemaType;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlAttribute()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_ATTRIBUTE;
+ }
+
+
+ /**
+ * Returns the value of the '<em><b>Xml Access Methods</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Access Methods</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>Xml Access Methods</em>' containment reference.
+ * @see #setXmlAccessMethods(EXmlAccessMethods)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAccessibleJavaAttribute_XmlAccessMethods()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlAccessMethods getXmlAccessMethods()
+ {
+ return xmlAccessMethods;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods, NotificationChain msgs)
+ {
+ EXmlAccessMethods oldXmlAccessMethods = xmlAccessMethods;
+ xmlAccessMethods = newXmlAccessMethods;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_ACCESS_METHODS, oldXmlAccessMethods, newXmlAccessMethods);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getXmlAccessMethods <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Access Methods</em>' containment reference.
+ * @see #getXmlAccessMethods()
+ * @generated
+ */
+ public void setXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods)
+ {
+ if (newXmlAccessMethods != xmlAccessMethods)
+ {
+ NotificationChain msgs = null;
+ if (xmlAccessMethods != null)
+ msgs = ((InternalEObject)xmlAccessMethods).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ATTRIBUTE__XML_ACCESS_METHODS, null, msgs);
+ if (newXmlAccessMethods != null)
+ msgs = ((InternalEObject)newXmlAccessMethods).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ATTRIBUTE__XML_ACCESS_METHODS, null, msgs);
+ msgs = basicSetXmlAccessMethods(newXmlAccessMethods, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_ACCESS_METHODS, newXmlAccessMethods, newXmlAccessMethods));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Java Type Adapter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Java Type Adapter</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>Xml Java Type Adapter</em>' containment reference.
+ * @see #setXmlJavaTypeAdapter(EXmlJavaTypeAdapter)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAdaptableJavaAttribute_XmlJavaTypeAdapter()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlJavaTypeAdapter getXmlJavaTypeAdapter()
+ {
+ return xmlJavaTypeAdapter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlJavaTypeAdapter(EXmlJavaTypeAdapter newXmlJavaTypeAdapter, NotificationChain msgs)
+ {
+ EXmlJavaTypeAdapter oldXmlJavaTypeAdapter = xmlJavaTypeAdapter;
+ xmlJavaTypeAdapter = newXmlJavaTypeAdapter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER, oldXmlJavaTypeAdapter, newXmlJavaTypeAdapter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getXmlJavaTypeAdapter <em>Xml Java Type Adapter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Java Type Adapter</em>' containment reference.
+ * @see #getXmlJavaTypeAdapter()
+ * @generated
+ */
+ public void setXmlJavaTypeAdapter(EXmlJavaTypeAdapter newXmlJavaTypeAdapter)
+ {
+ if (newXmlJavaTypeAdapter != xmlJavaTypeAdapter)
+ {
+ NotificationChain msgs = null;
+ if (xmlJavaTypeAdapter != null)
+ msgs = ((InternalEObject)xmlJavaTypeAdapter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER, null, msgs);
+ if (newXmlJavaTypeAdapter != null)
+ msgs = ((InternalEObject)newXmlJavaTypeAdapter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER, null, msgs);
+ msgs = basicSetXmlJavaTypeAdapter(newXmlJavaTypeAdapter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER, newXmlJavaTypeAdapter, newXmlJavaTypeAdapter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Container Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Container 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>Container Type</em>' attribute.
+ * @see #setContainerType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEContainerJavaAttribute_ContainerType()
+ * @model
+ * @generated
+ */
+ public String getContainerType()
+ {
+ return containerType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getContainerType <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Container Type</em>' attribute.
+ * @see #getContainerType()
+ * @generated
+ */
+ public void setContainerType(String newContainerType)
+ {
+ String oldContainerType = containerType;
+ containerType = newContainerType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__CONTAINER_TYPE, oldContainerType, containerType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Read Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Read Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Read Only</em>' attribute.
+ * @see #setReadOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_ReadOnly()
+ * @model
+ * @generated
+ */
+ public boolean isReadOnly()
+ {
+ return readOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isReadOnly <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Read Only</em>' attribute.
+ * @see #isReadOnly()
+ * @generated
+ */
+ public void setReadOnly(boolean newReadOnly)
+ {
+ boolean oldReadOnly = readOnly;
+ readOnly = newReadOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__READ_ONLY, oldReadOnly, readOnly));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Write Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Write Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Write Only</em>' attribute.
+ * @see #setWriteOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_WriteOnly()
+ * @model
+ * @generated
+ */
+ public boolean isWriteOnly()
+ {
+ return writeOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isWriteOnly <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Write Only</em>' attribute.
+ * @see #isWriteOnly()
+ * @generated
+ */
+ public void setWriteOnly(boolean newWriteOnly)
+ {
+ boolean oldWriteOnly = writeOnly;
+ writeOnly = newWriteOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__WRITE_ONLY, oldWriteOnly, writeOnly));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getETypedJavaAttribute_Type()
+ * @model
+ * @generated
+ */
+ public String getType()
+ {
+ return type;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ public void setType(String newType)
+ {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__TYPE, oldType, type));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Properties</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>Xml Properties</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEPropertyHolder_XmlProperties()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlProperty> getXmlProperties()
+ {
+ if (xmlProperties == null)
+ {
+ xmlProperties = new EObjectContainmentEList<EXmlProperty>(EXmlProperty.class, this, OxmPackage.EXML_ATTRIBUTE__XML_PROPERTIES);
+ }
+ return xmlProperties;
+ }
+
+ /**
+ * 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.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute_Name()
+ * @model
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#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, OxmPackage.EXML_ATTRIBUTE__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Namespace</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Namespace</em>' attribute.
+ * @see #setNamespace(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute_Namespace()
+ * @model
+ * @generated
+ */
+ public String getNamespace()
+ {
+ return namespace;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getNamespace <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Namespace</em>' attribute.
+ * @see #getNamespace()
+ * @generated
+ */
+ public void setNamespace(String newNamespace)
+ {
+ String oldNamespace = namespace;
+ namespace = newNamespace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__NAMESPACE, oldNamespace, namespace));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Required</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Required</em>' attribute.
+ * @see #setRequired(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute_Required()
+ * @model
+ * @generated
+ */
+ public boolean isRequired()
+ {
+ return required;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isRequired <em>Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Required</em>' attribute.
+ * @see #isRequired()
+ * @generated
+ */
+ public void setRequired(boolean newRequired)
+ {
+ boolean oldRequired = required;
+ required = newRequired;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__REQUIRED, oldRequired, required));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Id</em>' attribute.
+ * @see #setXmlId(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute_XmlId()
+ * @model
+ * @generated
+ */
+ public boolean isXmlId()
+ {
+ return xmlId;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isXmlId <em>Xml Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Id</em>' attribute.
+ * @see #isXmlId()
+ * @generated
+ */
+ public void setXmlId(boolean newXmlId)
+ {
+ boolean oldXmlId = xmlId;
+ xmlId = newXmlId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_ID, oldXmlId, xmlId));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Id Ref</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Id Ref</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Id Ref</em>' attribute.
+ * @see #setXmlIdRef(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute_XmlIdRef()
+ * @model
+ * @generated
+ */
+ public boolean isXmlIdRef()
+ {
+ return xmlIdRef;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isXmlIdRef <em>Xml Id Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Id Ref</em>' attribute.
+ * @see #isXmlIdRef()
+ * @generated
+ */
+ public void setXmlIdRef(boolean newXmlIdRef)
+ {
+ boolean oldXmlIdRef = xmlIdRef;
+ xmlIdRef = newXmlIdRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_ID_REF, oldXmlIdRef, xmlIdRef));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Key</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Key</em>' attribute.
+ * @see #setXmlKey(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute_XmlKey()
+ * @model
+ * @generated
+ */
+ public boolean isXmlKey()
+ {
+ return xmlKey;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isXmlKey <em>Xml Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Key</em>' attribute.
+ * @see #isXmlKey()
+ * @generated
+ */
+ public void setXmlKey(boolean newXmlKey)
+ {
+ boolean oldXmlKey = xmlKey;
+ xmlKey = newXmlKey;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_KEY, oldXmlKey, xmlKey));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml List</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml List</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml List</em>' attribute.
+ * @see #setXmlList(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute_XmlList()
+ * @model
+ * @generated
+ */
+ public boolean isXmlList()
+ {
+ return xmlList;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isXmlList <em>Xml List</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml List</em>' attribute.
+ * @see #isXmlList()
+ * @generated
+ */
+ public void setXmlList(boolean newXmlList)
+ {
+ boolean oldXmlList = xmlList;
+ xmlList = newXmlList;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_LIST, oldXmlList, xmlList));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Inline Binary Data</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Inline Binary Data</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Inline Binary Data</em>' attribute.
+ * @see #setXmlInlineBinaryData(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute_XmlInlineBinaryData()
+ * @model
+ * @generated
+ */
+ public boolean isXmlInlineBinaryData()
+ {
+ return xmlInlineBinaryData;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isXmlInlineBinaryData <em>Xml Inline Binary Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Inline Binary Data</em>' attribute.
+ * @see #isXmlInlineBinaryData()
+ * @generated
+ */
+ public void setXmlInlineBinaryData(boolean newXmlInlineBinaryData)
+ {
+ boolean oldXmlInlineBinaryData = xmlInlineBinaryData;
+ xmlInlineBinaryData = newXmlInlineBinaryData;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_INLINE_BINARY_DATA, oldXmlInlineBinaryData, xmlInlineBinaryData));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Attachment Ref</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Attachment Ref</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Attachment Ref</em>' attribute.
+ * @see #setXmlAttachmentRef(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute_XmlAttachmentRef()
+ * @model
+ * @generated
+ */
+ public boolean isXmlAttachmentRef()
+ {
+ return xmlAttachmentRef;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#isXmlAttachmentRef <em>Xml Attachment Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Attachment Ref</em>' attribute.
+ * @see #isXmlAttachmentRef()
+ * @generated
+ */
+ public void setXmlAttachmentRef(boolean newXmlAttachmentRef)
+ {
+ boolean oldXmlAttachmentRef = xmlAttachmentRef;
+ xmlAttachmentRef = newXmlAttachmentRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_ATTACHMENT_REF, oldXmlAttachmentRef, xmlAttachmentRef));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Mime Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Mime 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>Xml Mime Type</em>' attribute.
+ * @see #setXmlMimeType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute_XmlMimeType()
+ * @model
+ * @generated
+ */
+ public String getXmlMimeType()
+ {
+ return xmlMimeType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getXmlMimeType <em>Xml Mime Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Mime Type</em>' attribute.
+ * @see #getXmlMimeType()
+ * @generated
+ */
+ public void setXmlMimeType(String newXmlMimeType)
+ {
+ String oldXmlMimeType = xmlMimeType;
+ xmlMimeType = newXmlMimeType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_MIME_TYPE, oldXmlMimeType, xmlMimeType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Path</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Path</em>' attribute.
+ * @see #setXmlPath(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute_XmlPath()
+ * @model
+ * @generated
+ */
+ public String getXmlPath()
+ {
+ return xmlPath;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getXmlPath <em>Xml Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Path</em>' attribute.
+ * @see #getXmlPath()
+ * @generated
+ */
+ public void setXmlPath(String newXmlPath)
+ {
+ String oldXmlPath = xmlPath;
+ xmlPath = newXmlPath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_PATH, oldXmlPath, xmlPath));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Abstract Null Policy</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Abstract Null Policy</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>Xml Abstract Null Policy</em>' containment reference.
+ * @see #setXmlAbstractNullPolicy(EAbstractXmlNullPolicy)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute_XmlAbstractNullPolicy()
+ * @model containment="true"
+ * @generated
+ */
+ public EAbstractXmlNullPolicy getXmlAbstractNullPolicy()
+ {
+ return xmlAbstractNullPolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlAbstractNullPolicy(EAbstractXmlNullPolicy newXmlAbstractNullPolicy, NotificationChain msgs)
+ {
+ EAbstractXmlNullPolicy oldXmlAbstractNullPolicy = xmlAbstractNullPolicy;
+ xmlAbstractNullPolicy = newXmlAbstractNullPolicy;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_ABSTRACT_NULL_POLICY, oldXmlAbstractNullPolicy, newXmlAbstractNullPolicy);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getXmlAbstractNullPolicy <em>Xml Abstract Null Policy</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Abstract Null Policy</em>' containment reference.
+ * @see #getXmlAbstractNullPolicy()
+ * @generated
+ */
+ public void setXmlAbstractNullPolicy(EAbstractXmlNullPolicy newXmlAbstractNullPolicy)
+ {
+ if (newXmlAbstractNullPolicy != xmlAbstractNullPolicy)
+ {
+ NotificationChain msgs = null;
+ if (xmlAbstractNullPolicy != null)
+ msgs = ((InternalEObject)xmlAbstractNullPolicy).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ATTRIBUTE__XML_ABSTRACT_NULL_POLICY, null, msgs);
+ if (newXmlAbstractNullPolicy != null)
+ msgs = ((InternalEObject)newXmlAbstractNullPolicy).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ATTRIBUTE__XML_ABSTRACT_NULL_POLICY, null, msgs);
+ msgs = basicSetXmlAbstractNullPolicy(newXmlAbstractNullPolicy, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_ABSTRACT_NULL_POLICY, newXmlAbstractNullPolicy, newXmlAbstractNullPolicy));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Schema Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Schema Type</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>Xml Schema Type</em>' containment reference.
+ * @see #setXmlSchemaType(EXmlSchemaType)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlAttribute_XmlSchemaType()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlSchemaType getXmlSchemaType()
+ {
+ return xmlSchemaType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlSchemaType(EXmlSchemaType newXmlSchemaType, NotificationChain msgs)
+ {
+ EXmlSchemaType oldXmlSchemaType = xmlSchemaType;
+ xmlSchemaType = newXmlSchemaType;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_SCHEMA_TYPE, oldXmlSchemaType, newXmlSchemaType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAttribute#getXmlSchemaType <em>Xml Schema Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Schema Type</em>' containment reference.
+ * @see #getXmlSchemaType()
+ * @generated
+ */
+ public void setXmlSchemaType(EXmlSchemaType newXmlSchemaType)
+ {
+ if (newXmlSchemaType != xmlSchemaType)
+ {
+ NotificationChain msgs = null;
+ if (xmlSchemaType != null)
+ msgs = ((InternalEObject)xmlSchemaType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ATTRIBUTE__XML_SCHEMA_TYPE, null, msgs);
+ if (newXmlSchemaType != null)
+ msgs = ((InternalEObject)newXmlSchemaType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ATTRIBUTE__XML_SCHEMA_TYPE, null, msgs);
+ msgs = basicSetXmlSchemaType(newXmlSchemaType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ATTRIBUTE__XML_SCHEMA_TYPE, newXmlSchemaType, newXmlSchemaType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ATTRIBUTE__XML_ACCESS_METHODS:
+ return basicSetXmlAccessMethods(null, msgs);
+ case OxmPackage.EXML_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER:
+ return basicSetXmlJavaTypeAdapter(null, msgs);
+ case OxmPackage.EXML_ATTRIBUTE__XML_PROPERTIES:
+ return ((InternalEList<?>)getXmlProperties()).basicRemove(otherEnd, msgs);
+ case OxmPackage.EXML_ATTRIBUTE__XML_ABSTRACT_NULL_POLICY:
+ return basicSetXmlAbstractNullPolicy(null, msgs);
+ case OxmPackage.EXML_ATTRIBUTE__XML_SCHEMA_TYPE:
+ return basicSetXmlSchemaType(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ATTRIBUTE__XML_ACCESS_METHODS:
+ return getXmlAccessMethods();
+ case OxmPackage.EXML_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER:
+ return getXmlJavaTypeAdapter();
+ case OxmPackage.EXML_ATTRIBUTE__CONTAINER_TYPE:
+ return getContainerType();
+ case OxmPackage.EXML_ATTRIBUTE__READ_ONLY:
+ return isReadOnly();
+ case OxmPackage.EXML_ATTRIBUTE__WRITE_ONLY:
+ return isWriteOnly();
+ case OxmPackage.EXML_ATTRIBUTE__TYPE:
+ return getType();
+ case OxmPackage.EXML_ATTRIBUTE__XML_PROPERTIES:
+ return getXmlProperties();
+ case OxmPackage.EXML_ATTRIBUTE__NAME:
+ return getName();
+ case OxmPackage.EXML_ATTRIBUTE__NAMESPACE:
+ return getNamespace();
+ case OxmPackage.EXML_ATTRIBUTE__REQUIRED:
+ return isRequired();
+ case OxmPackage.EXML_ATTRIBUTE__XML_ID:
+ return isXmlId();
+ case OxmPackage.EXML_ATTRIBUTE__XML_ID_REF:
+ return isXmlIdRef();
+ case OxmPackage.EXML_ATTRIBUTE__XML_KEY:
+ return isXmlKey();
+ case OxmPackage.EXML_ATTRIBUTE__XML_LIST:
+ return isXmlList();
+ case OxmPackage.EXML_ATTRIBUTE__XML_INLINE_BINARY_DATA:
+ return isXmlInlineBinaryData();
+ case OxmPackage.EXML_ATTRIBUTE__XML_ATTACHMENT_REF:
+ return isXmlAttachmentRef();
+ case OxmPackage.EXML_ATTRIBUTE__XML_MIME_TYPE:
+ return getXmlMimeType();
+ case OxmPackage.EXML_ATTRIBUTE__XML_PATH:
+ return getXmlPath();
+ case OxmPackage.EXML_ATTRIBUTE__XML_ABSTRACT_NULL_POLICY:
+ return getXmlAbstractNullPolicy();
+ case OxmPackage.EXML_ATTRIBUTE__XML_SCHEMA_TYPE:
+ return getXmlSchemaType();
+ }
+ 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 OxmPackage.EXML_ATTRIBUTE__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER:
+ setXmlJavaTypeAdapter((EXmlJavaTypeAdapter)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__CONTAINER_TYPE:
+ setContainerType((String)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__READ_ONLY:
+ setReadOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__WRITE_ONLY:
+ setWriteOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__TYPE:
+ setType((String)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_PROPERTIES:
+ getXmlProperties().clear();
+ getXmlProperties().addAll((Collection<? extends EXmlProperty>)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__NAME:
+ setName((String)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__NAMESPACE:
+ setNamespace((String)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__REQUIRED:
+ setRequired((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_ID:
+ setXmlId((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_ID_REF:
+ setXmlIdRef((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_KEY:
+ setXmlKey((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_LIST:
+ setXmlList((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_INLINE_BINARY_DATA:
+ setXmlInlineBinaryData((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_ATTACHMENT_REF:
+ setXmlAttachmentRef((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_MIME_TYPE:
+ setXmlMimeType((String)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_PATH:
+ setXmlPath((String)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_ABSTRACT_NULL_POLICY:
+ setXmlAbstractNullPolicy((EAbstractXmlNullPolicy)newValue);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_SCHEMA_TYPE:
+ setXmlSchemaType((EXmlSchemaType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ATTRIBUTE__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)null);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER:
+ setXmlJavaTypeAdapter((EXmlJavaTypeAdapter)null);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__CONTAINER_TYPE:
+ setContainerType(CONTAINER_TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__READ_ONLY:
+ setReadOnly(READ_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__WRITE_ONLY:
+ setWriteOnly(WRITE_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_PROPERTIES:
+ getXmlProperties().clear();
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__NAMESPACE:
+ setNamespace(NAMESPACE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__REQUIRED:
+ setRequired(REQUIRED_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_ID:
+ setXmlId(XML_ID_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_ID_REF:
+ setXmlIdRef(XML_ID_REF_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_KEY:
+ setXmlKey(XML_KEY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_LIST:
+ setXmlList(XML_LIST_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_INLINE_BINARY_DATA:
+ setXmlInlineBinaryData(XML_INLINE_BINARY_DATA_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_ATTACHMENT_REF:
+ setXmlAttachmentRef(XML_ATTACHMENT_REF_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_MIME_TYPE:
+ setXmlMimeType(XML_MIME_TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_PATH:
+ setXmlPath(XML_PATH_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_ABSTRACT_NULL_POLICY:
+ setXmlAbstractNullPolicy((EAbstractXmlNullPolicy)null);
+ return;
+ case OxmPackage.EXML_ATTRIBUTE__XML_SCHEMA_TYPE:
+ setXmlSchemaType((EXmlSchemaType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ATTRIBUTE__XML_ACCESS_METHODS:
+ return xmlAccessMethods != null;
+ case OxmPackage.EXML_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER:
+ return xmlJavaTypeAdapter != null;
+ case OxmPackage.EXML_ATTRIBUTE__CONTAINER_TYPE:
+ return CONTAINER_TYPE_EDEFAULT == null ? containerType != null : !CONTAINER_TYPE_EDEFAULT.equals(containerType);
+ case OxmPackage.EXML_ATTRIBUTE__READ_ONLY:
+ return readOnly != READ_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ATTRIBUTE__WRITE_ONLY:
+ return writeOnly != WRITE_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ATTRIBUTE__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ case OxmPackage.EXML_ATTRIBUTE__XML_PROPERTIES:
+ return xmlProperties != null && !xmlProperties.isEmpty();
+ case OxmPackage.EXML_ATTRIBUTE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OxmPackage.EXML_ATTRIBUTE__NAMESPACE:
+ return NAMESPACE_EDEFAULT == null ? namespace != null : !NAMESPACE_EDEFAULT.equals(namespace);
+ case OxmPackage.EXML_ATTRIBUTE__REQUIRED:
+ return required != REQUIRED_EDEFAULT;
+ case OxmPackage.EXML_ATTRIBUTE__XML_ID:
+ return xmlId != XML_ID_EDEFAULT;
+ case OxmPackage.EXML_ATTRIBUTE__XML_ID_REF:
+ return xmlIdRef != XML_ID_REF_EDEFAULT;
+ case OxmPackage.EXML_ATTRIBUTE__XML_KEY:
+ return xmlKey != XML_KEY_EDEFAULT;
+ case OxmPackage.EXML_ATTRIBUTE__XML_LIST:
+ return xmlList != XML_LIST_EDEFAULT;
+ case OxmPackage.EXML_ATTRIBUTE__XML_INLINE_BINARY_DATA:
+ return xmlInlineBinaryData != XML_INLINE_BINARY_DATA_EDEFAULT;
+ case OxmPackage.EXML_ATTRIBUTE__XML_ATTACHMENT_REF:
+ return xmlAttachmentRef != XML_ATTACHMENT_REF_EDEFAULT;
+ case OxmPackage.EXML_ATTRIBUTE__XML_MIME_TYPE:
+ return XML_MIME_TYPE_EDEFAULT == null ? xmlMimeType != null : !XML_MIME_TYPE_EDEFAULT.equals(xmlMimeType);
+ case OxmPackage.EXML_ATTRIBUTE__XML_PATH:
+ return XML_PATH_EDEFAULT == null ? xmlPath != null : !XML_PATH_EDEFAULT.equals(xmlPath);
+ case OxmPackage.EXML_ATTRIBUTE__XML_ABSTRACT_NULL_POLICY:
+ return xmlAbstractNullPolicy != null;
+ case OxmPackage.EXML_ATTRIBUTE__XML_SCHEMA_TYPE:
+ return xmlSchemaType != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ATTRIBUTE__XML_ACCESS_METHODS: return OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAdaptableJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER: return OxmPackage.EADAPTABLE_JAVA_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ATTRIBUTE__CONTAINER_TYPE: return OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ATTRIBUTE__READ_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY;
+ case OxmPackage.EXML_ATTRIBUTE__WRITE_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ if (baseClass == ETypedJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ATTRIBUTE__TYPE: return OxmPackage.ETYPED_JAVA_ATTRIBUTE__TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ATTRIBUTE__XML_PROPERTIES: return OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS: return OxmPackage.EXML_ATTRIBUTE__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAdaptableJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EADAPTABLE_JAVA_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER: return OxmPackage.EXML_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE: return OxmPackage.EXML_ATTRIBUTE__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY: return OxmPackage.EXML_ATTRIBUTE__READ_ONLY;
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY: return OxmPackage.EXML_ATTRIBUTE__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ if (baseClass == ETypedJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.ETYPED_JAVA_ATTRIBUTE__TYPE: return OxmPackage.EXML_ATTRIBUTE__TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES: return OxmPackage.EXML_ATTRIBUTE__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (containerType: ");
+ result.append(containerType);
+ result.append(", readOnly: ");
+ result.append(readOnly);
+ result.append(", writeOnly: ");
+ result.append(writeOnly);
+ result.append(", type: ");
+ result.append(type);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", namespace: ");
+ result.append(namespace);
+ result.append(", required: ");
+ result.append(required);
+ result.append(", xmlId: ");
+ result.append(xmlId);
+ result.append(", xmlIdRef: ");
+ result.append(xmlIdRef);
+ result.append(", xmlKey: ");
+ result.append(xmlKey);
+ result.append(", xmlList: ");
+ result.append(xmlList);
+ result.append(", xmlInlineBinaryData: ");
+ result.append(xmlInlineBinaryData);
+ result.append(", xmlAttachmentRef: ");
+ result.append(xmlAttachmentRef);
+ result.append(", xmlMimeType: ");
+ result.append(xmlMimeType);
+ result.append(", xmlPath: ");
+ result.append(xmlPath);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ***** translators *****
+
+ static class XmlAttributeTranslator
+ extends AbstractJavaAttributeTranslator {
+
+ XmlAttributeTranslator(String domPathAndName, EStructuralFeature eStructuralFeature) {
+ super(domPathAndName, eStructuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ new EAbstractXmlNullPolicy.AbstractXmlNullPolicyTranslator()
+ };
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return OxmFactory.eINSTANCE.createEXmlAttribute();
+ }
+ }
+}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlBindings.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlBindings.java
new file mode 100644
index 0000000000..4a9bdbbf61
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlBindings.java
@@ -0,0 +1,969 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import java.util.HashMap;
+import org.eclipse.core.runtime.content.IContentType;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleRootTranslator;
+import org.eclipse.jpt.common.core.resource.xml.ERootObjectImpl;
+import org.eclipse.jpt.jaxb.eclipselink.core.internal.plugin.JptJaxbEclipseLinkCorePlugin;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Bindings</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlAccessorType <em>Xml Accessor Type</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlAccessorOrder <em>Xml Accessor Order</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#isXmlMappingMetadataComplete <em>Xml Mapping Metadata Complete</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getPackageName <em>Package Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlNameTransformer <em>Xml Name Transformer</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlSchema <em>Xml Schema</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlSchemaType <em>Xml Schema Type</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlSchemaTypes <em>Xml Schema Types</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlJavaTypeAdapters <em>Xml Java Type Adapters</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlRegistries <em>Xml Registries</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlEnums <em>Xml Enums</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getJavaTypes <em>Java Types</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings()
+ * @model kind="class"
+ * @generated
+ */
+public class EXmlBindings extends ERootObjectImpl
+{
+ /**
+ * The default value of the '{@link #getXmlAccessorType() <em>Xml Accessor Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessorType()
+ * @generated
+ * @ordered
+ */
+ protected static final EXmlAccessType XML_ACCESSOR_TYPE_EDEFAULT = EXmlAccessType.FIELD;
+
+
+ /**
+ * The cached value of the '{@link #getXmlAccessorType() <em>Xml Accessor Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessorType()
+ * @generated
+ * @ordered
+ */
+ protected EXmlAccessType xmlAccessorType = XML_ACCESSOR_TYPE_EDEFAULT;
+
+
+ /**
+ * The default value of the '{@link #getXmlAccessorOrder() <em>Xml Accessor Order</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessorOrder()
+ * @generated
+ * @ordered
+ */
+ protected static final EXmlAccessOrder XML_ACCESSOR_ORDER_EDEFAULT = EXmlAccessOrder.ALPHABETICAL;
+
+
+ /**
+ * The cached value of the '{@link #getXmlAccessorOrder() <em>Xml Accessor Order</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessorOrder()
+ * @generated
+ * @ordered
+ */
+ protected EXmlAccessOrder xmlAccessorOrder = XML_ACCESSOR_ORDER_EDEFAULT;
+
+
+ /**
+ * The default value of the '{@link #isXmlMappingMetadataComplete() <em>Xml Mapping Metadata Complete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlMappingMetadataComplete()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_MAPPING_METADATA_COMPLETE_EDEFAULT = false;
+
+
+ /**
+ * The cached value of the '{@link #isXmlMappingMetadataComplete() <em>Xml Mapping Metadata Complete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlMappingMetadataComplete()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlMappingMetadataComplete = XML_MAPPING_METADATA_COMPLETE_EDEFAULT;
+
+
+ /**
+ * The default value of the '{@link #getPackageName() <em>Package Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPackageName()
+ * @generated
+ * @ordered
+ */
+ protected static final String PACKAGE_NAME_EDEFAULT = null;
+
+
+ /**
+ * The cached value of the '{@link #getPackageName() <em>Package Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPackageName()
+ * @generated
+ * @ordered
+ */
+ protected String packageName = PACKAGE_NAME_EDEFAULT;
+
+
+ /**
+ * The default value of the '{@link #getXmlNameTransformer() <em>Xml Name Transformer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlNameTransformer()
+ * @generated
+ * @ordered
+ */
+ protected static final String XML_NAME_TRANSFORMER_EDEFAULT = null;
+
+
+ /**
+ * The cached value of the '{@link #getXmlNameTransformer() <em>Xml Name Transformer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlNameTransformer()
+ * @generated
+ * @ordered
+ */
+ protected String xmlNameTransformer = XML_NAME_TRANSFORMER_EDEFAULT;
+
+
+ /**
+ * The cached value of the '{@link #getXmlSchema() <em>Xml Schema</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlSchema()
+ * @generated
+ * @ordered
+ */
+ protected EXmlSchema xmlSchema;
+
+
+ /**
+ * The cached value of the '{@link #getXmlSchemaType() <em>Xml Schema Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlSchemaType()
+ * @generated
+ * @ordered
+ */
+ protected EXmlSchemaType xmlSchemaType;
+
+
+ /**
+ * The cached value of the '{@link #getXmlSchemaTypes() <em>Xml Schema Types</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlSchemaTypes()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlSchemaType> xmlSchemaTypes;
+
+
+ /**
+ * The cached value of the '{@link #getXmlJavaTypeAdapters() <em>Xml Java Type Adapters</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlJavaTypeAdapters()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlJavaTypeAdapter> xmlJavaTypeAdapters;
+
+
+ /**
+ * The cached value of the '{@link #getXmlRegistries() <em>Xml Registries</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlRegistries()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlRegistry> xmlRegistries;
+
+
+ /**
+ * The cached value of the '{@link #getXmlEnums() <em>Xml Enums</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlEnums()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlEnum> xmlEnums;
+
+
+ /**
+ * The cached value of the '{@link #getJavaTypes() <em>Java Types</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJavaTypes()
+ * @generated
+ * @ordered
+ */
+ protected EList<EJavaType> javaTypes;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlBindings()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_BINDINGS;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Accessor Type</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Accessor 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>Xml Accessor Type</em>' attribute.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessType
+ * @see #setXmlAccessorType(EXmlAccessType)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlAccessorType()
+ * @model
+ * @generated
+ */
+ public EXmlAccessType getXmlAccessorType()
+ {
+ return xmlAccessorType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlAccessorType <em>Xml Accessor Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Accessor Type</em>' attribute.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessType
+ * @see #getXmlAccessorType()
+ * @generated
+ */
+ public void setXmlAccessorType(EXmlAccessType newXmlAccessorType)
+ {
+ EXmlAccessType oldXmlAccessorType = xmlAccessorType;
+ xmlAccessorType = newXmlAccessorType == null ? XML_ACCESSOR_TYPE_EDEFAULT : newXmlAccessorType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_ACCESSOR_TYPE, oldXmlAccessorType, xmlAccessorType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Accessor Order</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessOrder}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Accessor Order</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Accessor Order</em>' attribute.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessOrder
+ * @see #setXmlAccessorOrder(EXmlAccessOrder)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlAccessorOrder()
+ * @model
+ * @generated
+ */
+ public EXmlAccessOrder getXmlAccessorOrder()
+ {
+ return xmlAccessorOrder;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlAccessorOrder <em>Xml Accessor Order</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Accessor Order</em>' attribute.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessOrder
+ * @see #getXmlAccessorOrder()
+ * @generated
+ */
+ public void setXmlAccessorOrder(EXmlAccessOrder newXmlAccessorOrder)
+ {
+ EXmlAccessOrder oldXmlAccessorOrder = xmlAccessorOrder;
+ xmlAccessorOrder = newXmlAccessorOrder == null ? XML_ACCESSOR_ORDER_EDEFAULT : newXmlAccessorOrder;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_ACCESSOR_ORDER, oldXmlAccessorOrder, xmlAccessorOrder));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Mapping Metadata Complete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Mapping Metadata Complete</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Mapping Metadata Complete</em>' attribute.
+ * @see #setXmlMappingMetadataComplete(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlMappingMetadataComplete()
+ * @model
+ * @generated
+ */
+ public boolean isXmlMappingMetadataComplete()
+ {
+ return xmlMappingMetadataComplete;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#isXmlMappingMetadataComplete <em>Xml Mapping Metadata Complete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Mapping Metadata Complete</em>' attribute.
+ * @see #isXmlMappingMetadataComplete()
+ * @generated
+ */
+ public void setXmlMappingMetadataComplete(boolean newXmlMappingMetadataComplete)
+ {
+ boolean oldXmlMappingMetadataComplete = xmlMappingMetadataComplete;
+ xmlMappingMetadataComplete = newXmlMappingMetadataComplete;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_MAPPING_METADATA_COMPLETE, oldXmlMappingMetadataComplete, xmlMappingMetadataComplete));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Package Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Package 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>Package Name</em>' attribute.
+ * @see #setPackageName(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_PackageName()
+ * @model
+ * @generated
+ */
+ public String getPackageName()
+ {
+ return packageName;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getPackageName <em>Package Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Package Name</em>' attribute.
+ * @see #getPackageName()
+ * @generated
+ */
+ public void setPackageName(String newPackageName)
+ {
+ String oldPackageName = packageName;
+ packageName = newPackageName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__PACKAGE_NAME, oldPackageName, packageName));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Name Transformer</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Name Transformer</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Name Transformer</em>' attribute.
+ * @see #setXmlNameTransformer(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlNameTransformer()
+ * @model
+ * @generated
+ */
+ public String getXmlNameTransformer()
+ {
+ return xmlNameTransformer;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlNameTransformer <em>Xml Name Transformer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Name Transformer</em>' attribute.
+ * @see #getXmlNameTransformer()
+ * @generated
+ */
+ public void setXmlNameTransformer(String newXmlNameTransformer)
+ {
+ String oldXmlNameTransformer = xmlNameTransformer;
+ xmlNameTransformer = newXmlNameTransformer;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_NAME_TRANSFORMER, oldXmlNameTransformer, xmlNameTransformer));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Schema</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Schema</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>Xml Schema</em>' containment reference.
+ * @see #setXmlSchema(EXmlSchema)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlSchema()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlSchema getXmlSchema()
+ {
+ return xmlSchema;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlSchema(EXmlSchema newXmlSchema, NotificationChain msgs)
+ {
+ EXmlSchema oldXmlSchema = xmlSchema;
+ xmlSchema = newXmlSchema;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_SCHEMA, oldXmlSchema, newXmlSchema);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlSchema <em>Xml Schema</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Schema</em>' containment reference.
+ * @see #getXmlSchema()
+ * @generated
+ */
+ public void setXmlSchema(EXmlSchema newXmlSchema)
+ {
+ if (newXmlSchema != xmlSchema)
+ {
+ NotificationChain msgs = null;
+ if (xmlSchema != null)
+ msgs = ((InternalEObject)xmlSchema).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_BINDINGS__XML_SCHEMA, null, msgs);
+ if (newXmlSchema != null)
+ msgs = ((InternalEObject)newXmlSchema).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_BINDINGS__XML_SCHEMA, null, msgs);
+ msgs = basicSetXmlSchema(newXmlSchema, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_SCHEMA, newXmlSchema, newXmlSchema));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Schema Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Schema Type</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>Xml Schema Type</em>' containment reference.
+ * @see #setXmlSchemaType(EXmlSchemaType)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlSchemaType()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlSchemaType getXmlSchemaType()
+ {
+ return xmlSchemaType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlSchemaType(EXmlSchemaType newXmlSchemaType, NotificationChain msgs)
+ {
+ EXmlSchemaType oldXmlSchemaType = xmlSchemaType;
+ xmlSchemaType = newXmlSchemaType;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE, oldXmlSchemaType, newXmlSchemaType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlSchemaType <em>Xml Schema Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Schema Type</em>' containment reference.
+ * @see #getXmlSchemaType()
+ * @generated
+ */
+ public void setXmlSchemaType(EXmlSchemaType newXmlSchemaType)
+ {
+ if (newXmlSchemaType != xmlSchemaType)
+ {
+ NotificationChain msgs = null;
+ if (xmlSchemaType != null)
+ msgs = ((InternalEObject)xmlSchemaType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE, null, msgs);
+ if (newXmlSchemaType != null)
+ msgs = ((InternalEObject)newXmlSchemaType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE, null, msgs);
+ msgs = basicSetXmlSchemaType(newXmlSchemaType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE, newXmlSchemaType, newXmlSchemaType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Schema Types</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlSchemaType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Schema Types</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>Xml Schema Types</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlSchemaTypes()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlSchemaType> getXmlSchemaTypes()
+ {
+ if (xmlSchemaTypes == null)
+ {
+ xmlSchemaTypes = new EObjectContainmentEList<EXmlSchemaType>(EXmlSchemaType.class, this, OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPES);
+ }
+ return xmlSchemaTypes;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Java Type Adapters</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlJavaTypeAdapter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Java Type Adapters</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>Xml Java Type Adapters</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlJavaTypeAdapters()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlJavaTypeAdapter> getXmlJavaTypeAdapters()
+ {
+ if (xmlJavaTypeAdapters == null)
+ {
+ xmlJavaTypeAdapters = new EObjectContainmentEList<EXmlJavaTypeAdapter>(EXmlJavaTypeAdapter.class, this, OxmPackage.EXML_BINDINGS__XML_JAVA_TYPE_ADAPTERS);
+ }
+ return xmlJavaTypeAdapters;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Registries</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlRegistry}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Registries</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>Xml Registries</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlRegistries()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlRegistry> getXmlRegistries()
+ {
+ if (xmlRegistries == null)
+ {
+ xmlRegistries = new EObjectContainmentEList<EXmlRegistry>(EXmlRegistry.class, this, OxmPackage.EXML_BINDINGS__XML_REGISTRIES);
+ }
+ return xmlRegistries;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Enums</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlEnum}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Enums</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>Xml Enums</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlEnums()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlEnum> getXmlEnums()
+ {
+ if (xmlEnums == null)
+ {
+ xmlEnums = new EObjectContainmentEList<EXmlEnum>(EXmlEnum.class, this, OxmPackage.EXML_BINDINGS__XML_ENUMS);
+ }
+ return xmlEnums;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Java Types</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Java Types</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>Java Types</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_JavaTypes()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EJavaType> getJavaTypes()
+ {
+ if (javaTypes == null)
+ {
+ javaTypes = new EObjectContainmentEList<EJavaType>(EJavaType.class, this, OxmPackage.EXML_BINDINGS__JAVA_TYPES);
+ }
+ return javaTypes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA:
+ return basicSetXmlSchema(null, msgs);
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE:
+ return basicSetXmlSchemaType(null, msgs);
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPES:
+ return ((InternalEList<?>)getXmlSchemaTypes()).basicRemove(otherEnd, msgs);
+ case OxmPackage.EXML_BINDINGS__XML_JAVA_TYPE_ADAPTERS:
+ return ((InternalEList<?>)getXmlJavaTypeAdapters()).basicRemove(otherEnd, msgs);
+ case OxmPackage.EXML_BINDINGS__XML_REGISTRIES:
+ return ((InternalEList<?>)getXmlRegistries()).basicRemove(otherEnd, msgs);
+ case OxmPackage.EXML_BINDINGS__XML_ENUMS:
+ return ((InternalEList<?>)getXmlEnums()).basicRemove(otherEnd, msgs);
+ case OxmPackage.EXML_BINDINGS__JAVA_TYPES:
+ return ((InternalEList<?>)getJavaTypes()).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 OxmPackage.EXML_BINDINGS__XML_ACCESSOR_TYPE:
+ return getXmlAccessorType();
+ case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_ORDER:
+ return getXmlAccessorOrder();
+ case OxmPackage.EXML_BINDINGS__XML_MAPPING_METADATA_COMPLETE:
+ return isXmlMappingMetadataComplete();
+ case OxmPackage.EXML_BINDINGS__PACKAGE_NAME:
+ return getPackageName();
+ case OxmPackage.EXML_BINDINGS__XML_NAME_TRANSFORMER:
+ return getXmlNameTransformer();
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA:
+ return getXmlSchema();
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE:
+ return getXmlSchemaType();
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPES:
+ return getXmlSchemaTypes();
+ case OxmPackage.EXML_BINDINGS__XML_JAVA_TYPE_ADAPTERS:
+ return getXmlJavaTypeAdapters();
+ case OxmPackage.EXML_BINDINGS__XML_REGISTRIES:
+ return getXmlRegistries();
+ case OxmPackage.EXML_BINDINGS__XML_ENUMS:
+ return getXmlEnums();
+ case OxmPackage.EXML_BINDINGS__JAVA_TYPES:
+ return getJavaTypes();
+ }
+ 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 OxmPackage.EXML_BINDINGS__XML_ACCESSOR_TYPE:
+ setXmlAccessorType((EXmlAccessType)newValue);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_ORDER:
+ setXmlAccessorOrder((EXmlAccessOrder)newValue);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_MAPPING_METADATA_COMPLETE:
+ setXmlMappingMetadataComplete((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_BINDINGS__PACKAGE_NAME:
+ setPackageName((String)newValue);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_NAME_TRANSFORMER:
+ setXmlNameTransformer((String)newValue);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA:
+ setXmlSchema((EXmlSchema)newValue);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE:
+ setXmlSchemaType((EXmlSchemaType)newValue);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPES:
+ getXmlSchemaTypes().clear();
+ getXmlSchemaTypes().addAll((Collection<? extends EXmlSchemaType>)newValue);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_JAVA_TYPE_ADAPTERS:
+ getXmlJavaTypeAdapters().clear();
+ getXmlJavaTypeAdapters().addAll((Collection<? extends EXmlJavaTypeAdapter>)newValue);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_REGISTRIES:
+ getXmlRegistries().clear();
+ getXmlRegistries().addAll((Collection<? extends EXmlRegistry>)newValue);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_ENUMS:
+ getXmlEnums().clear();
+ getXmlEnums().addAll((Collection<? extends EXmlEnum>)newValue);
+ return;
+ case OxmPackage.EXML_BINDINGS__JAVA_TYPES:
+ getJavaTypes().clear();
+ getJavaTypes().addAll((Collection<? extends EJavaType>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_TYPE:
+ setXmlAccessorType(XML_ACCESSOR_TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_ORDER:
+ setXmlAccessorOrder(XML_ACCESSOR_ORDER_EDEFAULT);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_MAPPING_METADATA_COMPLETE:
+ setXmlMappingMetadataComplete(XML_MAPPING_METADATA_COMPLETE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_BINDINGS__PACKAGE_NAME:
+ setPackageName(PACKAGE_NAME_EDEFAULT);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_NAME_TRANSFORMER:
+ setXmlNameTransformer(XML_NAME_TRANSFORMER_EDEFAULT);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA:
+ setXmlSchema((EXmlSchema)null);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE:
+ setXmlSchemaType((EXmlSchemaType)null);
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPES:
+ getXmlSchemaTypes().clear();
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_JAVA_TYPE_ADAPTERS:
+ getXmlJavaTypeAdapters().clear();
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_REGISTRIES:
+ getXmlRegistries().clear();
+ return;
+ case OxmPackage.EXML_BINDINGS__XML_ENUMS:
+ getXmlEnums().clear();
+ return;
+ case OxmPackage.EXML_BINDINGS__JAVA_TYPES:
+ getJavaTypes().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_TYPE:
+ return xmlAccessorType != XML_ACCESSOR_TYPE_EDEFAULT;
+ case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_ORDER:
+ return xmlAccessorOrder != XML_ACCESSOR_ORDER_EDEFAULT;
+ case OxmPackage.EXML_BINDINGS__XML_MAPPING_METADATA_COMPLETE:
+ return xmlMappingMetadataComplete != XML_MAPPING_METADATA_COMPLETE_EDEFAULT;
+ case OxmPackage.EXML_BINDINGS__PACKAGE_NAME:
+ return PACKAGE_NAME_EDEFAULT == null ? packageName != null : !PACKAGE_NAME_EDEFAULT.equals(packageName);
+ case OxmPackage.EXML_BINDINGS__XML_NAME_TRANSFORMER:
+ return XML_NAME_TRANSFORMER_EDEFAULT == null ? xmlNameTransformer != null : !XML_NAME_TRANSFORMER_EDEFAULT.equals(xmlNameTransformer);
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA:
+ return xmlSchema != null;
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE:
+ return xmlSchemaType != null;
+ case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPES:
+ return xmlSchemaTypes != null && !xmlSchemaTypes.isEmpty();
+ case OxmPackage.EXML_BINDINGS__XML_JAVA_TYPE_ADAPTERS:
+ return xmlJavaTypeAdapters != null && !xmlJavaTypeAdapters.isEmpty();
+ case OxmPackage.EXML_BINDINGS__XML_REGISTRIES:
+ return xmlRegistries != null && !xmlRegistries.isEmpty();
+ case OxmPackage.EXML_BINDINGS__XML_ENUMS:
+ return xmlEnums != null && !xmlEnums.isEmpty();
+ case OxmPackage.EXML_BINDINGS__JAVA_TYPES:
+ return javaTypes != null && !javaTypes.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (xmlAccessorType: ");
+ result.append(xmlAccessorType);
+ result.append(", xmlAccessorOrder: ");
+ result.append(xmlAccessorOrder);
+ result.append(", xmlMappingMetadataComplete: ");
+ result.append(xmlMappingMetadataComplete);
+ result.append(", packageName: ");
+ result.append(packageName);
+ result.append(", xmlNameTransformer: ");
+ result.append(xmlNameTransformer);
+ result.append(')');
+ return result.toString();
+ }
+
+ // ********** version -> schema location mapping **********
+
+ @Override
+ protected String getNamespace() {
+ return EclipseLink.SCHEMA_NAMESPACE;
+ }
+
+ @Override
+ protected String getSchemaLocationForVersion(String schemaVersion) {
+ return SCHEMA_LOCATIONS.get(schemaVersion);
+ }
+
+ private static HashMap<String, String> SCHEMA_LOCATIONS = buildSchemaLocations();
+
+ private static HashMap<String, String> buildSchemaLocations() {
+ HashMap<String, String> map = new HashMap<String, String>();
+ map.put(EclipseLink.SCHEMA_VERSION_2_1, EclipseLink.SCHEMA_LOCATION_2_1);
+ map.put(EclipseLink.SCHEMA_VERSION_2_2, EclipseLink.SCHEMA_LOCATION_2_2);
+ map.put(EclipseLink.SCHEMA_VERSION_2_3, EclipseLink.SCHEMA_LOCATION_2_3);
+ map.put(EclipseLink.SCHEMA_VERSION_2_4, EclipseLink.SCHEMA_LOCATION_2_4);
+ return map;
+ }
+
+
+ // ********** content type **********
+
+ /**
+ * The content type for <code>oxm.xml</code> mapping files.
+ */
+ public static final IContentType CONTENT_TYPE = JptJaxbEclipseLinkCorePlugin.instance().getContentType("oxm"); //$NON-NLS-1$
+
+
+ // ********** translators **********
+
+ private static final Translator ROOT_TRANSLATOR = buildRootTranslator();
+
+ public static Translator getRootTranslator() {
+ return ROOT_TRANSLATOR;
+ }
+
+ private static Translator buildRootTranslator() {
+ return new SimpleRootTranslator(EclipseLink.XML_BINDINGS, OxmPackage.eINSTANCE.getEXmlBindings(), buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ buildVersionTranslator(SCHEMA_LOCATIONS),
+ buildNamespaceTranslator(EclipseLink.SCHEMA_NAMESPACE),
+ buildSchemaNamespaceTranslator(),
+ buildSchemaLocationTranslator(EclipseLink.SCHEMA_NAMESPACE, SCHEMA_LOCATIONS),
+ EJavaType.buildTranslator()
+ };
+ }
+} \ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlClassExtractor.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlClassExtractor.java
new file mode 100644
index 0000000000..6fa51d0bae
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlClassExtractor.java
@@ -0,0 +1,192 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Class Extractor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlClassExtractor#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlClassExtractor()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class EXmlClassExtractor extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected String className = CLASS_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlClassExtractor()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_CLASS_EXTRACTOR;
+ }
+
+ /**
+ * 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.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlClassExtractor_ClassName()
+ * @model
+ * @generated
+ */
+ public String getClassName()
+ {
+ return className;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlClassExtractor#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, OxmPackage.EXML_CLASS_EXTRACTOR__CLASS_NAME, oldClassName, className));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_CLASS_EXTRACTOR__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 OxmPackage.EXML_CLASS_EXTRACTOR__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 OxmPackage.EXML_CLASS_EXTRACTOR__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 OxmPackage.EXML_CLASS_EXTRACTOR__CLASS_NAME:
+ return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (className: ");
+ result.append(className);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EXmlClassExtractor
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElement.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElement.java
new file mode 100644
index 0000000000..c9156f3981
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElement.java
@@ -0,0 +1,1996 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+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.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isNillable <em>Nillable</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isRequired <em>Required</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlId <em>Xml Id</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlIdRef <em>Xml Id Ref</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlKey <em>Xml Key</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlList <em>Xml List</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlInlineBinaryData <em>Xml Inline Binary Data</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlAttachmentRef <em>Xml Attachment Ref</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlMimeType <em>Xml Mime Type</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isCdata <em>Cdata</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlPath <em>Xml Path</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlLocation <em>Xml Location</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlAbstractNullPolicy <em>Xml Abstract Null Policy</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlElementWrapper <em>Xml Element Wrapper</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlMap <em>Xml Map</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlSchemaType <em>Xml Schema Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement()
+ * @model kind="class"
+ * @generated
+ */
+public class EXmlElement extends EJavaAttribute implements EAccessibleJavaAttribute, EAdaptableJavaAttribute, EContainerJavaAttribute, EPropertyHolder, EReadWriteJavaAttribute
+{
+ /**
+ * The cached value of the '{@link #getXmlAccessMethods() <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessMethods()
+ * @generated
+ * @ordered
+ */
+ protected EXmlAccessMethods xmlAccessMethods;
+ /**
+ * The cached value of the '{@link #getXmlJavaTypeAdapter() <em>Xml Java Type Adapter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlJavaTypeAdapter()
+ * @generated
+ * @ordered
+ */
+ protected EXmlJavaTypeAdapter xmlJavaTypeAdapter;
+ /**
+ * The default value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONTAINER_TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected String containerType = CONTAINER_TYPE_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlProperties() <em>Xml Properties</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlProperty> xmlProperties;
+ /**
+ * The default value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean READ_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean readOnly = READ_ONLY_EDEFAULT;
+ /**
+ * The default value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean WRITE_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean writeOnly = WRITE_ONLY_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 #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAMESPACE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected String namespace = NAMESPACE_EDEFAULT;
+ /**
+ * The default value of the '{@link #getDefaultValue() <em>Default Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEFAULT_VALUE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getDefaultValue() <em>Default Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultValue()
+ * @generated
+ * @ordered
+ */
+ protected String defaultValue = DEFAULT_VALUE_EDEFAULT;
+ /**
+ * The default value of the '{@link #isNillable() <em>Nillable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isNillable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean NILLABLE_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isNillable() <em>Nillable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isNillable()
+ * @generated
+ * @ordered
+ */
+ protected boolean nillable = NILLABLE_EDEFAULT;
+ /**
+ * The default value of the '{@link #isRequired() <em>Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRequired()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean REQUIRED_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isRequired() <em>Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRequired()
+ * @generated
+ * @ordered
+ */
+ protected boolean required = REQUIRED_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlId() <em>Xml Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlId()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_ID_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlId() <em>Xml Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlId()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlId = XML_ID_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlIdRef() <em>Xml Id Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlIdRef()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_ID_REF_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlIdRef() <em>Xml Id Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlIdRef()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlIdRef = XML_ID_REF_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlKey() <em>Xml Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlKey()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_KEY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlKey() <em>Xml Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlKey()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlKey = XML_KEY_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlList() <em>Xml List</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlList()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_LIST_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlList() <em>Xml List</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlList()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlList = XML_LIST_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlInlineBinaryData() <em>Xml Inline Binary Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlInlineBinaryData()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_INLINE_BINARY_DATA_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlInlineBinaryData() <em>Xml Inline Binary Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlInlineBinaryData()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlInlineBinaryData = XML_INLINE_BINARY_DATA_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlAttachmentRef() <em>Xml Attachment Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlAttachmentRef()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_ATTACHMENT_REF_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlAttachmentRef() <em>Xml Attachment Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlAttachmentRef()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlAttachmentRef = XML_ATTACHMENT_REF_EDEFAULT;
+ /**
+ * The default value of the '{@link #getXmlMimeType() <em>Xml Mime Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlMimeType()
+ * @generated
+ * @ordered
+ */
+ protected static final String XML_MIME_TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getXmlMimeType() <em>Xml Mime Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlMimeType()
+ * @generated
+ * @ordered
+ */
+ protected String xmlMimeType = XML_MIME_TYPE_EDEFAULT;
+ /**
+ * The default value of the '{@link #isCdata() <em>Cdata</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCdata()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CDATA_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isCdata() <em>Cdata</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCdata()
+ * @generated
+ * @ordered
+ */
+ protected boolean cdata = CDATA_EDEFAULT;
+ /**
+ * The default value of the '{@link #getXmlPath() <em>Xml Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String XML_PATH_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getXmlPath() <em>Xml Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlPath()
+ * @generated
+ * @ordered
+ */
+ protected String xmlPath = XML_PATH_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlLocation() <em>Xml Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlLocation()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_LOCATION_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlLocation() <em>Xml Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlLocation()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlLocation = XML_LOCATION_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlAbstractNullPolicy() <em>Xml Abstract Null Policy</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAbstractNullPolicy()
+ * @generated
+ * @ordered
+ */
+ protected EAbstractXmlNullPolicy xmlAbstractNullPolicy;
+ /**
+ * The cached value of the '{@link #getXmlElementWrapper() <em>Xml Element Wrapper</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlElementWrapper()
+ * @generated
+ * @ordered
+ */
+ protected EXmlElementWrapper xmlElementWrapper;
+ /**
+ * The cached value of the '{@link #getXmlMap() <em>Xml Map</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlMap()
+ * @generated
+ * @ordered
+ */
+ protected EXmlElementWrapper xmlMap;
+ /**
+ * The cached value of the '{@link #getXmlSchemaType() <em>Xml Schema Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlSchemaType()
+ * @generated
+ * @ordered
+ */
+ protected EXmlSchemaType xmlSchemaType;
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlElement()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_ELEMENT;
+ }
+
+
+ /**
+ * Returns the value of the '<em><b>Xml Access Methods</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Access Methods</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>Xml Access Methods</em>' containment reference.
+ * @see #setXmlAccessMethods(EXmlAccessMethods)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAccessibleJavaAttribute_XmlAccessMethods()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlAccessMethods getXmlAccessMethods()
+ {
+ return xmlAccessMethods;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods, NotificationChain msgs)
+ {
+ EXmlAccessMethods oldXmlAccessMethods = xmlAccessMethods;
+ xmlAccessMethods = newXmlAccessMethods;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_ACCESS_METHODS, oldXmlAccessMethods, newXmlAccessMethods);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlAccessMethods <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Access Methods</em>' containment reference.
+ * @see #getXmlAccessMethods()
+ * @generated
+ */
+ public void setXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods)
+ {
+ if (newXmlAccessMethods != xmlAccessMethods)
+ {
+ NotificationChain msgs = null;
+ if (xmlAccessMethods != null)
+ msgs = ((InternalEObject)xmlAccessMethods).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT__XML_ACCESS_METHODS, null, msgs);
+ if (newXmlAccessMethods != null)
+ msgs = ((InternalEObject)newXmlAccessMethods).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT__XML_ACCESS_METHODS, null, msgs);
+ msgs = basicSetXmlAccessMethods(newXmlAccessMethods, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_ACCESS_METHODS, newXmlAccessMethods, newXmlAccessMethods));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Java Type Adapter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Java Type Adapter</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>Xml Java Type Adapter</em>' containment reference.
+ * @see #setXmlJavaTypeAdapter(EXmlJavaTypeAdapter)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAdaptableJavaAttribute_XmlJavaTypeAdapter()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlJavaTypeAdapter getXmlJavaTypeAdapter()
+ {
+ return xmlJavaTypeAdapter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlJavaTypeAdapter(EXmlJavaTypeAdapter newXmlJavaTypeAdapter, NotificationChain msgs)
+ {
+ EXmlJavaTypeAdapter oldXmlJavaTypeAdapter = xmlJavaTypeAdapter;
+ xmlJavaTypeAdapter = newXmlJavaTypeAdapter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_JAVA_TYPE_ADAPTER, oldXmlJavaTypeAdapter, newXmlJavaTypeAdapter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlJavaTypeAdapter <em>Xml Java Type Adapter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Java Type Adapter</em>' containment reference.
+ * @see #getXmlJavaTypeAdapter()
+ * @generated
+ */
+ public void setXmlJavaTypeAdapter(EXmlJavaTypeAdapter newXmlJavaTypeAdapter)
+ {
+ if (newXmlJavaTypeAdapter != xmlJavaTypeAdapter)
+ {
+ NotificationChain msgs = null;
+ if (xmlJavaTypeAdapter != null)
+ msgs = ((InternalEObject)xmlJavaTypeAdapter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT__XML_JAVA_TYPE_ADAPTER, null, msgs);
+ if (newXmlJavaTypeAdapter != null)
+ msgs = ((InternalEObject)newXmlJavaTypeAdapter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT__XML_JAVA_TYPE_ADAPTER, null, msgs);
+ msgs = basicSetXmlJavaTypeAdapter(newXmlJavaTypeAdapter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_JAVA_TYPE_ADAPTER, newXmlJavaTypeAdapter, newXmlJavaTypeAdapter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Container Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Container 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>Container Type</em>' attribute.
+ * @see #setContainerType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEContainerJavaAttribute_ContainerType()
+ * @model
+ * @generated
+ */
+ public String getContainerType()
+ {
+ return containerType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getContainerType <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Container Type</em>' attribute.
+ * @see #getContainerType()
+ * @generated
+ */
+ public void setContainerType(String newContainerType)
+ {
+ String oldContainerType = containerType;
+ containerType = newContainerType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__CONTAINER_TYPE, oldContainerType, containerType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Properties</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>Xml Properties</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEPropertyHolder_XmlProperties()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlProperty> getXmlProperties()
+ {
+ if (xmlProperties == null)
+ {
+ xmlProperties = new EObjectContainmentEList<EXmlProperty>(EXmlProperty.class, this, OxmPackage.EXML_ELEMENT__XML_PROPERTIES);
+ }
+ return xmlProperties;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Read Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Read Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Read Only</em>' attribute.
+ * @see #setReadOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_ReadOnly()
+ * @model
+ * @generated
+ */
+ public boolean isReadOnly()
+ {
+ return readOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isReadOnly <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Read Only</em>' attribute.
+ * @see #isReadOnly()
+ * @generated
+ */
+ public void setReadOnly(boolean newReadOnly)
+ {
+ boolean oldReadOnly = readOnly;
+ readOnly = newReadOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__READ_ONLY, oldReadOnly, readOnly));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Write Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Write Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Write Only</em>' attribute.
+ * @see #setWriteOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_WriteOnly()
+ * @model
+ * @generated
+ */
+ public boolean isWriteOnly()
+ {
+ return writeOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isWriteOnly <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Write Only</em>' attribute.
+ * @see #isWriteOnly()
+ * @generated
+ */
+ public void setWriteOnly(boolean newWriteOnly)
+ {
+ boolean oldWriteOnly = writeOnly;
+ writeOnly = newWriteOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__WRITE_ONLY, oldWriteOnly, writeOnly));
+ }
+
+ /**
+ * 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.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_Name()
+ * @model
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#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, OxmPackage.EXML_ELEMENT__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Namespace</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Namespace</em>' attribute.
+ * @see #setNamespace(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_Namespace()
+ * @model
+ * @generated
+ */
+ public String getNamespace()
+ {
+ return namespace;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getNamespace <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Namespace</em>' attribute.
+ * @see #getNamespace()
+ * @generated
+ */
+ public void setNamespace(String newNamespace)
+ {
+ String oldNamespace = namespace;
+ namespace = newNamespace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__NAMESPACE, oldNamespace, namespace));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Default Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default 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 Value</em>' attribute.
+ * @see #setDefaultValue(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_DefaultValue()
+ * @model
+ * @generated
+ */
+ public String getDefaultValue()
+ {
+ return defaultValue;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getDefaultValue <em>Default Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default Value</em>' attribute.
+ * @see #getDefaultValue()
+ * @generated
+ */
+ public void setDefaultValue(String newDefaultValue)
+ {
+ String oldDefaultValue = defaultValue;
+ defaultValue = newDefaultValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__DEFAULT_VALUE, oldDefaultValue, defaultValue));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Nillable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nillable</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nillable</em>' attribute.
+ * @see #setNillable(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_Nillable()
+ * @model
+ * @generated
+ */
+ public boolean isNillable()
+ {
+ return nillable;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isNillable <em>Nillable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nillable</em>' attribute.
+ * @see #isNillable()
+ * @generated
+ */
+ public void setNillable(boolean newNillable)
+ {
+ boolean oldNillable = nillable;
+ nillable = newNillable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__NILLABLE, oldNillable, nillable));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Required</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Required</em>' attribute.
+ * @see #setRequired(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_Required()
+ * @model
+ * @generated
+ */
+ public boolean isRequired()
+ {
+ return required;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isRequired <em>Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Required</em>' attribute.
+ * @see #isRequired()
+ * @generated
+ */
+ public void setRequired(boolean newRequired)
+ {
+ boolean oldRequired = required;
+ required = newRequired;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__REQUIRED, oldRequired, required));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Id</em>' attribute.
+ * @see #setXmlId(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_XmlId()
+ * @model
+ * @generated
+ */
+ public boolean isXmlId()
+ {
+ return xmlId;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlId <em>Xml Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Id</em>' attribute.
+ * @see #isXmlId()
+ * @generated
+ */
+ public void setXmlId(boolean newXmlId)
+ {
+ boolean oldXmlId = xmlId;
+ xmlId = newXmlId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_ID, oldXmlId, xmlId));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Id Ref</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Id Ref</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Id Ref</em>' attribute.
+ * @see #setXmlIdRef(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_XmlIdRef()
+ * @model
+ * @generated
+ */
+ public boolean isXmlIdRef()
+ {
+ return xmlIdRef;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlIdRef <em>Xml Id Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Id Ref</em>' attribute.
+ * @see #isXmlIdRef()
+ * @generated
+ */
+ public void setXmlIdRef(boolean newXmlIdRef)
+ {
+ boolean oldXmlIdRef = xmlIdRef;
+ xmlIdRef = newXmlIdRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_ID_REF, oldXmlIdRef, xmlIdRef));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Key</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Key</em>' attribute.
+ * @see #setXmlKey(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_XmlKey()
+ * @model
+ * @generated
+ */
+ public boolean isXmlKey()
+ {
+ return xmlKey;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlKey <em>Xml Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Key</em>' attribute.
+ * @see #isXmlKey()
+ * @generated
+ */
+ public void setXmlKey(boolean newXmlKey)
+ {
+ boolean oldXmlKey = xmlKey;
+ xmlKey = newXmlKey;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_KEY, oldXmlKey, xmlKey));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml List</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml List</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml List</em>' attribute.
+ * @see #setXmlList(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_XmlList()
+ * @model
+ * @generated
+ */
+ public boolean isXmlList()
+ {
+ return xmlList;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlList <em>Xml List</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml List</em>' attribute.
+ * @see #isXmlList()
+ * @generated
+ */
+ public void setXmlList(boolean newXmlList)
+ {
+ boolean oldXmlList = xmlList;
+ xmlList = newXmlList;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_LIST, oldXmlList, xmlList));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Inline Binary Data</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Inline Binary Data</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Inline Binary Data</em>' attribute.
+ * @see #setXmlInlineBinaryData(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_XmlInlineBinaryData()
+ * @model
+ * @generated
+ */
+ public boolean isXmlInlineBinaryData()
+ {
+ return xmlInlineBinaryData;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlInlineBinaryData <em>Xml Inline Binary Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Inline Binary Data</em>' attribute.
+ * @see #isXmlInlineBinaryData()
+ * @generated
+ */
+ public void setXmlInlineBinaryData(boolean newXmlInlineBinaryData)
+ {
+ boolean oldXmlInlineBinaryData = xmlInlineBinaryData;
+ xmlInlineBinaryData = newXmlInlineBinaryData;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_INLINE_BINARY_DATA, oldXmlInlineBinaryData, xmlInlineBinaryData));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Attachment Ref</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Attachment Ref</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Attachment Ref</em>' attribute.
+ * @see #setXmlAttachmentRef(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_XmlAttachmentRef()
+ * @model
+ * @generated
+ */
+ public boolean isXmlAttachmentRef()
+ {
+ return xmlAttachmentRef;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlAttachmentRef <em>Xml Attachment Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Attachment Ref</em>' attribute.
+ * @see #isXmlAttachmentRef()
+ * @generated
+ */
+ public void setXmlAttachmentRef(boolean newXmlAttachmentRef)
+ {
+ boolean oldXmlAttachmentRef = xmlAttachmentRef;
+ xmlAttachmentRef = newXmlAttachmentRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_ATTACHMENT_REF, oldXmlAttachmentRef, xmlAttachmentRef));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Mime Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Mime 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>Xml Mime Type</em>' attribute.
+ * @see #setXmlMimeType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_XmlMimeType()
+ * @model
+ * @generated
+ */
+ public String getXmlMimeType()
+ {
+ return xmlMimeType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlMimeType <em>Xml Mime Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Mime Type</em>' attribute.
+ * @see #getXmlMimeType()
+ * @generated
+ */
+ public void setXmlMimeType(String newXmlMimeType)
+ {
+ String oldXmlMimeType = xmlMimeType;
+ xmlMimeType = newXmlMimeType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_MIME_TYPE, oldXmlMimeType, xmlMimeType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Cdata</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cdata</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cdata</em>' attribute.
+ * @see #setCdata(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_Cdata()
+ * @model
+ * @generated
+ */
+ public boolean isCdata()
+ {
+ return cdata;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isCdata <em>Cdata</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cdata</em>' attribute.
+ * @see #isCdata()
+ * @generated
+ */
+ public void setCdata(boolean newCdata)
+ {
+ boolean oldCdata = cdata;
+ cdata = newCdata;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__CDATA, oldCdata, cdata));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Path</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Path</em>' attribute.
+ * @see #setXmlPath(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_XmlPath()
+ * @model
+ * @generated
+ */
+ public String getXmlPath()
+ {
+ return xmlPath;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlPath <em>Xml Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Path</em>' attribute.
+ * @see #getXmlPath()
+ * @generated
+ */
+ public void setXmlPath(String newXmlPath)
+ {
+ String oldXmlPath = xmlPath;
+ xmlPath = newXmlPath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_PATH, oldXmlPath, xmlPath));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Location</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Location</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Location</em>' attribute.
+ * @see #setXmlLocation(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_XmlLocation()
+ * @model
+ * @generated
+ */
+ public boolean isXmlLocation()
+ {
+ return xmlLocation;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#isXmlLocation <em>Xml Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Location</em>' attribute.
+ * @see #isXmlLocation()
+ * @generated
+ */
+ public void setXmlLocation(boolean newXmlLocation)
+ {
+ boolean oldXmlLocation = xmlLocation;
+ xmlLocation = newXmlLocation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_LOCATION, oldXmlLocation, xmlLocation));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Abstract Null Policy</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Abstract Null Policy</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>Xml Abstract Null Policy</em>' containment reference.
+ * @see #setXmlAbstractNullPolicy(EAbstractXmlNullPolicy)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_XmlAbstractNullPolicy()
+ * @model containment="true"
+ * @generated
+ */
+ public EAbstractXmlNullPolicy getXmlAbstractNullPolicy()
+ {
+ return xmlAbstractNullPolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlAbstractNullPolicy(EAbstractXmlNullPolicy newXmlAbstractNullPolicy, NotificationChain msgs)
+ {
+ EAbstractXmlNullPolicy oldXmlAbstractNullPolicy = xmlAbstractNullPolicy;
+ xmlAbstractNullPolicy = newXmlAbstractNullPolicy;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_ABSTRACT_NULL_POLICY, oldXmlAbstractNullPolicy, newXmlAbstractNullPolicy);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlAbstractNullPolicy <em>Xml Abstract Null Policy</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Abstract Null Policy</em>' containment reference.
+ * @see #getXmlAbstractNullPolicy()
+ * @generated
+ */
+ public void setXmlAbstractNullPolicy(EAbstractXmlNullPolicy newXmlAbstractNullPolicy)
+ {
+ if (newXmlAbstractNullPolicy != xmlAbstractNullPolicy)
+ {
+ NotificationChain msgs = null;
+ if (xmlAbstractNullPolicy != null)
+ msgs = ((InternalEObject)xmlAbstractNullPolicy).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT__XML_ABSTRACT_NULL_POLICY, null, msgs);
+ if (newXmlAbstractNullPolicy != null)
+ msgs = ((InternalEObject)newXmlAbstractNullPolicy).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT__XML_ABSTRACT_NULL_POLICY, null, msgs);
+ msgs = basicSetXmlAbstractNullPolicy(newXmlAbstractNullPolicy, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_ABSTRACT_NULL_POLICY, newXmlAbstractNullPolicy, newXmlAbstractNullPolicy));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Element Wrapper</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Element Wrapper</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>Xml Element Wrapper</em>' containment reference.
+ * @see #setXmlElementWrapper(EXmlElementWrapper)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_XmlElementWrapper()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlElementWrapper getXmlElementWrapper()
+ {
+ return xmlElementWrapper;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlElementWrapper(EXmlElementWrapper newXmlElementWrapper, NotificationChain msgs)
+ {
+ EXmlElementWrapper oldXmlElementWrapper = xmlElementWrapper;
+ xmlElementWrapper = newXmlElementWrapper;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_ELEMENT_WRAPPER, oldXmlElementWrapper, newXmlElementWrapper);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlElementWrapper <em>Xml Element Wrapper</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Element Wrapper</em>' containment reference.
+ * @see #getXmlElementWrapper()
+ * @generated
+ */
+ public void setXmlElementWrapper(EXmlElementWrapper newXmlElementWrapper)
+ {
+ if (newXmlElementWrapper != xmlElementWrapper)
+ {
+ NotificationChain msgs = null;
+ if (xmlElementWrapper != null)
+ msgs = ((InternalEObject)xmlElementWrapper).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT__XML_ELEMENT_WRAPPER, null, msgs);
+ if (newXmlElementWrapper != null)
+ msgs = ((InternalEObject)newXmlElementWrapper).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT__XML_ELEMENT_WRAPPER, null, msgs);
+ msgs = basicSetXmlElementWrapper(newXmlElementWrapper, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_ELEMENT_WRAPPER, newXmlElementWrapper, newXmlElementWrapper));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Map</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Map</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>Xml Map</em>' containment reference.
+ * @see #setXmlMap(EXmlElementWrapper)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_XmlMap()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlElementWrapper getXmlMap()
+ {
+ return xmlMap;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlMap(EXmlElementWrapper newXmlMap, NotificationChain msgs)
+ {
+ EXmlElementWrapper oldXmlMap = xmlMap;
+ xmlMap = newXmlMap;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_MAP, oldXmlMap, newXmlMap);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlMap <em>Xml Map</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Map</em>' containment reference.
+ * @see #getXmlMap()
+ * @generated
+ */
+ public void setXmlMap(EXmlElementWrapper newXmlMap)
+ {
+ if (newXmlMap != xmlMap)
+ {
+ NotificationChain msgs = null;
+ if (xmlMap != null)
+ msgs = ((InternalEObject)xmlMap).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT__XML_MAP, null, msgs);
+ if (newXmlMap != null)
+ msgs = ((InternalEObject)newXmlMap).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT__XML_MAP, null, msgs);
+ msgs = basicSetXmlMap(newXmlMap, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_MAP, newXmlMap, newXmlMap));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Schema Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Schema Type</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>Xml Schema Type</em>' containment reference.
+ * @see #setXmlSchemaType(EXmlSchemaType)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElement_XmlSchemaType()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlSchemaType getXmlSchemaType()
+ {
+ return xmlSchemaType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlSchemaType(EXmlSchemaType newXmlSchemaType, NotificationChain msgs)
+ {
+ EXmlSchemaType oldXmlSchemaType = xmlSchemaType;
+ xmlSchemaType = newXmlSchemaType;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_SCHEMA_TYPE, oldXmlSchemaType, newXmlSchemaType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement#getXmlSchemaType <em>Xml Schema Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Schema Type</em>' containment reference.
+ * @see #getXmlSchemaType()
+ * @generated
+ */
+ public void setXmlSchemaType(EXmlSchemaType newXmlSchemaType)
+ {
+ if (newXmlSchemaType != xmlSchemaType)
+ {
+ NotificationChain msgs = null;
+ if (xmlSchemaType != null)
+ msgs = ((InternalEObject)xmlSchemaType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT__XML_SCHEMA_TYPE, null, msgs);
+ if (newXmlSchemaType != null)
+ msgs = ((InternalEObject)newXmlSchemaType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT__XML_SCHEMA_TYPE, null, msgs);
+ msgs = basicSetXmlSchemaType(newXmlSchemaType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT__XML_SCHEMA_TYPE, newXmlSchemaType, newXmlSchemaType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT__XML_ACCESS_METHODS:
+ return basicSetXmlAccessMethods(null, msgs);
+ case OxmPackage.EXML_ELEMENT__XML_JAVA_TYPE_ADAPTER:
+ return basicSetXmlJavaTypeAdapter(null, msgs);
+ case OxmPackage.EXML_ELEMENT__XML_PROPERTIES:
+ return ((InternalEList<?>)getXmlProperties()).basicRemove(otherEnd, msgs);
+ case OxmPackage.EXML_ELEMENT__XML_ABSTRACT_NULL_POLICY:
+ return basicSetXmlAbstractNullPolicy(null, msgs);
+ case OxmPackage.EXML_ELEMENT__XML_ELEMENT_WRAPPER:
+ return basicSetXmlElementWrapper(null, msgs);
+ case OxmPackage.EXML_ELEMENT__XML_MAP:
+ return basicSetXmlMap(null, msgs);
+ case OxmPackage.EXML_ELEMENT__XML_SCHEMA_TYPE:
+ return basicSetXmlSchemaType(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT__XML_ACCESS_METHODS:
+ return getXmlAccessMethods();
+ case OxmPackage.EXML_ELEMENT__XML_JAVA_TYPE_ADAPTER:
+ return getXmlJavaTypeAdapter();
+ case OxmPackage.EXML_ELEMENT__CONTAINER_TYPE:
+ return getContainerType();
+ case OxmPackage.EXML_ELEMENT__XML_PROPERTIES:
+ return getXmlProperties();
+ case OxmPackage.EXML_ELEMENT__READ_ONLY:
+ return isReadOnly();
+ case OxmPackage.EXML_ELEMENT__WRITE_ONLY:
+ return isWriteOnly();
+ case OxmPackage.EXML_ELEMENT__NAME:
+ return getName();
+ case OxmPackage.EXML_ELEMENT__NAMESPACE:
+ return getNamespace();
+ case OxmPackage.EXML_ELEMENT__DEFAULT_VALUE:
+ return getDefaultValue();
+ case OxmPackage.EXML_ELEMENT__NILLABLE:
+ return isNillable();
+ case OxmPackage.EXML_ELEMENT__REQUIRED:
+ return isRequired();
+ case OxmPackage.EXML_ELEMENT__XML_ID:
+ return isXmlId();
+ case OxmPackage.EXML_ELEMENT__XML_ID_REF:
+ return isXmlIdRef();
+ case OxmPackage.EXML_ELEMENT__XML_KEY:
+ return isXmlKey();
+ case OxmPackage.EXML_ELEMENT__XML_LIST:
+ return isXmlList();
+ case OxmPackage.EXML_ELEMENT__XML_INLINE_BINARY_DATA:
+ return isXmlInlineBinaryData();
+ case OxmPackage.EXML_ELEMENT__XML_ATTACHMENT_REF:
+ return isXmlAttachmentRef();
+ case OxmPackage.EXML_ELEMENT__XML_MIME_TYPE:
+ return getXmlMimeType();
+ case OxmPackage.EXML_ELEMENT__CDATA:
+ return isCdata();
+ case OxmPackage.EXML_ELEMENT__XML_PATH:
+ return getXmlPath();
+ case OxmPackage.EXML_ELEMENT__XML_LOCATION:
+ return isXmlLocation();
+ case OxmPackage.EXML_ELEMENT__XML_ABSTRACT_NULL_POLICY:
+ return getXmlAbstractNullPolicy();
+ case OxmPackage.EXML_ELEMENT__XML_ELEMENT_WRAPPER:
+ return getXmlElementWrapper();
+ case OxmPackage.EXML_ELEMENT__XML_MAP:
+ return getXmlMap();
+ case OxmPackage.EXML_ELEMENT__XML_SCHEMA_TYPE:
+ return getXmlSchemaType();
+ }
+ 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 OxmPackage.EXML_ELEMENT__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_JAVA_TYPE_ADAPTER:
+ setXmlJavaTypeAdapter((EXmlJavaTypeAdapter)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__CONTAINER_TYPE:
+ setContainerType((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_PROPERTIES:
+ getXmlProperties().clear();
+ getXmlProperties().addAll((Collection<? extends EXmlProperty>)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__READ_ONLY:
+ setReadOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__WRITE_ONLY:
+ setWriteOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__NAMESPACE:
+ setNamespace((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__DEFAULT_VALUE:
+ setDefaultValue((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__NILLABLE:
+ setNillable((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__REQUIRED:
+ setRequired((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_ID:
+ setXmlId((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_ID_REF:
+ setXmlIdRef((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_KEY:
+ setXmlKey((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_LIST:
+ setXmlList((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_INLINE_BINARY_DATA:
+ setXmlInlineBinaryData((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_ATTACHMENT_REF:
+ setXmlAttachmentRef((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_MIME_TYPE:
+ setXmlMimeType((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__CDATA:
+ setCdata((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_PATH:
+ setXmlPath((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_LOCATION:
+ setXmlLocation((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_ABSTRACT_NULL_POLICY:
+ setXmlAbstractNullPolicy((EAbstractXmlNullPolicy)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_ELEMENT_WRAPPER:
+ setXmlElementWrapper((EXmlElementWrapper)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_MAP:
+ setXmlMap((EXmlElementWrapper)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_SCHEMA_TYPE:
+ setXmlSchemaType((EXmlSchemaType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)null);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_JAVA_TYPE_ADAPTER:
+ setXmlJavaTypeAdapter((EXmlJavaTypeAdapter)null);
+ return;
+ case OxmPackage.EXML_ELEMENT__CONTAINER_TYPE:
+ setContainerType(CONTAINER_TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_PROPERTIES:
+ getXmlProperties().clear();
+ return;
+ case OxmPackage.EXML_ELEMENT__READ_ONLY:
+ setReadOnly(READ_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__WRITE_ONLY:
+ setWriteOnly(WRITE_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__NAMESPACE:
+ setNamespace(NAMESPACE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__DEFAULT_VALUE:
+ setDefaultValue(DEFAULT_VALUE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__NILLABLE:
+ setNillable(NILLABLE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__REQUIRED:
+ setRequired(REQUIRED_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_ID:
+ setXmlId(XML_ID_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_ID_REF:
+ setXmlIdRef(XML_ID_REF_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_KEY:
+ setXmlKey(XML_KEY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_LIST:
+ setXmlList(XML_LIST_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_INLINE_BINARY_DATA:
+ setXmlInlineBinaryData(XML_INLINE_BINARY_DATA_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_ATTACHMENT_REF:
+ setXmlAttachmentRef(XML_ATTACHMENT_REF_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_MIME_TYPE:
+ setXmlMimeType(XML_MIME_TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__CDATA:
+ setCdata(CDATA_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_PATH:
+ setXmlPath(XML_PATH_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_LOCATION:
+ setXmlLocation(XML_LOCATION_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_ABSTRACT_NULL_POLICY:
+ setXmlAbstractNullPolicy((EAbstractXmlNullPolicy)null);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_ELEMENT_WRAPPER:
+ setXmlElementWrapper((EXmlElementWrapper)null);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_MAP:
+ setXmlMap((EXmlElementWrapper)null);
+ return;
+ case OxmPackage.EXML_ELEMENT__XML_SCHEMA_TYPE:
+ setXmlSchemaType((EXmlSchemaType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT__XML_ACCESS_METHODS:
+ return xmlAccessMethods != null;
+ case OxmPackage.EXML_ELEMENT__XML_JAVA_TYPE_ADAPTER:
+ return xmlJavaTypeAdapter != null;
+ case OxmPackage.EXML_ELEMENT__CONTAINER_TYPE:
+ return CONTAINER_TYPE_EDEFAULT == null ? containerType != null : !CONTAINER_TYPE_EDEFAULT.equals(containerType);
+ case OxmPackage.EXML_ELEMENT__XML_PROPERTIES:
+ return xmlProperties != null && !xmlProperties.isEmpty();
+ case OxmPackage.EXML_ELEMENT__READ_ONLY:
+ return readOnly != READ_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT__WRITE_ONLY:
+ return writeOnly != WRITE_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OxmPackage.EXML_ELEMENT__NAMESPACE:
+ return NAMESPACE_EDEFAULT == null ? namespace != null : !NAMESPACE_EDEFAULT.equals(namespace);
+ case OxmPackage.EXML_ELEMENT__DEFAULT_VALUE:
+ return DEFAULT_VALUE_EDEFAULT == null ? defaultValue != null : !DEFAULT_VALUE_EDEFAULT.equals(defaultValue);
+ case OxmPackage.EXML_ELEMENT__NILLABLE:
+ return nillable != NILLABLE_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT__REQUIRED:
+ return required != REQUIRED_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT__XML_ID:
+ return xmlId != XML_ID_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT__XML_ID_REF:
+ return xmlIdRef != XML_ID_REF_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT__XML_KEY:
+ return xmlKey != XML_KEY_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT__XML_LIST:
+ return xmlList != XML_LIST_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT__XML_INLINE_BINARY_DATA:
+ return xmlInlineBinaryData != XML_INLINE_BINARY_DATA_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT__XML_ATTACHMENT_REF:
+ return xmlAttachmentRef != XML_ATTACHMENT_REF_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT__XML_MIME_TYPE:
+ return XML_MIME_TYPE_EDEFAULT == null ? xmlMimeType != null : !XML_MIME_TYPE_EDEFAULT.equals(xmlMimeType);
+ case OxmPackage.EXML_ELEMENT__CDATA:
+ return cdata != CDATA_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT__XML_PATH:
+ return XML_PATH_EDEFAULT == null ? xmlPath != null : !XML_PATH_EDEFAULT.equals(xmlPath);
+ case OxmPackage.EXML_ELEMENT__XML_LOCATION:
+ return xmlLocation != XML_LOCATION_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT__XML_ABSTRACT_NULL_POLICY:
+ return xmlAbstractNullPolicy != null;
+ case OxmPackage.EXML_ELEMENT__XML_ELEMENT_WRAPPER:
+ return xmlElementWrapper != null;
+ case OxmPackage.EXML_ELEMENT__XML_MAP:
+ return xmlMap != null;
+ case OxmPackage.EXML_ELEMENT__XML_SCHEMA_TYPE:
+ return xmlSchemaType != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT__XML_ACCESS_METHODS: return OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAdaptableJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT__XML_JAVA_TYPE_ADAPTER: return OxmPackage.EADAPTABLE_JAVA_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT__CONTAINER_TYPE: return OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT__XML_PROPERTIES: return OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT__READ_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY;
+ case OxmPackage.EXML_ELEMENT__WRITE_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS: return OxmPackage.EXML_ELEMENT__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAdaptableJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EADAPTABLE_JAVA_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER: return OxmPackage.EXML_ELEMENT__XML_JAVA_TYPE_ADAPTER;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE: return OxmPackage.EXML_ELEMENT__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES: return OxmPackage.EXML_ELEMENT__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY: return OxmPackage.EXML_ELEMENT__READ_ONLY;
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY: return OxmPackage.EXML_ELEMENT__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (containerType: ");
+ result.append(containerType);
+ result.append(", readOnly: ");
+ result.append(readOnly);
+ result.append(", writeOnly: ");
+ result.append(writeOnly);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", namespace: ");
+ result.append(namespace);
+ result.append(", defaultValue: ");
+ result.append(defaultValue);
+ result.append(", nillable: ");
+ result.append(nillable);
+ result.append(", required: ");
+ result.append(required);
+ result.append(", xmlId: ");
+ result.append(xmlId);
+ result.append(", xmlIdRef: ");
+ result.append(xmlIdRef);
+ result.append(", xmlKey: ");
+ result.append(xmlKey);
+ result.append(", xmlList: ");
+ result.append(xmlList);
+ result.append(", xmlInlineBinaryData: ");
+ result.append(xmlInlineBinaryData);
+ result.append(", xmlAttachmentRef: ");
+ result.append(xmlAttachmentRef);
+ result.append(", xmlMimeType: ");
+ result.append(xmlMimeType);
+ result.append(", cdata: ");
+ result.append(cdata);
+ result.append(", xmlPath: ");
+ result.append(xmlPath);
+ result.append(", xmlLocation: ");
+ result.append(xmlLocation);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ***** translators *****
+
+ static class XmlElementTranslator
+ extends AbstractJavaAttributeTranslator {
+
+ XmlElementTranslator(String domPathAndName, EStructuralFeature eStructuralFeature) {
+ super(domPathAndName, eStructuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ };
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return OxmFactory.eINSTANCE.createEXmlElement();
+ }
+ }
+}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementDecl.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementDecl.java
new file mode 100644
index 0000000000..b92d912570
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementDecl.java
@@ -0,0 +1,651 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Element Decl</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getJavaMethod <em>Java Method</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getScope <em>Scope</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getSubstitutionHeadName <em>Substitution Head Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getSubstitutionHeadNamespace <em>Substitution Head Namespace</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementDecl()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class EXmlElementDecl extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getJavaMethod() <em>Java Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJavaMethod()
+ * @generated
+ * @ordered
+ */
+ protected static final String JAVA_METHOD_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getJavaMethod() <em>Java Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJavaMethod()
+ * @generated
+ * @ordered
+ */
+ protected String javaMethod = JAVA_METHOD_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 #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAMESPACE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected String namespace = NAMESPACE_EDEFAULT;
+ /**
+ * The default value of the '{@link #getDefaultValue() <em>Default Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEFAULT_VALUE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getDefaultValue() <em>Default Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultValue()
+ * @generated
+ * @ordered
+ */
+ protected String defaultValue = DEFAULT_VALUE_EDEFAULT;
+ /**
+ * The default value of the '{@link #getScope() <em>Scope</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScope()
+ * @generated
+ * @ordered
+ */
+ protected static final String SCOPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getScope() <em>Scope</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScope()
+ * @generated
+ * @ordered
+ */
+ protected String scope = SCOPE_EDEFAULT;
+ /**
+ * The default value of the '{@link #getSubstitutionHeadName() <em>Substitution Head Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubstitutionHeadName()
+ * @generated
+ * @ordered
+ */
+ protected static final String SUBSTITUTION_HEAD_NAME_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getSubstitutionHeadName() <em>Substitution Head Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubstitutionHeadName()
+ * @generated
+ * @ordered
+ */
+ protected String substitutionHeadName = SUBSTITUTION_HEAD_NAME_EDEFAULT;
+ /**
+ * The default value of the '{@link #getSubstitutionHeadNamespace() <em>Substitution Head Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubstitutionHeadNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final String SUBSTITUTION_HEAD_NAMESPACE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getSubstitutionHeadNamespace() <em>Substitution Head Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubstitutionHeadNamespace()
+ * @generated
+ * @ordered
+ */
+ protected String substitutionHeadNamespace = SUBSTITUTION_HEAD_NAMESPACE_EDEFAULT;
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlElementDecl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_ELEMENT_DECL;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Java Method</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Java Method</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Java Method</em>' attribute.
+ * @see #setJavaMethod(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementDecl_JavaMethod()
+ * @model
+ * @generated
+ */
+ public String getJavaMethod()
+ {
+ return javaMethod;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getJavaMethod <em>Java Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Java Method</em>' attribute.
+ * @see #getJavaMethod()
+ * @generated
+ */
+ public void setJavaMethod(String newJavaMethod)
+ {
+ String oldJavaMethod = javaMethod;
+ javaMethod = newJavaMethod;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_DECL__JAVA_METHOD, oldJavaMethod, javaMethod));
+ }
+
+ /**
+ * 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.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementDecl_Name()
+ * @model
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#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, OxmPackage.EXML_ELEMENT_DECL__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Namespace</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Namespace</em>' attribute.
+ * @see #setNamespace(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementDecl_Namespace()
+ * @model
+ * @generated
+ */
+ public String getNamespace()
+ {
+ return namespace;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getNamespace <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Namespace</em>' attribute.
+ * @see #getNamespace()
+ * @generated
+ */
+ public void setNamespace(String newNamespace)
+ {
+ String oldNamespace = namespace;
+ namespace = newNamespace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_DECL__NAMESPACE, oldNamespace, namespace));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Default Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default 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 Value</em>' attribute.
+ * @see #setDefaultValue(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementDecl_DefaultValue()
+ * @model
+ * @generated
+ */
+ public String getDefaultValue()
+ {
+ return defaultValue;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getDefaultValue <em>Default Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default Value</em>' attribute.
+ * @see #getDefaultValue()
+ * @generated
+ */
+ public void setDefaultValue(String newDefaultValue)
+ {
+ String oldDefaultValue = defaultValue;
+ defaultValue = newDefaultValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_DECL__DEFAULT_VALUE, oldDefaultValue, defaultValue));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Scope</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Scope</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Scope</em>' attribute.
+ * @see #setScope(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementDecl_Scope()
+ * @model
+ * @generated
+ */
+ public String getScope()
+ {
+ return scope;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getScope <em>Scope</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Scope</em>' attribute.
+ * @see #getScope()
+ * @generated
+ */
+ public void setScope(String newScope)
+ {
+ String oldScope = scope;
+ scope = newScope;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_DECL__SCOPE, oldScope, scope));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Substitution Head Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Substitution Head 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>Substitution Head Name</em>' attribute.
+ * @see #setSubstitutionHeadName(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementDecl_SubstitutionHeadName()
+ * @model
+ * @generated
+ */
+ public String getSubstitutionHeadName()
+ {
+ return substitutionHeadName;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getSubstitutionHeadName <em>Substitution Head Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Substitution Head Name</em>' attribute.
+ * @see #getSubstitutionHeadName()
+ * @generated
+ */
+ public void setSubstitutionHeadName(String newSubstitutionHeadName)
+ {
+ String oldSubstitutionHeadName = substitutionHeadName;
+ substitutionHeadName = newSubstitutionHeadName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_DECL__SUBSTITUTION_HEAD_NAME, oldSubstitutionHeadName, substitutionHeadName));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Substitution Head Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Substitution Head Namespace</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Substitution Head Namespace</em>' attribute.
+ * @see #setSubstitutionHeadNamespace(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementDecl_SubstitutionHeadNamespace()
+ * @model
+ * @generated
+ */
+ public String getSubstitutionHeadNamespace()
+ {
+ return substitutionHeadNamespace;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getSubstitutionHeadNamespace <em>Substitution Head Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Substitution Head Namespace</em>' attribute.
+ * @see #getSubstitutionHeadNamespace()
+ * @generated
+ */
+ public void setSubstitutionHeadNamespace(String newSubstitutionHeadNamespace)
+ {
+ String oldSubstitutionHeadNamespace = substitutionHeadNamespace;
+ substitutionHeadNamespace = newSubstitutionHeadNamespace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_DECL__SUBSTITUTION_HEAD_NAMESPACE, oldSubstitutionHeadNamespace, substitutionHeadNamespace));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementDecl_Type()
+ * @model
+ * @generated
+ */
+ public String getType()
+ {
+ return type;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementDecl#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ public void setType(String newType)
+ {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_DECL__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_DECL__JAVA_METHOD:
+ return getJavaMethod();
+ case OxmPackage.EXML_ELEMENT_DECL__NAME:
+ return getName();
+ case OxmPackage.EXML_ELEMENT_DECL__NAMESPACE:
+ return getNamespace();
+ case OxmPackage.EXML_ELEMENT_DECL__DEFAULT_VALUE:
+ return getDefaultValue();
+ case OxmPackage.EXML_ELEMENT_DECL__SCOPE:
+ return getScope();
+ case OxmPackage.EXML_ELEMENT_DECL__SUBSTITUTION_HEAD_NAME:
+ return getSubstitutionHeadName();
+ case OxmPackage.EXML_ELEMENT_DECL__SUBSTITUTION_HEAD_NAMESPACE:
+ return getSubstitutionHeadNamespace();
+ case OxmPackage.EXML_ELEMENT_DECL__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_DECL__JAVA_METHOD:
+ setJavaMethod((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__NAME:
+ setName((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__NAMESPACE:
+ setNamespace((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__DEFAULT_VALUE:
+ setDefaultValue((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__SCOPE:
+ setScope((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__SUBSTITUTION_HEAD_NAME:
+ setSubstitutionHeadName((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__SUBSTITUTION_HEAD_NAMESPACE:
+ setSubstitutionHeadNamespace((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__TYPE:
+ setType((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_DECL__JAVA_METHOD:
+ setJavaMethod(JAVA_METHOD_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__NAMESPACE:
+ setNamespace(NAMESPACE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__DEFAULT_VALUE:
+ setDefaultValue(DEFAULT_VALUE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__SCOPE:
+ setScope(SCOPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__SUBSTITUTION_HEAD_NAME:
+ setSubstitutionHeadName(SUBSTITUTION_HEAD_NAME_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__SUBSTITUTION_HEAD_NAMESPACE:
+ setSubstitutionHeadNamespace(SUBSTITUTION_HEAD_NAMESPACE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_DECL__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_DECL__JAVA_METHOD:
+ return JAVA_METHOD_EDEFAULT == null ? javaMethod != null : !JAVA_METHOD_EDEFAULT.equals(javaMethod);
+ case OxmPackage.EXML_ELEMENT_DECL__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OxmPackage.EXML_ELEMENT_DECL__NAMESPACE:
+ return NAMESPACE_EDEFAULT == null ? namespace != null : !NAMESPACE_EDEFAULT.equals(namespace);
+ case OxmPackage.EXML_ELEMENT_DECL__DEFAULT_VALUE:
+ return DEFAULT_VALUE_EDEFAULT == null ? defaultValue != null : !DEFAULT_VALUE_EDEFAULT.equals(defaultValue);
+ case OxmPackage.EXML_ELEMENT_DECL__SCOPE:
+ return SCOPE_EDEFAULT == null ? scope != null : !SCOPE_EDEFAULT.equals(scope);
+ case OxmPackage.EXML_ELEMENT_DECL__SUBSTITUTION_HEAD_NAME:
+ return SUBSTITUTION_HEAD_NAME_EDEFAULT == null ? substitutionHeadName != null : !SUBSTITUTION_HEAD_NAME_EDEFAULT.equals(substitutionHeadName);
+ case OxmPackage.EXML_ELEMENT_DECL__SUBSTITUTION_HEAD_NAMESPACE:
+ return SUBSTITUTION_HEAD_NAMESPACE_EDEFAULT == null ? substitutionHeadNamespace != null : !SUBSTITUTION_HEAD_NAMESPACE_EDEFAULT.equals(substitutionHeadNamespace);
+ case OxmPackage.EXML_ELEMENT_DECL__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ }
+ 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(" (javaMethod: ");
+ result.append(javaMethod);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", namespace: ");
+ result.append(namespace);
+ result.append(", defaultValue: ");
+ result.append(defaultValue);
+ result.append(", scope: ");
+ result.append(scope);
+ result.append(", substitutionHeadName: ");
+ result.append(substitutionHeadName);
+ result.append(", substitutionHeadNamespace: ");
+ result.append(substitutionHeadNamespace);
+ result.append(", type: ");
+ result.append(type);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EXmlElementDecl
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementRef.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementRef.java
new file mode 100644
index 0000000000..87425ab555
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementRef.java
@@ -0,0 +1,1039 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+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.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Element Ref</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#isXmlMixed <em>Xml Mixed</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#getXmlElementWrapper <em>Xml Element Wrapper</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementRef()
+ * @model kind="class"
+ * @generated
+ */
+public class EXmlElementRef extends EJavaAttribute implements EAccessibleJavaAttribute, EAdaptableJavaAttribute, EContainerJavaAttribute, EReadWriteJavaAttribute, ETypedJavaAttribute, EPropertyHolder
+{
+ /**
+ * The cached value of the '{@link #getXmlAccessMethods() <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessMethods()
+ * @generated
+ * @ordered
+ */
+ protected EXmlAccessMethods xmlAccessMethods;
+ /**
+ * The cached value of the '{@link #getXmlJavaTypeAdapter() <em>Xml Java Type Adapter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlJavaTypeAdapter()
+ * @generated
+ * @ordered
+ */
+ protected EXmlJavaTypeAdapter xmlJavaTypeAdapter;
+ /**
+ * The default value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONTAINER_TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected String containerType = CONTAINER_TYPE_EDEFAULT;
+ /**
+ * The default value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean READ_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean readOnly = READ_ONLY_EDEFAULT;
+ /**
+ * The default value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean WRITE_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean writeOnly = WRITE_ONLY_EDEFAULT;
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlProperties() <em>Xml Properties</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlProperty> xmlProperties;
+ /**
+ * 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 #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAMESPACE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected String namespace = NAMESPACE_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlMixed() <em>Xml Mixed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlMixed()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_MIXED_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlMixed() <em>Xml Mixed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlMixed()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlMixed = XML_MIXED_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlElementWrapper() <em>Xml Element Wrapper</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlElementWrapper()
+ * @generated
+ * @ordered
+ */
+ protected EXmlElementWrapper xmlElementWrapper;
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlElementRef()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_ELEMENT_REF;
+ }
+
+
+ /**
+ * Returns the value of the '<em><b>Xml Access Methods</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Access Methods</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>Xml Access Methods</em>' containment reference.
+ * @see #setXmlAccessMethods(EXmlAccessMethods)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAccessibleJavaAttribute_XmlAccessMethods()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlAccessMethods getXmlAccessMethods()
+ {
+ return xmlAccessMethods;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods, NotificationChain msgs)
+ {
+ EXmlAccessMethods oldXmlAccessMethods = xmlAccessMethods;
+ xmlAccessMethods = newXmlAccessMethods;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REF__XML_ACCESS_METHODS, oldXmlAccessMethods, newXmlAccessMethods);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#getXmlAccessMethods <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Access Methods</em>' containment reference.
+ * @see #getXmlAccessMethods()
+ * @generated
+ */
+ public void setXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods)
+ {
+ if (newXmlAccessMethods != xmlAccessMethods)
+ {
+ NotificationChain msgs = null;
+ if (xmlAccessMethods != null)
+ msgs = ((InternalEObject)xmlAccessMethods).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT_REF__XML_ACCESS_METHODS, null, msgs);
+ if (newXmlAccessMethods != null)
+ msgs = ((InternalEObject)newXmlAccessMethods).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT_REF__XML_ACCESS_METHODS, null, msgs);
+ msgs = basicSetXmlAccessMethods(newXmlAccessMethods, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REF__XML_ACCESS_METHODS, newXmlAccessMethods, newXmlAccessMethods));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Java Type Adapter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Java Type Adapter</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>Xml Java Type Adapter</em>' containment reference.
+ * @see #setXmlJavaTypeAdapter(EXmlJavaTypeAdapter)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAdaptableJavaAttribute_XmlJavaTypeAdapter()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlJavaTypeAdapter getXmlJavaTypeAdapter()
+ {
+ return xmlJavaTypeAdapter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlJavaTypeAdapter(EXmlJavaTypeAdapter newXmlJavaTypeAdapter, NotificationChain msgs)
+ {
+ EXmlJavaTypeAdapter oldXmlJavaTypeAdapter = xmlJavaTypeAdapter;
+ xmlJavaTypeAdapter = newXmlJavaTypeAdapter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REF__XML_JAVA_TYPE_ADAPTER, oldXmlJavaTypeAdapter, newXmlJavaTypeAdapter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#getXmlJavaTypeAdapter <em>Xml Java Type Adapter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Java Type Adapter</em>' containment reference.
+ * @see #getXmlJavaTypeAdapter()
+ * @generated
+ */
+ public void setXmlJavaTypeAdapter(EXmlJavaTypeAdapter newXmlJavaTypeAdapter)
+ {
+ if (newXmlJavaTypeAdapter != xmlJavaTypeAdapter)
+ {
+ NotificationChain msgs = null;
+ if (xmlJavaTypeAdapter != null)
+ msgs = ((InternalEObject)xmlJavaTypeAdapter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT_REF__XML_JAVA_TYPE_ADAPTER, null, msgs);
+ if (newXmlJavaTypeAdapter != null)
+ msgs = ((InternalEObject)newXmlJavaTypeAdapter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT_REF__XML_JAVA_TYPE_ADAPTER, null, msgs);
+ msgs = basicSetXmlJavaTypeAdapter(newXmlJavaTypeAdapter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REF__XML_JAVA_TYPE_ADAPTER, newXmlJavaTypeAdapter, newXmlJavaTypeAdapter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Container Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Container 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>Container Type</em>' attribute.
+ * @see #setContainerType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEContainerJavaAttribute_ContainerType()
+ * @model
+ * @generated
+ */
+ public String getContainerType()
+ {
+ return containerType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#getContainerType <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Container Type</em>' attribute.
+ * @see #getContainerType()
+ * @generated
+ */
+ public void setContainerType(String newContainerType)
+ {
+ String oldContainerType = containerType;
+ containerType = newContainerType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REF__CONTAINER_TYPE, oldContainerType, containerType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Read Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Read Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Read Only</em>' attribute.
+ * @see #setReadOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_ReadOnly()
+ * @model
+ * @generated
+ */
+ public boolean isReadOnly()
+ {
+ return readOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#isReadOnly <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Read Only</em>' attribute.
+ * @see #isReadOnly()
+ * @generated
+ */
+ public void setReadOnly(boolean newReadOnly)
+ {
+ boolean oldReadOnly = readOnly;
+ readOnly = newReadOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REF__READ_ONLY, oldReadOnly, readOnly));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Write Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Write Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Write Only</em>' attribute.
+ * @see #setWriteOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_WriteOnly()
+ * @model
+ * @generated
+ */
+ public boolean isWriteOnly()
+ {
+ return writeOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#isWriteOnly <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Write Only</em>' attribute.
+ * @see #isWriteOnly()
+ * @generated
+ */
+ public void setWriteOnly(boolean newWriteOnly)
+ {
+ boolean oldWriteOnly = writeOnly;
+ writeOnly = newWriteOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REF__WRITE_ONLY, oldWriteOnly, writeOnly));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getETypedJavaAttribute_Type()
+ * @model
+ * @generated
+ */
+ public String getType()
+ {
+ return type;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ public void setType(String newType)
+ {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REF__TYPE, oldType, type));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Properties</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>Xml Properties</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEPropertyHolder_XmlProperties()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlProperty> getXmlProperties()
+ {
+ if (xmlProperties == null)
+ {
+ xmlProperties = new EObjectContainmentEList<EXmlProperty>(EXmlProperty.class, this, OxmPackage.EXML_ELEMENT_REF__XML_PROPERTIES);
+ }
+ return xmlProperties;
+ }
+
+ /**
+ * 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.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementRef_Name()
+ * @model
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#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, OxmPackage.EXML_ELEMENT_REF__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Namespace</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Namespace</em>' attribute.
+ * @see #setNamespace(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementRef_Namespace()
+ * @model
+ * @generated
+ */
+ public String getNamespace()
+ {
+ return namespace;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#getNamespace <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Namespace</em>' attribute.
+ * @see #getNamespace()
+ * @generated
+ */
+ public void setNamespace(String newNamespace)
+ {
+ String oldNamespace = namespace;
+ namespace = newNamespace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REF__NAMESPACE, oldNamespace, namespace));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Mixed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Mixed</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Mixed</em>' attribute.
+ * @see #setXmlMixed(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementRef_XmlMixed()
+ * @model
+ * @generated
+ */
+ public boolean isXmlMixed()
+ {
+ return xmlMixed;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#isXmlMixed <em>Xml Mixed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Mixed</em>' attribute.
+ * @see #isXmlMixed()
+ * @generated
+ */
+ public void setXmlMixed(boolean newXmlMixed)
+ {
+ boolean oldXmlMixed = xmlMixed;
+ xmlMixed = newXmlMixed;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REF__XML_MIXED, oldXmlMixed, xmlMixed));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Element Wrapper</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Element Wrapper</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>Xml Element Wrapper</em>' containment reference.
+ * @see #setXmlElementWrapper(EXmlElementWrapper)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementRef_XmlElementWrapper()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlElementWrapper getXmlElementWrapper()
+ {
+ return xmlElementWrapper;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlElementWrapper(EXmlElementWrapper newXmlElementWrapper, NotificationChain msgs)
+ {
+ EXmlElementWrapper oldXmlElementWrapper = xmlElementWrapper;
+ xmlElementWrapper = newXmlElementWrapper;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REF__XML_ELEMENT_WRAPPER, oldXmlElementWrapper, newXmlElementWrapper);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef#getXmlElementWrapper <em>Xml Element Wrapper</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Element Wrapper</em>' containment reference.
+ * @see #getXmlElementWrapper()
+ * @generated
+ */
+ public void setXmlElementWrapper(EXmlElementWrapper newXmlElementWrapper)
+ {
+ if (newXmlElementWrapper != xmlElementWrapper)
+ {
+ NotificationChain msgs = null;
+ if (xmlElementWrapper != null)
+ msgs = ((InternalEObject)xmlElementWrapper).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT_REF__XML_ELEMENT_WRAPPER, null, msgs);
+ if (newXmlElementWrapper != null)
+ msgs = ((InternalEObject)newXmlElementWrapper).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT_REF__XML_ELEMENT_WRAPPER, null, msgs);
+ msgs = basicSetXmlElementWrapper(newXmlElementWrapper, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REF__XML_ELEMENT_WRAPPER, newXmlElementWrapper, newXmlElementWrapper));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REF__XML_ACCESS_METHODS:
+ return basicSetXmlAccessMethods(null, msgs);
+ case OxmPackage.EXML_ELEMENT_REF__XML_JAVA_TYPE_ADAPTER:
+ return basicSetXmlJavaTypeAdapter(null, msgs);
+ case OxmPackage.EXML_ELEMENT_REF__XML_PROPERTIES:
+ return ((InternalEList<?>)getXmlProperties()).basicRemove(otherEnd, msgs);
+ case OxmPackage.EXML_ELEMENT_REF__XML_ELEMENT_WRAPPER:
+ return basicSetXmlElementWrapper(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REF__XML_ACCESS_METHODS:
+ return getXmlAccessMethods();
+ case OxmPackage.EXML_ELEMENT_REF__XML_JAVA_TYPE_ADAPTER:
+ return getXmlJavaTypeAdapter();
+ case OxmPackage.EXML_ELEMENT_REF__CONTAINER_TYPE:
+ return getContainerType();
+ case OxmPackage.EXML_ELEMENT_REF__READ_ONLY:
+ return isReadOnly();
+ case OxmPackage.EXML_ELEMENT_REF__WRITE_ONLY:
+ return isWriteOnly();
+ case OxmPackage.EXML_ELEMENT_REF__TYPE:
+ return getType();
+ case OxmPackage.EXML_ELEMENT_REF__XML_PROPERTIES:
+ return getXmlProperties();
+ case OxmPackage.EXML_ELEMENT_REF__NAME:
+ return getName();
+ case OxmPackage.EXML_ELEMENT_REF__NAMESPACE:
+ return getNamespace();
+ case OxmPackage.EXML_ELEMENT_REF__XML_MIXED:
+ return isXmlMixed();
+ case OxmPackage.EXML_ELEMENT_REF__XML_ELEMENT_WRAPPER:
+ return getXmlElementWrapper();
+ }
+ 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 OxmPackage.EXML_ELEMENT_REF__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__XML_JAVA_TYPE_ADAPTER:
+ setXmlJavaTypeAdapter((EXmlJavaTypeAdapter)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__CONTAINER_TYPE:
+ setContainerType((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__READ_ONLY:
+ setReadOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__WRITE_ONLY:
+ setWriteOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__TYPE:
+ setType((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__XML_PROPERTIES:
+ getXmlProperties().clear();
+ getXmlProperties().addAll((Collection<? extends EXmlProperty>)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__NAME:
+ setName((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__NAMESPACE:
+ setNamespace((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__XML_MIXED:
+ setXmlMixed((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__XML_ELEMENT_WRAPPER:
+ setXmlElementWrapper((EXmlElementWrapper)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REF__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)null);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__XML_JAVA_TYPE_ADAPTER:
+ setXmlJavaTypeAdapter((EXmlJavaTypeAdapter)null);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__CONTAINER_TYPE:
+ setContainerType(CONTAINER_TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__READ_ONLY:
+ setReadOnly(READ_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__WRITE_ONLY:
+ setWriteOnly(WRITE_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__XML_PROPERTIES:
+ getXmlProperties().clear();
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__NAMESPACE:
+ setNamespace(NAMESPACE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__XML_MIXED:
+ setXmlMixed(XML_MIXED_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_REF__XML_ELEMENT_WRAPPER:
+ setXmlElementWrapper((EXmlElementWrapper)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REF__XML_ACCESS_METHODS:
+ return xmlAccessMethods != null;
+ case OxmPackage.EXML_ELEMENT_REF__XML_JAVA_TYPE_ADAPTER:
+ return xmlJavaTypeAdapter != null;
+ case OxmPackage.EXML_ELEMENT_REF__CONTAINER_TYPE:
+ return CONTAINER_TYPE_EDEFAULT == null ? containerType != null : !CONTAINER_TYPE_EDEFAULT.equals(containerType);
+ case OxmPackage.EXML_ELEMENT_REF__READ_ONLY:
+ return readOnly != READ_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT_REF__WRITE_ONLY:
+ return writeOnly != WRITE_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT_REF__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ case OxmPackage.EXML_ELEMENT_REF__XML_PROPERTIES:
+ return xmlProperties != null && !xmlProperties.isEmpty();
+ case OxmPackage.EXML_ELEMENT_REF__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OxmPackage.EXML_ELEMENT_REF__NAMESPACE:
+ return NAMESPACE_EDEFAULT == null ? namespace != null : !NAMESPACE_EDEFAULT.equals(namespace);
+ case OxmPackage.EXML_ELEMENT_REF__XML_MIXED:
+ return xmlMixed != XML_MIXED_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT_REF__XML_ELEMENT_WRAPPER:
+ return xmlElementWrapper != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REF__XML_ACCESS_METHODS: return OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAdaptableJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REF__XML_JAVA_TYPE_ADAPTER: return OxmPackage.EADAPTABLE_JAVA_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REF__CONTAINER_TYPE: return OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REF__READ_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY;
+ case OxmPackage.EXML_ELEMENT_REF__WRITE_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ if (baseClass == ETypedJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REF__TYPE: return OxmPackage.ETYPED_JAVA_ATTRIBUTE__TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REF__XML_PROPERTIES: return OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS: return OxmPackage.EXML_ELEMENT_REF__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAdaptableJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EADAPTABLE_JAVA_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER: return OxmPackage.EXML_ELEMENT_REF__XML_JAVA_TYPE_ADAPTER;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE: return OxmPackage.EXML_ELEMENT_REF__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY: return OxmPackage.EXML_ELEMENT_REF__READ_ONLY;
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY: return OxmPackage.EXML_ELEMENT_REF__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ if (baseClass == ETypedJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.ETYPED_JAVA_ATTRIBUTE__TYPE: return OxmPackage.EXML_ELEMENT_REF__TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES: return OxmPackage.EXML_ELEMENT_REF__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (containerType: ");
+ result.append(containerType);
+ result.append(", readOnly: ");
+ result.append(readOnly);
+ result.append(", writeOnly: ");
+ result.append(writeOnly);
+ result.append(", type: ");
+ result.append(type);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", namespace: ");
+ result.append(namespace);
+ result.append(", xmlMixed: ");
+ result.append(xmlMixed);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ***** translators *****
+
+ static class XmlElementRefTranslator
+ extends AbstractJavaAttributeTranslator {
+
+ XmlElementRefTranslator(String domPathAndName, EStructuralFeature eStructuralFeature) {
+ super(domPathAndName, eStructuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ };
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return OxmFactory.eINSTANCE.createEXmlElementRef();
+ }
+ }
+}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementRefs.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementRefs.java
new file mode 100644
index 0000000000..af98164163
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementRefs.java
@@ -0,0 +1,791 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+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.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Element Refs</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRefs#isXmlMixed <em>Xml Mixed</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRefs#getXmlElementRefs <em>Xml Element Refs</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRefs#getXmlElementWrapper <em>Xml Element Wrapper</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementRefs()
+ * @model kind="class"
+ * @generated
+ */
+public class EXmlElementRefs extends EJavaAttribute implements EAccessibleJavaAttribute, EAdaptableJavaAttribute, EReadWriteJavaAttribute, EPropertyHolder
+{
+ /**
+ * The cached value of the '{@link #getXmlAccessMethods() <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessMethods()
+ * @generated
+ * @ordered
+ */
+ protected EXmlAccessMethods xmlAccessMethods;
+ /**
+ * The cached value of the '{@link #getXmlJavaTypeAdapter() <em>Xml Java Type Adapter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlJavaTypeAdapter()
+ * @generated
+ * @ordered
+ */
+ protected EXmlJavaTypeAdapter xmlJavaTypeAdapter;
+ /**
+ * The default value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean READ_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean readOnly = READ_ONLY_EDEFAULT;
+ /**
+ * The default value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean WRITE_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean writeOnly = WRITE_ONLY_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlProperties() <em>Xml Properties</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlProperty> xmlProperties;
+ /**
+ * The default value of the '{@link #isXmlMixed() <em>Xml Mixed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlMixed()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_MIXED_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlMixed() <em>Xml Mixed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlMixed()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlMixed = XML_MIXED_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlElementRefs() <em>Xml Element Refs</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlElementRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlElementRef> xmlElementRefs;
+ /**
+ * The cached value of the '{@link #getXmlElementWrapper() <em>Xml Element Wrapper</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlElementWrapper()
+ * @generated
+ * @ordered
+ */
+ protected EXmlElementWrapper xmlElementWrapper;
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlElementRefs()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_ELEMENT_REFS;
+ }
+
+
+ /**
+ * Returns the value of the '<em><b>Xml Access Methods</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Access Methods</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>Xml Access Methods</em>' containment reference.
+ * @see #setXmlAccessMethods(EXmlAccessMethods)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAccessibleJavaAttribute_XmlAccessMethods()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlAccessMethods getXmlAccessMethods()
+ {
+ return xmlAccessMethods;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods, NotificationChain msgs)
+ {
+ EXmlAccessMethods oldXmlAccessMethods = xmlAccessMethods;
+ xmlAccessMethods = newXmlAccessMethods;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REFS__XML_ACCESS_METHODS, oldXmlAccessMethods, newXmlAccessMethods);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRefs#getXmlAccessMethods <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Access Methods</em>' containment reference.
+ * @see #getXmlAccessMethods()
+ * @generated
+ */
+ public void setXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods)
+ {
+ if (newXmlAccessMethods != xmlAccessMethods)
+ {
+ NotificationChain msgs = null;
+ if (xmlAccessMethods != null)
+ msgs = ((InternalEObject)xmlAccessMethods).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT_REFS__XML_ACCESS_METHODS, null, msgs);
+ if (newXmlAccessMethods != null)
+ msgs = ((InternalEObject)newXmlAccessMethods).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT_REFS__XML_ACCESS_METHODS, null, msgs);
+ msgs = basicSetXmlAccessMethods(newXmlAccessMethods, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REFS__XML_ACCESS_METHODS, newXmlAccessMethods, newXmlAccessMethods));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Java Type Adapter</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Java Type Adapter</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>Xml Java Type Adapter</em>' containment reference.
+ * @see #setXmlJavaTypeAdapter(EXmlJavaTypeAdapter)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAdaptableJavaAttribute_XmlJavaTypeAdapter()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlJavaTypeAdapter getXmlJavaTypeAdapter()
+ {
+ return xmlJavaTypeAdapter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlJavaTypeAdapter(EXmlJavaTypeAdapter newXmlJavaTypeAdapter, NotificationChain msgs)
+ {
+ EXmlJavaTypeAdapter oldXmlJavaTypeAdapter = xmlJavaTypeAdapter;
+ xmlJavaTypeAdapter = newXmlJavaTypeAdapter;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REFS__XML_JAVA_TYPE_ADAPTER, oldXmlJavaTypeAdapter, newXmlJavaTypeAdapter);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRefs#getXmlJavaTypeAdapter <em>Xml Java Type Adapter</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Java Type Adapter</em>' containment reference.
+ * @see #getXmlJavaTypeAdapter()
+ * @generated
+ */
+ public void setXmlJavaTypeAdapter(EXmlJavaTypeAdapter newXmlJavaTypeAdapter)
+ {
+ if (newXmlJavaTypeAdapter != xmlJavaTypeAdapter)
+ {
+ NotificationChain msgs = null;
+ if (xmlJavaTypeAdapter != null)
+ msgs = ((InternalEObject)xmlJavaTypeAdapter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT_REFS__XML_JAVA_TYPE_ADAPTER, null, msgs);
+ if (newXmlJavaTypeAdapter != null)
+ msgs = ((InternalEObject)newXmlJavaTypeAdapter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT_REFS__XML_JAVA_TYPE_ADAPTER, null, msgs);
+ msgs = basicSetXmlJavaTypeAdapter(newXmlJavaTypeAdapter, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REFS__XML_JAVA_TYPE_ADAPTER, newXmlJavaTypeAdapter, newXmlJavaTypeAdapter));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Read Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Read Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Read Only</em>' attribute.
+ * @see #setReadOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_ReadOnly()
+ * @model
+ * @generated
+ */
+ public boolean isReadOnly()
+ {
+ return readOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRefs#isReadOnly <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Read Only</em>' attribute.
+ * @see #isReadOnly()
+ * @generated
+ */
+ public void setReadOnly(boolean newReadOnly)
+ {
+ boolean oldReadOnly = readOnly;
+ readOnly = newReadOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REFS__READ_ONLY, oldReadOnly, readOnly));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Write Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Write Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Write Only</em>' attribute.
+ * @see #setWriteOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_WriteOnly()
+ * @model
+ * @generated
+ */
+ public boolean isWriteOnly()
+ {
+ return writeOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRefs#isWriteOnly <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Write Only</em>' attribute.
+ * @see #isWriteOnly()
+ * @generated
+ */
+ public void setWriteOnly(boolean newWriteOnly)
+ {
+ boolean oldWriteOnly = writeOnly;
+ writeOnly = newWriteOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REFS__WRITE_ONLY, oldWriteOnly, writeOnly));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Properties</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>Xml Properties</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEPropertyHolder_XmlProperties()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlProperty> getXmlProperties()
+ {
+ if (xmlProperties == null)
+ {
+ xmlProperties = new EObjectContainmentEList<EXmlProperty>(EXmlProperty.class, this, OxmPackage.EXML_ELEMENT_REFS__XML_PROPERTIES);
+ }
+ return xmlProperties;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Mixed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Mixed</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Mixed</em>' attribute.
+ * @see #setXmlMixed(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementRefs_XmlMixed()
+ * @model
+ * @generated
+ */
+ public boolean isXmlMixed()
+ {
+ return xmlMixed;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRefs#isXmlMixed <em>Xml Mixed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Mixed</em>' attribute.
+ * @see #isXmlMixed()
+ * @generated
+ */
+ public void setXmlMixed(boolean newXmlMixed)
+ {
+ boolean oldXmlMixed = xmlMixed;
+ xmlMixed = newXmlMixed;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REFS__XML_MIXED, oldXmlMixed, xmlMixed));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Element Refs</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRef}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Element Refs</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>Xml Element Refs</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementRefs_XmlElementRefs()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlElementRef> getXmlElementRefs()
+ {
+ if (xmlElementRefs == null)
+ {
+ xmlElementRefs = new EObjectContainmentEList<EXmlElementRef>(EXmlElementRef.class, this, OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_REFS);
+ }
+ return xmlElementRefs;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Element Wrapper</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Element Wrapper</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>Xml Element Wrapper</em>' containment reference.
+ * @see #setXmlElementWrapper(EXmlElementWrapper)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementRefs_XmlElementWrapper()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlElementWrapper getXmlElementWrapper()
+ {
+ return xmlElementWrapper;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlElementWrapper(EXmlElementWrapper newXmlElementWrapper, NotificationChain msgs)
+ {
+ EXmlElementWrapper oldXmlElementWrapper = xmlElementWrapper;
+ xmlElementWrapper = newXmlElementWrapper;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_WRAPPER, oldXmlElementWrapper, newXmlElementWrapper);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementRefs#getXmlElementWrapper <em>Xml Element Wrapper</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Element Wrapper</em>' containment reference.
+ * @see #getXmlElementWrapper()
+ * @generated
+ */
+ public void setXmlElementWrapper(EXmlElementWrapper newXmlElementWrapper)
+ {
+ if (newXmlElementWrapper != xmlElementWrapper)
+ {
+ NotificationChain msgs = null;
+ if (xmlElementWrapper != null)
+ msgs = ((InternalEObject)xmlElementWrapper).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_WRAPPER, null, msgs);
+ if (newXmlElementWrapper != null)
+ msgs = ((InternalEObject)newXmlElementWrapper).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_WRAPPER, null, msgs);
+ msgs = basicSetXmlElementWrapper(newXmlElementWrapper, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_WRAPPER, newXmlElementWrapper, newXmlElementWrapper));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ACCESS_METHODS:
+ return basicSetXmlAccessMethods(null, msgs);
+ case OxmPackage.EXML_ELEMENT_REFS__XML_JAVA_TYPE_ADAPTER:
+ return basicSetXmlJavaTypeAdapter(null, msgs);
+ case OxmPackage.EXML_ELEMENT_REFS__XML_PROPERTIES:
+ return ((InternalEList<?>)getXmlProperties()).basicRemove(otherEnd, msgs);
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_REFS:
+ return ((InternalEList<?>)getXmlElementRefs()).basicRemove(otherEnd, msgs);
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_WRAPPER:
+ return basicSetXmlElementWrapper(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ACCESS_METHODS:
+ return getXmlAccessMethods();
+ case OxmPackage.EXML_ELEMENT_REFS__XML_JAVA_TYPE_ADAPTER:
+ return getXmlJavaTypeAdapter();
+ case OxmPackage.EXML_ELEMENT_REFS__READ_ONLY:
+ return isReadOnly();
+ case OxmPackage.EXML_ELEMENT_REFS__WRITE_ONLY:
+ return isWriteOnly();
+ case OxmPackage.EXML_ELEMENT_REFS__XML_PROPERTIES:
+ return getXmlProperties();
+ case OxmPackage.EXML_ELEMENT_REFS__XML_MIXED:
+ return isXmlMixed();
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_REFS:
+ return getXmlElementRefs();
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_WRAPPER:
+ return getXmlElementWrapper();
+ }
+ 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 OxmPackage.EXML_ELEMENT_REFS__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__XML_JAVA_TYPE_ADAPTER:
+ setXmlJavaTypeAdapter((EXmlJavaTypeAdapter)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__READ_ONLY:
+ setReadOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__WRITE_ONLY:
+ setWriteOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__XML_PROPERTIES:
+ getXmlProperties().clear();
+ getXmlProperties().addAll((Collection<? extends EXmlProperty>)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__XML_MIXED:
+ setXmlMixed((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_REFS:
+ getXmlElementRefs().clear();
+ getXmlElementRefs().addAll((Collection<? extends EXmlElementRef>)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_WRAPPER:
+ setXmlElementWrapper((EXmlElementWrapper)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)null);
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__XML_JAVA_TYPE_ADAPTER:
+ setXmlJavaTypeAdapter((EXmlJavaTypeAdapter)null);
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__READ_ONLY:
+ setReadOnly(READ_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__WRITE_ONLY:
+ setWriteOnly(WRITE_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__XML_PROPERTIES:
+ getXmlProperties().clear();
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__XML_MIXED:
+ setXmlMixed(XML_MIXED_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_REFS:
+ getXmlElementRefs().clear();
+ return;
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_WRAPPER:
+ setXmlElementWrapper((EXmlElementWrapper)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ACCESS_METHODS:
+ return xmlAccessMethods != null;
+ case OxmPackage.EXML_ELEMENT_REFS__XML_JAVA_TYPE_ADAPTER:
+ return xmlJavaTypeAdapter != null;
+ case OxmPackage.EXML_ELEMENT_REFS__READ_ONLY:
+ return readOnly != READ_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT_REFS__WRITE_ONLY:
+ return writeOnly != WRITE_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT_REFS__XML_PROPERTIES:
+ return xmlProperties != null && !xmlProperties.isEmpty();
+ case OxmPackage.EXML_ELEMENT_REFS__XML_MIXED:
+ return xmlMixed != XML_MIXED_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_REFS:
+ return xmlElementRefs != null && !xmlElementRefs.isEmpty();
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ELEMENT_WRAPPER:
+ return xmlElementWrapper != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REFS__XML_ACCESS_METHODS: return OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAdaptableJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REFS__XML_JAVA_TYPE_ADAPTER: return OxmPackage.EADAPTABLE_JAVA_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REFS__READ_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY;
+ case OxmPackage.EXML_ELEMENT_REFS__WRITE_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENT_REFS__XML_PROPERTIES: return OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS: return OxmPackage.EXML_ELEMENT_REFS__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAdaptableJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EADAPTABLE_JAVA_ATTRIBUTE__XML_JAVA_TYPE_ADAPTER: return OxmPackage.EXML_ELEMENT_REFS__XML_JAVA_TYPE_ADAPTER;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY: return OxmPackage.EXML_ELEMENT_REFS__READ_ONLY;
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY: return OxmPackage.EXML_ELEMENT_REFS__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES: return OxmPackage.EXML_ELEMENT_REFS__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (readOnly: ");
+ result.append(readOnly);
+ result.append(", writeOnly: ");
+ result.append(writeOnly);
+ result.append(", xmlMixed: ");
+ result.append(xmlMixed);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ***** translators *****
+
+ static class XmlElementRefsTranslator
+ extends AbstractJavaAttributeTranslator {
+
+ XmlElementRefsTranslator(String domPathAndName, EStructuralFeature eStructuralFeature) {
+ super(domPathAndName, eStructuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ };
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return OxmFactory.eINSTANCE.createEXmlElementRefs();
+ }
+ }
+}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementWrapper.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementWrapper.java
new file mode 100644
index 0000000000..85de5a2076
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElementWrapper.java
@@ -0,0 +1,396 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Element Wrapper</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementWrapper#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementWrapper#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementWrapper#isNillable <em>Nillable</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementWrapper#isRequired <em>Required</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementWrapper()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class EXmlElementWrapper extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAMESPACE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected String namespace = NAMESPACE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isNillable() <em>Nillable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isNillable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean NILLABLE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isNillable() <em>Nillable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isNillable()
+ * @generated
+ * @ordered
+ */
+ protected boolean nillable = NILLABLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isRequired() <em>Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRequired()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean REQUIRED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isRequired() <em>Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRequired()
+ * @generated
+ * @ordered
+ */
+ protected boolean required = REQUIRED_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlElementWrapper()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_ELEMENT_WRAPPER;
+ }
+
+ /**
+ * 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.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementWrapper_Name()
+ * @model
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementWrapper#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, OxmPackage.EXML_ELEMENT_WRAPPER__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Namespace</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Namespace</em>' attribute.
+ * @see #setNamespace(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementWrapper_Namespace()
+ * @model
+ * @generated
+ */
+ public String getNamespace()
+ {
+ return namespace;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementWrapper#getNamespace <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Namespace</em>' attribute.
+ * @see #getNamespace()
+ * @generated
+ */
+ public void setNamespace(String newNamespace)
+ {
+ String oldNamespace = namespace;
+ namespace = newNamespace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_WRAPPER__NAMESPACE, oldNamespace, namespace));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Nillable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nillable</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nillable</em>' attribute.
+ * @see #setNillable(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementWrapper_Nillable()
+ * @model
+ * @generated
+ */
+ public boolean isNillable()
+ {
+ return nillable;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementWrapper#isNillable <em>Nillable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nillable</em>' attribute.
+ * @see #isNillable()
+ * @generated
+ */
+ public void setNillable(boolean newNillable)
+ {
+ boolean oldNillable = nillable;
+ nillable = newNillable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_WRAPPER__NILLABLE, oldNillable, nillable));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Required</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Required</em>' attribute.
+ * @see #setRequired(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElementWrapper_Required()
+ * @model
+ * @generated
+ */
+ public boolean isRequired()
+ {
+ return required;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElementWrapper#isRequired <em>Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Required</em>' attribute.
+ * @see #isRequired()
+ * @generated
+ */
+ public void setRequired(boolean newRequired)
+ {
+ boolean oldRequired = required;
+ required = newRequired;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENT_WRAPPER__REQUIRED, oldRequired, required));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_WRAPPER__NAME:
+ return getName();
+ case OxmPackage.EXML_ELEMENT_WRAPPER__NAMESPACE:
+ return getNamespace();
+ case OxmPackage.EXML_ELEMENT_WRAPPER__NILLABLE:
+ return isNillable();
+ case OxmPackage.EXML_ELEMENT_WRAPPER__REQUIRED:
+ return isRequired();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_WRAPPER__NAME:
+ setName((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_WRAPPER__NAMESPACE:
+ setNamespace((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_WRAPPER__NILLABLE:
+ setNillable((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENT_WRAPPER__REQUIRED:
+ setRequired((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_WRAPPER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_WRAPPER__NAMESPACE:
+ setNamespace(NAMESPACE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_WRAPPER__NILLABLE:
+ setNillable(NILLABLE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENT_WRAPPER__REQUIRED:
+ setRequired(REQUIRED_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENT_WRAPPER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case OxmPackage.EXML_ELEMENT_WRAPPER__NAMESPACE:
+ return NAMESPACE_EDEFAULT == null ? namespace != null : !NAMESPACE_EDEFAULT.equals(namespace);
+ case OxmPackage.EXML_ELEMENT_WRAPPER__NILLABLE:
+ return nillable != NILLABLE_EDEFAULT;
+ case OxmPackage.EXML_ELEMENT_WRAPPER__REQUIRED:
+ return required != REQUIRED_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", namespace: ");
+ result.append(namespace);
+ result.append(", nillable: ");
+ result.append(nillable);
+ result.append(", required: ");
+ result.append(required);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EXmlElementWrapper
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElements.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElements.java
new file mode 100644
index 0000000000..dc61c43200
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlElements.java
@@ -0,0 +1,887 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+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.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Elements</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElements#isXmlIdRef <em>Xml Id Ref</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElements#isXmlList <em>Xml List</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElements#getXmlElements <em>Xml Elements</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElements#getXmlElementWrapper <em>Xml Element Wrapper</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElements#getXmlJoinNodes <em>Xml Join Nodes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElements()
+ * @model kind="class"
+ * @generated
+ */
+public class EXmlElements extends EJavaAttribute implements EAccessibleJavaAttribute, EContainerJavaAttribute, EReadWriteJavaAttribute, EPropertyHolder
+{
+ /**
+ * The cached value of the '{@link #getXmlAccessMethods() <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessMethods()
+ * @generated
+ * @ordered
+ */
+ protected EXmlAccessMethods xmlAccessMethods;
+ /**
+ * The default value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONTAINER_TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected String containerType = CONTAINER_TYPE_EDEFAULT;
+ /**
+ * The default value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean READ_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean readOnly = READ_ONLY_EDEFAULT;
+ /**
+ * The default value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean WRITE_ONLY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isWriteOnly() <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWriteOnly()
+ * @generated
+ * @ordered
+ */
+ protected boolean writeOnly = WRITE_ONLY_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlProperties() <em>Xml Properties</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlProperty> xmlProperties;
+ /**
+ * The default value of the '{@link #isXmlIdRef() <em>Xml Id Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlIdRef()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_ID_REF_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlIdRef() <em>Xml Id Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlIdRef()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlIdRef = XML_ID_REF_EDEFAULT;
+ /**
+ * The default value of the '{@link #isXmlList() <em>Xml List</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlList()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean XML_LIST_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isXmlList() <em>Xml List</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isXmlList()
+ * @generated
+ * @ordered
+ */
+ protected boolean xmlList = XML_LIST_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlElements() <em>Xml Elements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlElement> xmlElements;
+ /**
+ * The cached value of the '{@link #getXmlElementWrapper() <em>Xml Element Wrapper</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlElementWrapper()
+ * @generated
+ * @ordered
+ */
+ protected EXmlElementWrapper xmlElementWrapper;
+ /**
+ * The cached value of the '{@link #getXmlJoinNodes() <em>Xml Join Nodes</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlJoinNodes()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlJoinNodes> xmlJoinNodes;
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlElements()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_ELEMENTS;
+ }
+
+
+ /**
+ * Returns the value of the '<em><b>Xml Access Methods</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Access Methods</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>Xml Access Methods</em>' containment reference.
+ * @see #setXmlAccessMethods(EXmlAccessMethods)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAccessibleJavaAttribute_XmlAccessMethods()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlAccessMethods getXmlAccessMethods()
+ {
+ return xmlAccessMethods;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods, NotificationChain msgs)
+ {
+ EXmlAccessMethods oldXmlAccessMethods = xmlAccessMethods;
+ xmlAccessMethods = newXmlAccessMethods;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENTS__XML_ACCESS_METHODS, oldXmlAccessMethods, newXmlAccessMethods);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElements#getXmlAccessMethods <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Access Methods</em>' containment reference.
+ * @see #getXmlAccessMethods()
+ * @generated
+ */
+ public void setXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods)
+ {
+ if (newXmlAccessMethods != xmlAccessMethods)
+ {
+ NotificationChain msgs = null;
+ if (xmlAccessMethods != null)
+ msgs = ((InternalEObject)xmlAccessMethods).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENTS__XML_ACCESS_METHODS, null, msgs);
+ if (newXmlAccessMethods != null)
+ msgs = ((InternalEObject)newXmlAccessMethods).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENTS__XML_ACCESS_METHODS, null, msgs);
+ msgs = basicSetXmlAccessMethods(newXmlAccessMethods, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENTS__XML_ACCESS_METHODS, newXmlAccessMethods, newXmlAccessMethods));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Container Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Container 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>Container Type</em>' attribute.
+ * @see #setContainerType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEContainerJavaAttribute_ContainerType()
+ * @model
+ * @generated
+ */
+ public String getContainerType()
+ {
+ return containerType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElements#getContainerType <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Container Type</em>' attribute.
+ * @see #getContainerType()
+ * @generated
+ */
+ public void setContainerType(String newContainerType)
+ {
+ String oldContainerType = containerType;
+ containerType = newContainerType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENTS__CONTAINER_TYPE, oldContainerType, containerType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Read Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Read Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Read Only</em>' attribute.
+ * @see #setReadOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_ReadOnly()
+ * @model
+ * @generated
+ */
+ public boolean isReadOnly()
+ {
+ return readOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElements#isReadOnly <em>Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Read Only</em>' attribute.
+ * @see #isReadOnly()
+ * @generated
+ */
+ public void setReadOnly(boolean newReadOnly)
+ {
+ boolean oldReadOnly = readOnly;
+ readOnly = newReadOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENTS__READ_ONLY, oldReadOnly, readOnly));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Write Only</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Write Only</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Write Only</em>' attribute.
+ * @see #setWriteOnly(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEReadWriteJavaAttribute_WriteOnly()
+ * @model
+ * @generated
+ */
+ public boolean isWriteOnly()
+ {
+ return writeOnly;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElements#isWriteOnly <em>Write Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Write Only</em>' attribute.
+ * @see #isWriteOnly()
+ * @generated
+ */
+ public void setWriteOnly(boolean newWriteOnly)
+ {
+ boolean oldWriteOnly = writeOnly;
+ writeOnly = newWriteOnly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENTS__WRITE_ONLY, oldWriteOnly, writeOnly));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Properties</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>Xml Properties</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEPropertyHolder_XmlProperties()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlProperty> getXmlProperties()
+ {
+ if (xmlProperties == null)
+ {
+ xmlProperties = new EObjectContainmentEList<EXmlProperty>(EXmlProperty.class, this, OxmPackage.EXML_ELEMENTS__XML_PROPERTIES);
+ }
+ return xmlProperties;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Id Ref</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Id Ref</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml Id Ref</em>' attribute.
+ * @see #setXmlIdRef(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElements_XmlIdRef()
+ * @model
+ * @generated
+ */
+ public boolean isXmlIdRef()
+ {
+ return xmlIdRef;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElements#isXmlIdRef <em>Xml Id Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Id Ref</em>' attribute.
+ * @see #isXmlIdRef()
+ * @generated
+ */
+ public void setXmlIdRef(boolean newXmlIdRef)
+ {
+ boolean oldXmlIdRef = xmlIdRef;
+ xmlIdRef = newXmlIdRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENTS__XML_ID_REF, oldXmlIdRef, xmlIdRef));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml List</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml List</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xml List</em>' attribute.
+ * @see #setXmlList(boolean)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElements_XmlList()
+ * @model
+ * @generated
+ */
+ public boolean isXmlList()
+ {
+ return xmlList;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElements#isXmlList <em>Xml List</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml List</em>' attribute.
+ * @see #isXmlList()
+ * @generated
+ */
+ public void setXmlList(boolean newXmlList)
+ {
+ boolean oldXmlList = xmlList;
+ xmlList = newXmlList;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENTS__XML_LIST, oldXmlList, xmlList));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Elements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Elements</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>Xml Elements</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElements_XmlElements()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlElement> getXmlElements()
+ {
+ if (xmlElements == null)
+ {
+ xmlElements = new EObjectContainmentEList<EXmlElement>(EXmlElement.class, this, OxmPackage.EXML_ELEMENTS__XML_ELEMENTS);
+ }
+ return xmlElements;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Element Wrapper</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Element Wrapper</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>Xml Element Wrapper</em>' containment reference.
+ * @see #setXmlElementWrapper(EXmlElementWrapper)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElements_XmlElementWrapper()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlElementWrapper getXmlElementWrapper()
+ {
+ return xmlElementWrapper;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlElementWrapper(EXmlElementWrapper newXmlElementWrapper, NotificationChain msgs)
+ {
+ EXmlElementWrapper oldXmlElementWrapper = xmlElementWrapper;
+ xmlElementWrapper = newXmlElementWrapper;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENTS__XML_ELEMENT_WRAPPER, oldXmlElementWrapper, newXmlElementWrapper);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElements#getXmlElementWrapper <em>Xml Element Wrapper</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Element Wrapper</em>' containment reference.
+ * @see #getXmlElementWrapper()
+ * @generated
+ */
+ public void setXmlElementWrapper(EXmlElementWrapper newXmlElementWrapper)
+ {
+ if (newXmlElementWrapper != xmlElementWrapper)
+ {
+ NotificationChain msgs = null;
+ if (xmlElementWrapper != null)
+ msgs = ((InternalEObject)xmlElementWrapper).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENTS__XML_ELEMENT_WRAPPER, null, msgs);
+ if (newXmlElementWrapper != null)
+ msgs = ((InternalEObject)newXmlElementWrapper).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_ELEMENTS__XML_ELEMENT_WRAPPER, null, msgs);
+ msgs = basicSetXmlElementWrapper(newXmlElementWrapper, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ELEMENTS__XML_ELEMENT_WRAPPER, newXmlElementWrapper, newXmlElementWrapper));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Join Nodes</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlJoinNodes}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Join Nodes</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>Xml Join Nodes</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlElements_XmlJoinNodes()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlJoinNodes> getXmlJoinNodes()
+ {
+ if (xmlJoinNodes == null)
+ {
+ xmlJoinNodes = new EObjectContainmentEList<EXmlJoinNodes>(EXmlJoinNodes.class, this, OxmPackage.EXML_ELEMENTS__XML_JOIN_NODES);
+ }
+ return xmlJoinNodes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENTS__XML_ACCESS_METHODS:
+ return basicSetXmlAccessMethods(null, msgs);
+ case OxmPackage.EXML_ELEMENTS__XML_PROPERTIES:
+ return ((InternalEList<?>)getXmlProperties()).basicRemove(otherEnd, msgs);
+ case OxmPackage.EXML_ELEMENTS__XML_ELEMENTS:
+ return ((InternalEList<?>)getXmlElements()).basicRemove(otherEnd, msgs);
+ case OxmPackage.EXML_ELEMENTS__XML_ELEMENT_WRAPPER:
+ return basicSetXmlElementWrapper(null, msgs);
+ case OxmPackage.EXML_ELEMENTS__XML_JOIN_NODES:
+ return ((InternalEList<?>)getXmlJoinNodes()).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 OxmPackage.EXML_ELEMENTS__XML_ACCESS_METHODS:
+ return getXmlAccessMethods();
+ case OxmPackage.EXML_ELEMENTS__CONTAINER_TYPE:
+ return getContainerType();
+ case OxmPackage.EXML_ELEMENTS__READ_ONLY:
+ return isReadOnly();
+ case OxmPackage.EXML_ELEMENTS__WRITE_ONLY:
+ return isWriteOnly();
+ case OxmPackage.EXML_ELEMENTS__XML_PROPERTIES:
+ return getXmlProperties();
+ case OxmPackage.EXML_ELEMENTS__XML_ID_REF:
+ return isXmlIdRef();
+ case OxmPackage.EXML_ELEMENTS__XML_LIST:
+ return isXmlList();
+ case OxmPackage.EXML_ELEMENTS__XML_ELEMENTS:
+ return getXmlElements();
+ case OxmPackage.EXML_ELEMENTS__XML_ELEMENT_WRAPPER:
+ return getXmlElementWrapper();
+ case OxmPackage.EXML_ELEMENTS__XML_JOIN_NODES:
+ return getXmlJoinNodes();
+ }
+ 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 OxmPackage.EXML_ELEMENTS__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENTS__CONTAINER_TYPE:
+ setContainerType((String)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENTS__READ_ONLY:
+ setReadOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENTS__WRITE_ONLY:
+ setWriteOnly((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENTS__XML_PROPERTIES:
+ getXmlProperties().clear();
+ getXmlProperties().addAll((Collection<? extends EXmlProperty>)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENTS__XML_ID_REF:
+ setXmlIdRef((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENTS__XML_LIST:
+ setXmlList((Boolean)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENTS__XML_ELEMENTS:
+ getXmlElements().clear();
+ getXmlElements().addAll((Collection<? extends EXmlElement>)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENTS__XML_ELEMENT_WRAPPER:
+ setXmlElementWrapper((EXmlElementWrapper)newValue);
+ return;
+ case OxmPackage.EXML_ELEMENTS__XML_JOIN_NODES:
+ getXmlJoinNodes().clear();
+ getXmlJoinNodes().addAll((Collection<? extends EXmlJoinNodes>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENTS__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)null);
+ return;
+ case OxmPackage.EXML_ELEMENTS__CONTAINER_TYPE:
+ setContainerType(CONTAINER_TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENTS__READ_ONLY:
+ setReadOnly(READ_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENTS__WRITE_ONLY:
+ setWriteOnly(WRITE_ONLY_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENTS__XML_PROPERTIES:
+ getXmlProperties().clear();
+ return;
+ case OxmPackage.EXML_ELEMENTS__XML_ID_REF:
+ setXmlIdRef(XML_ID_REF_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENTS__XML_LIST:
+ setXmlList(XML_LIST_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ELEMENTS__XML_ELEMENTS:
+ getXmlElements().clear();
+ return;
+ case OxmPackage.EXML_ELEMENTS__XML_ELEMENT_WRAPPER:
+ setXmlElementWrapper((EXmlElementWrapper)null);
+ return;
+ case OxmPackage.EXML_ELEMENTS__XML_JOIN_NODES:
+ getXmlJoinNodes().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ELEMENTS__XML_ACCESS_METHODS:
+ return xmlAccessMethods != null;
+ case OxmPackage.EXML_ELEMENTS__CONTAINER_TYPE:
+ return CONTAINER_TYPE_EDEFAULT == null ? containerType != null : !CONTAINER_TYPE_EDEFAULT.equals(containerType);
+ case OxmPackage.EXML_ELEMENTS__READ_ONLY:
+ return readOnly != READ_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ELEMENTS__WRITE_ONLY:
+ return writeOnly != WRITE_ONLY_EDEFAULT;
+ case OxmPackage.EXML_ELEMENTS__XML_PROPERTIES:
+ return xmlProperties != null && !xmlProperties.isEmpty();
+ case OxmPackage.EXML_ELEMENTS__XML_ID_REF:
+ return xmlIdRef != XML_ID_REF_EDEFAULT;
+ case OxmPackage.EXML_ELEMENTS__XML_LIST:
+ return xmlList != XML_LIST_EDEFAULT;
+ case OxmPackage.EXML_ELEMENTS__XML_ELEMENTS:
+ return xmlElements != null && !xmlElements.isEmpty();
+ case OxmPackage.EXML_ELEMENTS__XML_ELEMENT_WRAPPER:
+ return xmlElementWrapper != null;
+ case OxmPackage.EXML_ELEMENTS__XML_JOIN_NODES:
+ return xmlJoinNodes != null && !xmlJoinNodes.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENTS__XML_ACCESS_METHODS: return OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENTS__CONTAINER_TYPE: return OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENTS__READ_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY;
+ case OxmPackage.EXML_ELEMENTS__WRITE_ONLY: return OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_ELEMENTS__XML_PROPERTIES: return OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS: return OxmPackage.EXML_ELEMENTS__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE: return OxmPackage.EXML_ELEMENTS__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EReadWriteJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__READ_ONLY: return OxmPackage.EXML_ELEMENTS__READ_ONLY;
+ case OxmPackage.EREAD_WRITE_JAVA_ATTRIBUTE__WRITE_ONLY: return OxmPackage.EXML_ELEMENTS__WRITE_ONLY;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES: return OxmPackage.EXML_ELEMENTS__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (containerType: ");
+ result.append(containerType);
+ result.append(", readOnly: ");
+ result.append(readOnly);
+ result.append(", writeOnly: ");
+ result.append(writeOnly);
+ result.append(", xmlIdRef: ");
+ result.append(xmlIdRef);
+ result.append(", xmlList: ");
+ result.append(xmlList);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ***** translators *****
+
+ static class XmlElementsTranslator
+ extends AbstractJavaAttributeTranslator {
+
+ XmlElementsTranslator(String domPathAndName, EStructuralFeature eStructuralFeature) {
+ super(domPathAndName, eStructuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ };
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return OxmFactory.eINSTANCE.createEXmlElements();
+ }
+ }
+}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlEnum.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlEnum.java
new file mode 100644
index 0000000000..33874bebc2
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlEnum.java
@@ -0,0 +1,331 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Enum</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlEnum#getJavaEnum <em>Java Enum</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlEnum#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlEnum#getXmlEnumValues <em>Xml Enum Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlEnum()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class EXmlEnum extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getJavaEnum() <em>Java Enum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJavaEnum()
+ * @generated
+ * @ordered
+ */
+ protected static final String JAVA_ENUM_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getJavaEnum() <em>Java Enum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJavaEnum()
+ * @generated
+ * @ordered
+ */
+ protected String javaEnum = JAVA_ENUM_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getXmlEnumValues() <em>Xml Enum Values</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlEnumValues()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlEnumValue> xmlEnumValues;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlEnum()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_ENUM;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Java Enum</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Java Enum</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Java Enum</em>' attribute.
+ * @see #setJavaEnum(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlEnum_JavaEnum()
+ * @model
+ * @generated
+ */
+ public String getJavaEnum()
+ {
+ return javaEnum;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlEnum#getJavaEnum <em>Java Enum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Java Enum</em>' attribute.
+ * @see #getJavaEnum()
+ * @generated
+ */
+ public void setJavaEnum(String newJavaEnum)
+ {
+ String oldJavaEnum = javaEnum;
+ javaEnum = newJavaEnum;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ENUM__JAVA_ENUM, oldJavaEnum, javaEnum));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlEnum_Value()
+ * @model
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlEnum#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ENUM__VALUE, oldValue, value));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Enum Values</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlEnumValue}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Enum 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>Xml Enum Values</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlEnum_XmlEnumValues()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlEnumValue> getXmlEnumValues()
+ {
+ if (xmlEnumValues == null)
+ {
+ xmlEnumValues = new EObjectContainmentEList<EXmlEnumValue>(EXmlEnumValue.class, this, OxmPackage.EXML_ENUM__XML_ENUM_VALUES);
+ }
+ return xmlEnumValues;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ENUM__XML_ENUM_VALUES:
+ return ((InternalEList<?>)getXmlEnumValues()).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 OxmPackage.EXML_ENUM__JAVA_ENUM:
+ return getJavaEnum();
+ case OxmPackage.EXML_ENUM__VALUE:
+ return getValue();
+ case OxmPackage.EXML_ENUM__XML_ENUM_VALUES:
+ return getXmlEnumValues();
+ }
+ 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 OxmPackage.EXML_ENUM__JAVA_ENUM:
+ setJavaEnum((String)newValue);
+ return;
+ case OxmPackage.EXML_ENUM__VALUE:
+ setValue((String)newValue);
+ return;
+ case OxmPackage.EXML_ENUM__XML_ENUM_VALUES:
+ getXmlEnumValues().clear();
+ getXmlEnumValues().addAll((Collection<? extends EXmlEnumValue>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ENUM__JAVA_ENUM:
+ setJavaEnum(JAVA_ENUM_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ENUM__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_ENUM__XML_ENUM_VALUES:
+ getXmlEnumValues().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ENUM__JAVA_ENUM:
+ return JAVA_ENUM_EDEFAULT == null ? javaEnum != null : !JAVA_ENUM_EDEFAULT.equals(javaEnum);
+ case OxmPackage.EXML_ENUM__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case OxmPackage.EXML_ENUM__XML_ENUM_VALUES:
+ return xmlEnumValues != null && !xmlEnumValues.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (javaEnum: ");
+ result.append(javaEnum);
+ result.append(", value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EXmlEnum
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlEnumValue.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlEnumValue.java
new file mode 100644
index 0000000000..536add223d
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlEnumValue.java
@@ -0,0 +1,192 @@
+/**
+ */
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Enum Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlEnumValue#getJavaEnumValue <em>Java Enum Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlEnumValue()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class EXmlEnumValue extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getJavaEnumValue() <em>Java Enum Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJavaEnumValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String JAVA_ENUM_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getJavaEnumValue() <em>Java Enum Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJavaEnumValue()
+ * @generated
+ * @ordered
+ */
+ protected String javaEnumValue = JAVA_ENUM_VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlEnumValue()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_ENUM_VALUE;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Java Enum Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Java Enum 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>Java Enum Value</em>' attribute.
+ * @see #setJavaEnumValue(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlEnumValue_JavaEnumValue()
+ * @model
+ * @generated
+ */
+ public String getJavaEnumValue()
+ {
+ return javaEnumValue;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlEnumValue#getJavaEnumValue <em>Java Enum Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Java Enum Value</em>' attribute.
+ * @see #getJavaEnumValue()
+ * @generated
+ */
+ public void setJavaEnumValue(String newJavaEnumValue)
+ {
+ String oldJavaEnumValue = javaEnumValue;
+ javaEnumValue = newJavaEnumValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_ENUM_VALUE__JAVA_ENUM_VALUE, oldJavaEnumValue, javaEnumValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ENUM_VALUE__JAVA_ENUM_VALUE:
+ return getJavaEnumValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ENUM_VALUE__JAVA_ENUM_VALUE:
+ setJavaEnumValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ENUM_VALUE__JAVA_ENUM_VALUE:
+ setJavaEnumValue(JAVA_ENUM_VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_ENUM_VALUE__JAVA_ENUM_VALUE:
+ return JAVA_ENUM_VALUE_EDEFAULT == null ? javaEnumValue != null : !JAVA_ENUM_VALUE_EDEFAULT.equals(javaEnumValue);
+ }
+ 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(" (javaEnumValue: ");
+ result.append(javaEnumValue);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EXmlEnumValue
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlInverseReference.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlInverseReference.java
new file mode 100644
index 0000000000..fdf90db7ac
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlInverseReference.java
@@ -0,0 +1,580 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
+
+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.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EXml Inverse Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlInverseReference#getMappedBy <em>Mapped By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlInverseReference()
+ * @model kind="class"
+ * @generated
+ */
+public class EXmlInverseReference extends EJavaAttribute implements EAccessibleJavaAttribute, EContainerJavaAttribute, ETypedJavaAttribute, EPropertyHolder
+{
+ /**
+ * The cached value of the '{@link #getXmlAccessMethods() <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlAccessMethods()
+ * @generated
+ * @ordered
+ */
+ protected EXmlAccessMethods xmlAccessMethods;
+ /**
+ * The default value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONTAINER_TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getContainerType() <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainerType()
+ * @generated
+ * @ordered
+ */
+ protected String containerType = CONTAINER_TYPE_EDEFAULT;
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getXmlProperties() <em>Xml Properties</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXmlProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<EXmlProperty> xmlProperties;
+ /**
+ * The default value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMappedBy()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAPPED_BY_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMappedBy()
+ * @generated
+ * @ordered
+ */
+ protected String mappedBy = MAPPED_BY_EDEFAULT;
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EXmlInverseReference()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OxmPackage.Literals.EXML_INVERSE_REFERENCE;
+ }
+
+
+ /**
+ * Returns the value of the '<em><b>Xml Access Methods</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Access Methods</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>Xml Access Methods</em>' containment reference.
+ * @see #setXmlAccessMethods(EXmlAccessMethods)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEAccessibleJavaAttribute_XmlAccessMethods()
+ * @model containment="true"
+ * @generated
+ */
+ public EXmlAccessMethods getXmlAccessMethods()
+ {
+ return xmlAccessMethods;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods, NotificationChain msgs)
+ {
+ EXmlAccessMethods oldXmlAccessMethods = xmlAccessMethods;
+ xmlAccessMethods = newXmlAccessMethods;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_INVERSE_REFERENCE__XML_ACCESS_METHODS, oldXmlAccessMethods, newXmlAccessMethods);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlInverseReference#getXmlAccessMethods <em>Xml Access Methods</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Xml Access Methods</em>' containment reference.
+ * @see #getXmlAccessMethods()
+ * @generated
+ */
+ public void setXmlAccessMethods(EXmlAccessMethods newXmlAccessMethods)
+ {
+ if (newXmlAccessMethods != xmlAccessMethods)
+ {
+ NotificationChain msgs = null;
+ if (xmlAccessMethods != null)
+ msgs = ((InternalEObject)xmlAccessMethods).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_INVERSE_REFERENCE__XML_ACCESS_METHODS, null, msgs);
+ if (newXmlAccessMethods != null)
+ msgs = ((InternalEObject)newXmlAccessMethods).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_INVERSE_REFERENCE__XML_ACCESS_METHODS, null, msgs);
+ msgs = basicSetXmlAccessMethods(newXmlAccessMethods, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_INVERSE_REFERENCE__XML_ACCESS_METHODS, newXmlAccessMethods, newXmlAccessMethods));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Container Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Container 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>Container Type</em>' attribute.
+ * @see #setContainerType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEContainerJavaAttribute_ContainerType()
+ * @model
+ * @generated
+ */
+ public String getContainerType()
+ {
+ return containerType;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlInverseReference#getContainerType <em>Container Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Container Type</em>' attribute.
+ * @see #getContainerType()
+ * @generated
+ */
+ public void setContainerType(String newContainerType)
+ {
+ String oldContainerType = containerType;
+ containerType = newContainerType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_INVERSE_REFERENCE__CONTAINER_TYPE, oldContainerType, containerType));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getETypedJavaAttribute_Type()
+ * @model
+ * @generated
+ */
+ public String getType()
+ {
+ return type;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlInverseReference#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ public void setType(String newType)
+ {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_INVERSE_REFERENCE__TYPE, oldType, type));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Xml Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Xml Properties</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>Xml Properties</em>' containment reference list.
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEPropertyHolder_XmlProperties()
+ * @model containment="true"
+ * @generated
+ */
+ public EList<EXmlProperty> getXmlProperties()
+ {
+ if (xmlProperties == null)
+ {
+ xmlProperties = new EObjectContainmentEList<EXmlProperty>(EXmlProperty.class, this, OxmPackage.EXML_INVERSE_REFERENCE__XML_PROPERTIES);
+ }
+ return xmlProperties;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Mapped By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mapped By</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mapped By</em>' attribute.
+ * @see #setMappedBy(String)
+ * @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlInverseReference_MappedBy()
+ * @model
+ * @generated
+ */
+ public String getMappedBy()
+ {
+ return mappedBy;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlInverseReference#getMappedBy <em>Mapped By</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mapped By</em>' attribute.
+ * @see #getMappedBy()
+ * @generated
+ */
+ public void setMappedBy(String newMappedBy)
+ {
+ String oldMappedBy = mappedBy;
+ mappedBy = newMappedBy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_INVERSE_REFERENCE__MAPPED_BY, oldMappedBy, mappedBy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_INVERSE_REFERENCE__XML_ACCESS_METHODS:
+ return basicSetXmlAccessMethods(null, msgs);
+ case OxmPackage.EXML_INVERSE_REFERENCE__XML_PROPERTIES:
+ return ((InternalEList<?>)getXmlProperties()).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 OxmPackage.EXML_INVERSE_REFERENCE__XML_ACCESS_METHODS:
+ return getXmlAccessMethods();
+ case OxmPackage.EXML_INVERSE_REFERENCE__CONTAINER_TYPE:
+ return getContainerType();
+ case OxmPackage.EXML_INVERSE_REFERENCE__TYPE:
+ return getType();
+ case OxmPackage.EXML_INVERSE_REFERENCE__XML_PROPERTIES:
+ return getXmlProperties();
+ case OxmPackage.EXML_INVERSE_REFERENCE__MAPPED_BY:
+ return getMappedBy();
+ }
+ 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 OxmPackage.EXML_INVERSE_REFERENCE__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)newValue);
+ return;
+ case OxmPackage.EXML_INVERSE_REFERENCE__CONTAINER_TYPE:
+ setContainerType((String)newValue);
+ return;
+ case OxmPackage.EXML_INVERSE_REFERENCE__TYPE:
+ setType((String)newValue);
+ return;
+ case OxmPackage.EXML_INVERSE_REFERENCE__XML_PROPERTIES:
+ getXmlProperties().clear();
+ getXmlProperties().addAll((Collection<? extends EXmlProperty>)newValue);
+ return;
+ case OxmPackage.EXML_INVERSE_REFERENCE__MAPPED_BY:
+ setMappedBy((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_INVERSE_REFERENCE__XML_ACCESS_METHODS:
+ setXmlAccessMethods((EXmlAccessMethods)null);
+ return;
+ case OxmPackage.EXML_INVERSE_REFERENCE__CONTAINER_TYPE:
+ setContainerType(CONTAINER_TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_INVERSE_REFERENCE__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case OxmPackage.EXML_INVERSE_REFERENCE__XML_PROPERTIES:
+ getXmlProperties().clear();
+ return;
+ case OxmPackage.EXML_INVERSE_REFERENCE__MAPPED_BY:
+ setMappedBy(MAPPED_BY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OxmPackage.EXML_INVERSE_REFERENCE__XML_ACCESS_METHODS:
+ return xmlAccessMethods != null;
+ case OxmPackage.EXML_INVERSE_REFERENCE__CONTAINER_TYPE:
+ return CONTAINER_TYPE_EDEFAULT == null ? containerType != null : !CONTAINER_TYPE_EDEFAULT.equals(containerType);
+ case OxmPackage.EXML_INVERSE_REFERENCE__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ case OxmPackage.EXML_INVERSE_REFERENCE__XML_PROPERTIES:
+ return xmlProperties != null && !xmlProperties.isEmpty();
+ case OxmPackage.EXML_INVERSE_REFERENCE__MAPPED_BY:
+ return MAPPED_BY_EDEFAULT == null ? mappedBy != null : !MAPPED_BY_EDEFAULT.equals(mappedBy);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_INVERSE_REFERENCE__XML_ACCESS_METHODS: return OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_INVERSE_REFERENCE__CONTAINER_TYPE: return OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == ETypedJavaAttribute.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_INVERSE_REFERENCE__TYPE: return OxmPackage.ETYPED_JAVA_ATTRIBUTE__TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OxmPackage.EXML_INVERSE_REFERENCE__XML_PROPERTIES: return OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == EAccessibleJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EACCESSIBLE_JAVA_ATTRIBUTE__XML_ACCESS_METHODS: return OxmPackage.EXML_INVERSE_REFERENCE__XML_ACCESS_METHODS;
+ default: return -1;
+ }
+ }
+ if (baseClass == EContainerJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.ECONTAINER_JAVA_ATTRIBUTE__CONTAINER_TYPE: return OxmPackage.EXML_INVERSE_REFERENCE__CONTAINER_TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == ETypedJavaAttribute.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.ETYPED_JAVA_ATTRIBUTE__TYPE: return OxmPackage.EXML_INVERSE_REFERENCE__TYPE;
+ default: return -1;
+ }
+ }
+ if (baseClass == EPropertyHolder.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OxmPackage.EPROPERTY_HOLDER__XML_PROPERTIES: return OxmPackage.EXML_INVERSE_REFERENCE__XML_PROPERTIES;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (containerType: ");
+ result.append(containerType);
+ result.append(", type: ");
+ result.append(type);
+ result.append(", mappedBy: ");
+ result.append(mappedBy);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ***** translators *****
+
+ static class XmlInverseReferenceTranslator
+ extends AbstractJavaAttributeTranslator {
+
+ XmlInverseReferenceTranslator(String domPathAndName, EStructuralFeature eStructuralFeature) {
+ super(domPathAndName, eStructuralFeature, buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] {
+ };
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return OxmFactory.eINSTANCE.createEXmlInverseReference();
+ }
+ }
+} \ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlIsSetNullPolicy.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlIsSetNullPolicy.java
new file mode 100644
index 0000000000..ba045419b5
--- /dev/null
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/oxm/EXmlIsSetNullPolicy.java
@@ -0,0 +1,283 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and im