Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource')
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AssociationOverrideTranslator.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributeOverrideTranslator.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributesTranslator.java88
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/BasicTranslator.java80
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/CascadeTypeTranslator.java69
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnResultTranslator.java43
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnTranslator.java95
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/DiscriminatorColumnTranslator.java56
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EclipseLinkOrmXmlMapper.java126
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddableTranslator.java61
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedIdTranslator.java54
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedTranslator.java54
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenerTranslator.java78
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenersTranslator.java43
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityMappingsTranslator.java118
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityResultTranslator.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityTranslator.java187
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EventMethodTranslator.java43
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/FieldResultTranslator.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/GeneratedValueTranslator.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdClassTranslator.java41
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdTranslator.java73
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/InheritanceTranslator.java41
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinColumnTranslator.java85
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinTableTranslator.java73
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToManyTranslator.java83
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToOneTranslator.java78
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MapKeyTranslator.java42
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MappedSuperclassTranslator.java117
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedNativeQueryTranslator.java61
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedQueryTranslator.java51
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToManyTranslator.java88
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToOneTranslator.java90
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitDefaultsTranslator.java62
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitMetadataTranslator.java46
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PrimaryKeyJoinColumnTranslator.java59
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/QueryHintTranslator.java46
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SecondaryTableTranslator.java69
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SequenceGeneratorTranslator.java63
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SqlResultSetMappingTranslator.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableGeneratorTranslator.java93
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableTranslator.java56
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TransientTranslator.java49
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/UniqueConstraintTranslator.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/VersionTranslator.java59
45 files changed, 3081 insertions, 0 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AssociationOverrideTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AssociationOverrideTranslator.java
new file mode 100644
index 0000000000..ee2565e51b
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AssociationOverrideTranslator.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class AssociationOverrideTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public AssociationOverrideTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlAssociationOverrideImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createJoinColumnTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAssociationOverride_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createJoinColumnTranslator() {
+ return new JoinColumnTranslator(JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlAssociationOverride_JoinColumns());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributeOverrideTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributeOverrideTranslator.java
new file mode 100644
index 0000000000..5b37f6e0ca
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributeOverrideTranslator.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class AttributeOverrideTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public AttributeOverrideTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlAttributeOverrideImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createColumnTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeOverride_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnTranslator() {
+ return new ColumnTranslator(COLUMN, ECLIPSELINK_ORM_PKG.getXmlAttributeOverride_Column());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributesTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributesTranslator.java
new file mode 100644
index 0000000000..30582759c4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/AttributesTranslator.java
@@ -0,0 +1,88 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class AttributesTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public AttributesTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createIdTranslator(),
+ createEmbeddedIdTranslator(),
+ createBasicTranslator(),
+ createVersionTranslator(),
+ createManyToOneTranslator(),
+ createOneToManyTranslator(),
+ createOneToOneTranslator(),
+ createManyToManyTranslator(),
+ createEmbeddedTranslator(),
+ createTransientTranslator()
+ };
+ }
+
+ private Translator createIdTranslator() {
+ return new IdTranslator(ID, ECLIPSELINK_ORM_PKG.getAttributes_Ids());
+ }
+
+ private Translator createEmbeddedIdTranslator() {
+ return new EmbeddedIdTranslator(EMBEDDED_ID, ECLIPSELINK_ORM_PKG.getAttributes_EmbeddedIds());
+ }
+
+ private Translator createBasicTranslator() {
+ return new BasicTranslator(BASIC, ECLIPSELINK_ORM_PKG.getAttributes_Basics());
+ }
+
+ private Translator createVersionTranslator() {
+ return new VersionTranslator(VERSION, ECLIPSELINK_ORM_PKG.getAttributes_Versions());
+ }
+
+ private Translator createManyToOneTranslator() {
+ return new ManyToOneTranslator(MANY_TO_ONE, ECLIPSELINK_ORM_PKG.getAttributes_ManyToOnes());
+ }
+
+ private Translator createOneToManyTranslator() {
+ return new OneToManyTranslator(ONE_TO_MANY, ECLIPSELINK_ORM_PKG.getAttributes_OneToManys());
+ }
+
+ private Translator createOneToOneTranslator() {
+ return new OneToOneTranslator(ONE_TO_ONE, ECLIPSELINK_ORM_PKG.getAttributes_OneToOnes());
+ }
+
+ private Translator createManyToManyTranslator() {
+ return new ManyToManyTranslator(MANY_TO_MANY, ECLIPSELINK_ORM_PKG.getAttributes_ManyToManys());
+ }
+
+ private Translator createEmbeddedTranslator() {
+ return new EmbeddedTranslator(EMBEDDED, ECLIPSELINK_ORM_PKG.getAttributes_Embeddeds());
+ }
+
+ private Translator createTransientTranslator() {
+ return new TransientTranslator(TRANSIENT, ECLIPSELINK_ORM_PKG.getAttributes_Transients());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/BasicTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/BasicTranslator.java
new file mode 100644
index 0000000000..a15a4e5621
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/BasicTranslator.java
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.BooleanTranslator;
+import org.eclipse.jpt.core.internal.resource.common.translators.EmptyTagBooleanTranslator;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class BasicTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public BasicTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlBasicImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createFetchTranslator(),
+ createOptionalTranslator(),
+ createColumnTranslator(),
+ createLobTranslator(),
+ createTemporalTranslator(),
+ createEnumeratedTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createFetchTranslator() {
+ return new Translator(FETCH, ECLIPSELINK_ORM_PKG.getXmlBasic_Fetch(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createOptionalTranslator() {
+ return new BooleanTranslator(OPTIONAL, ECLIPSELINK_ORM_PKG.getXmlBasic_Optional(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnTranslator() {
+ return new ColumnTranslator(COLUMN, ECLIPSELINK_ORM_PKG.getColumnMapping_Column());
+ }
+
+ private Translator createLobTranslator() {
+ return new EmptyTagBooleanTranslator(LOB, ECLIPSELINK_ORM_PKG.getXmlBasic_Lob());
+ }
+
+ private Translator createTemporalTranslator() {
+ return new Translator(TEMPORAL, ECLIPSELINK_ORM_PKG.getXmlBasic_Temporal());
+ }
+
+ private Translator createEnumeratedTranslator() {
+ return new Translator(ENUMERATED, ECLIPSELINK_ORM_PKG.getXmlBasic_Enumerated());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/CascadeTypeTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/CascadeTypeTranslator.java
new file mode 100644
index 0000000000..da223df58e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/CascadeTypeTranslator.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.EmptyTagBooleanTranslator;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class CascadeTypeTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public CascadeTypeTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createCascadeTypeImpl();
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createCascadeAllTranslator(),
+ createCascadePersistTranslator(),
+ createCascadeMergeTranslator(),
+ createCascadeRemoveTranslator(),
+ createCascadeRefreshTranslator()
+ };
+ }
+
+ private Translator createCascadeAllTranslator() {
+ return new EmptyTagBooleanTranslator(CASCADE_ALL, ECLIPSELINK_ORM_PKG.getCascadeType_CascadeAll());
+ }
+
+ private Translator createCascadePersistTranslator() {
+ return new EmptyTagBooleanTranslator(CASCADE_PERSIST, ECLIPSELINK_ORM_PKG.getCascadeType_CascadePersist());
+ }
+
+ private Translator createCascadeMergeTranslator() {
+ return new EmptyTagBooleanTranslator(CASCADE_MERGE, ECLIPSELINK_ORM_PKG.getCascadeType_CascadeMerge());
+ }
+
+ private Translator createCascadeRemoveTranslator() {
+ return new EmptyTagBooleanTranslator(CASCADE_REMOVE, ECLIPSELINK_ORM_PKG.getCascadeType_CascadeRemove());
+ }
+
+ private Translator createCascadeRefreshTranslator() {
+ return new EmptyTagBooleanTranslator(CASCADE_REFRESH, ECLIPSELINK_ORM_PKG.getCascadeType_CascadeRefresh());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnResultTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnResultTranslator.java
new file mode 100644
index 0000000000..26e8a41eab
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnResultTranslator.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class ColumnResultTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public ColumnResultTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getColumnResult_Name(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnTranslator.java
new file mode 100644
index 0000000000..a87e38f1be
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ColumnTranslator.java
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0, which accompanies this distribution and is available at
+ * http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.BooleanTranslator;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class ColumnTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public ColumnTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlColumnImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createUniqueTranslator(),
+ createNullableTranslator(),
+ createInsertableTranslator(),
+ createUpdatableTranslator(),
+ createColumnDefinitionTranslator(),
+ createTableTranslator(),
+ createLengthTranslator(),
+ createPrecisionTranslator(),
+ createScaleTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createUniqueTranslator() {
+ return new BooleanTranslator(UNIQUE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Unique(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createNullableTranslator() {
+ return new BooleanTranslator(NULLABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Nullable(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createInsertableTranslator() {
+ return new BooleanTranslator(INSERTABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Insertable(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createUpdatableTranslator() {
+ return new BooleanTranslator(UPDATABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Updatable(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnDefinitionTranslator() {
+ return new Translator(COLUMN_DEFINITION, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_ColumnDefinition(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTableTranslator() {
+ return new Translator(TABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Table(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createLengthTranslator() {
+ return new Translator(LENGTH, ECLIPSELINK_ORM_PKG.getXmlColumn_Length(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createPrecisionTranslator() {
+ return new Translator(PRECISION, ECLIPSELINK_ORM_PKG.getXmlColumn_Precision(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createScaleTranslator() {
+ return new Translator(SCALE, ECLIPSELINK_ORM_PKG.getXmlColumn_Scale(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/DiscriminatorColumnTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/DiscriminatorColumnTranslator.java
new file mode 100644
index 0000000000..f38341c2f6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/DiscriminatorColumnTranslator.java
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class DiscriminatorColumnTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public DiscriminatorColumnTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createDiscrminiatorTypeTranslator(),
+ createColumnDefinitionTranslator(),
+ createLengthTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_Name(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createDiscrminiatorTypeTranslator() {
+ return new Translator(DISCRIMINATOR_TYPE, ECLIPSELINK_ORM_PKG.getXmlDiscriminatorColumn_DiscriminatorType(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnDefinitionTranslator() {
+ return new Translator(COLUMN_DEFINITION, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_ColumnDefinition(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createLengthTranslator() {
+ return new Translator(LENGTH, ECLIPSELINK_ORM_PKG.getXmlDiscriminatorColumn_Length(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EclipseLinkOrmXmlMapper.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EclipseLinkOrmXmlMapper.java
new file mode 100644
index 0000000000..d38e41e4ad
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EclipseLinkOrmXmlMapper.java
@@ -0,0 +1,126 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmPackage;
+
+public interface EclipseLinkOrmXmlMapper
+{
+ EclipseLinkOrmPackage ECLIPSELINK_ORM_PKG = EclipseLinkOrmPackage.eINSTANCE;
+
+ String XML_NS = "xmlns"; //$NON-NLS-1$
+ String XML_NS_XSI = "xmlns:xsi"; //$NON-NLS-1$
+ String XSI_SCHEMA_LOCATION = "xsi:schemaLocation"; //$NON-NLS-1$
+ String XSI_NS_URL = "http://www.w3.org/2001/XMLSchema-instance"; //$NON-NLS-1$
+ String ECLIPSELINK_ORM_NS_URL = "http://www.eclipse.org/eclipselink/xsds/persistence/orm"; //$NON-NLS-1$
+ String ECLIPSELINK_ORM_SCHEMA_LOC_1_0 = "http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_1_0.xsd"; //$NON-NLS-1$
+
+
+ String ACCESS = "access"; //$NON-NLS-1$
+ String ALLOCATION_SIZE = "allocation-size"; //$NON-NLS-1$
+ String ASSOCIATION_OVERRIDE = "association-override"; //$NON-NLS-1$
+ String ATTRIBUTE_OVERRIDE = "attribute-override"; //$NON-NLS-1$
+ String ATTRIBUTES = "attributes"; //$NON-NLS-1$
+ String BASIC = "basic"; //$NON-NLS-1$
+ String CASCADE = "cascade"; //$NON-NLS-1$
+ String CASCADE_ALL = "cascade-all"; //$NON-NLS-1$
+ String CASCADE_MERGE = "cascade-merge"; //$NON-NLS-1$
+ String CASCADE_PERSIST = "cascade-persist"; //$NON-NLS-1$
+ String CASCADE_REFRESH = "cascade-refresh"; //$NON-NLS-1$
+ String CASCADE_REMOVE = "cascade-remove"; //$NON-NLS-1$
+ String CATALOG = "catalog"; //$NON-NLS-1$
+ String CLASS = "class"; //$NON-NLS-1$
+ String COLUMN = "column"; //$NON-NLS-1$
+ String COLUMN_DEFINITION= "column-definition"; //$NON-NLS-1$
+ String COLUMN_NAME = "column-name"; //$NON-NLS-1$
+ String COLUMN_RESULT = "column-result"; //$NON-NLS-1$
+ String DESCRIPTION = "description"; //$NON-NLS-1$
+ String DISCRIMINATOR_COLUMN = "discriminator-column"; //$NON-NLS-1$
+ String DISCRIMINATOR_TYPE = "discriminator-type"; //$NON-NLS-1$
+ String DISCRIMINATOR_VALUE = "discriminator-value"; //$NON-NLS-1$
+ String EMBEDDABLE = "embeddable"; //$NON-NLS-1$
+ String EMBEDDED = "embedded"; //$NON-NLS-1$
+ String EMBEDDED_ID = "embedded-id"; //$NON-NLS-1$
+ String ENTITY = "entity"; //$NON-NLS-1$
+ String ENTITY_CLASS = "entity-class"; //$NON-NLS-1$
+ String ENTITY_LISTENER = "entity-listener"; //$NON-NLS-1$
+ String ENTITY_LISTENERS = "entity-listeners"; //$NON-NLS-1$
+ String ENTITY_MAPPINGS = "entity-mappings"; //$NON-NLS-1$
+ String ENTITY_RESULT = "entity-result"; //$NON-NLS-1$
+ String ENUMERATED = "enumerated"; //$NON-NLS-1$
+ String EXCLUDE_DEFAULT_LISTENERS = "exclude-default-listeners"; //$NON-NLS-1$
+ String EXCLUDE_SUPERCLASS_LISTENERS = "exclude-superclass-listeners"; //$NON-NLS-1$
+ String FETCH = "fetch"; //$NON-NLS-1$
+ String FIELD_RESULT = "field-result"; //$NON-NLS-1$
+ String GENERATED_VALUE = "generated-value"; //$NON-NLS-1$
+ String GENERATOR = "generator"; //$NON-NLS-1$
+ String HINT = "hint"; //$NON-NLS-1$
+ String ID = "id"; //$NON-NLS-1$
+ String ID_CLASS = "id-class"; //$NON-NLS-1$
+ String INHERITANCE = "inheritance"; //$NON-NLS-1$
+ String INITIAL_VALUE = "initial-value"; //$NON-NLS-1$
+ String INSERTABLE = "insertable"; //$NON-NLS-1$
+ String INVERSE_JOIN_COLUMN = "inverse-join-column"; //$NON-NLS-1$
+ String JOIN_COLUMN = "join-column"; //$NON-NLS-1$
+ String JOIN_TABLE = "join-table"; //$NON-NLS-1$
+ String LENGTH = "length"; //$NON-NLS-1$
+ String LOB = "lob"; //$NON-NLS-1$
+ String MANY_TO_MANY = "many-to-many"; //$NON-NLS-1$
+ String MANY_TO_ONE = "many-to-one"; //$NON-NLS-1$
+ String MAP_KEY = "map-key"; //$NON-NLS-1$
+ String MAPPED_BY = "mapped-by"; //$NON-NLS-1$
+ String MAPPED_SUPERCLASS = "mapped-superclass"; //$NON-NLS-1$
+ String METADATA_COMPLETE = "metadata-complete"; //$NON-NLS-1$
+ String METHOD_NAME = "method-name"; //$NON-NLS-1$
+ String NAME = "name"; //$NON-NLS-1$
+ String NAMED_NATIVE_QUERY = "named-native-query"; //$NON-NLS-1$
+ String NAMED_QUERY = "named-query"; //$NON-NLS-1$
+ String NULLABLE = "nullable"; //$NON-NLS-1$
+ String ONE_TO_MANY = "one-to-many"; //$NON-NLS-1$
+ String ONE_TO_ONE = "one-to-one"; //$NON-NLS-1$
+ String OPTIONAL = "optional"; //$NON-NLS-1$
+ String ORDER_BY = "order-by"; //$NON-NLS-1$
+ String PACKAGE = "package"; //$NON-NLS-1$
+ String PERSISTENCE_UNIT_DEFAULTS = "persistence-unit-defaults"; //$NON-NLS-1$
+ String PERSISTENCE_UNIT_METADATA = "persistence-unit-metadata"; //$NON-NLS-1$
+ String PK_COLUMN_NAME = "pk-column-name"; //$NON-NLS-1$
+ String PK_COLUMN_VALUE = "pk-column-value"; //$NON-NLS-1$
+ String POST_LOAD = "post-load"; //$NON-NLS-1$
+ String POST_PERSIST = "post-persist"; //$NON-NLS-1$
+ String POST_REMOVE = "post-remove"; //$NON-NLS-1$
+ String POST_UPDATE = "post-update"; //$NON-NLS-1$
+ String PRE_PERSIST = "pre-persist"; //$NON-NLS-1$
+ String PRE_REMOVE = "pre-remove"; //$NON-NLS-1$
+ String PRE_UPDATE = "pre-update"; //$NON-NLS-1$
+ String PRECISION= "precision"; //$NON-NLS-1$
+ String PRIMARY_KEY_JOIN_COLUMN = "primary-key-join-column"; //$NON-NLS-1$
+ String QUERY = "query"; //$NON-NLS-1$
+ String REFERENCED_COLUMN_NAME = "referenced-column-name"; //$NON-NLS-1$
+ String RESULT_CLASS = "result-class"; //$NON-NLS-1$
+ String RESULT_SET_MAPPING = "result-set-mapping"; //$NON-NLS-1$
+ String SCALE= "scale"; //$NON-NLS-1$
+ String SCHEMA = "schema"; //$NON-NLS-1$
+ String SECONDARY_TABLE = "secondary-table"; //$NON-NLS-1$
+ String SEQUENCE_GENERATOR = "sequence-generator"; //$NON-NLS-1$
+ String SEQUENCE_NAME = "sequence-name"; //$NON-NLS-1$
+ String SQL_RESULT_SET_MAPPING = "sql-result-set-mapping"; //$NON-NLS-1$
+ String STRATEGY = "strategy"; //$NON-NLS-1$
+ String TABLE = "table"; //$NON-NLS-1$
+ String TABLE_GENERATOR = "table-generator"; //$NON-NLS-1$
+ String TARGET_ENTITY = "target-entity"; //$NON-NLS-1$
+ String TEMPORAL = "temporal"; //$NON-NLS-1$
+ String TRANSIENT = "transient"; //$NON-NLS-1$
+ String UNIQUE = "unique"; //$NON-NLS-1$
+ String UNIQUE_CONSTRAINT = "unique-constraint"; //$NON-NLS-1$
+ String UPDATABLE = "updatable"; //$NON-NLS-1$
+ String VALUE = "value"; //$NON-NLS-1$
+ String VALUE_COLUMN_NAME = "value-column-name"; //$NON-NLS-1$
+ String VERSION = "version"; //$NON-NLS-1$
+ String XML_MAPPING_METADATA_COMPLETE = "xml-mapping-metadata-complete"; //$NON-NLS-1$
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddableTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddableTranslator.java
new file mode 100644
index 0000000000..7a956e0db4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddableTranslator.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EmbeddableTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EmbeddableTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createClassTranslator(),
+ createAccessTranslator(),
+ createMetadataCompleteTranslator(),
+ createDescriptionTranslator(),
+ createAttributesTranslator()
+ };
+ }
+
+ private Translator createClassTranslator() {
+ return new Translator(CLASS, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_ClassName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAccessTranslator() {
+ return new Translator(ACCESS, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Access(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createMetadataCompleteTranslator() {
+ return new Translator(METADATA_COMPLETE, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_MetadataComplete(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createDescriptionTranslator() {
+ return new Translator(DESCRIPTION, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Description());
+ }
+
+ private Translator createAttributesTranslator() {
+ return new AttributesTranslator(ATTRIBUTES, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Attributes());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedIdTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedIdTranslator.java
new file mode 100644
index 0000000000..b73a41d9ed
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedIdTranslator.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EmbeddedIdTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EmbeddedIdTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlEmbeddedIdImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createAttributeOverrideTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAttributeOverrideTranslator() {
+ return new AttributeOverrideTranslator(ATTRIBUTE_OVERRIDE, ECLIPSELINK_ORM_PKG.getBaseXmlEmbedded_AttributeOverrides());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedTranslator.java
new file mode 100644
index 0000000000..3090c01b64
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EmbeddedTranslator.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EmbeddedTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EmbeddedTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlEmbeddedImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createAttributeOverrideTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAttributeOverrideTranslator() {
+ return new AttributeOverrideTranslator(ATTRIBUTE_OVERRIDE, ECLIPSELINK_ORM_PKG.getBaseXmlEmbedded_AttributeOverrides());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenerTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenerTranslator.java
new file mode 100644
index 0000000000..a369984bd1
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenerTranslator.java
@@ -0,0 +1,78 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EntityListenerTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EntityListenerTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ private Translator[] createChildren() {
+ return new Translator[] {
+ createClassTranslator(),
+ createPrePersistTranslator(),
+ createPostPersistTranslator(),
+ createPreRemoveTranslator(),
+ createPostRemoveTranslator(),
+ createPreUpdateTranslator(),
+ createPostUpdateTranslator(),
+ createPostLoadTranslator()
+ };
+ }
+
+ private Translator createClassTranslator() {
+ return new Translator(CLASS, ECLIPSELINK_ORM_PKG.getEntityListener_ClassName());
+ }
+
+ private Translator createPrePersistTranslator() {
+ return new EventMethodTranslator(PRE_PERSIST, ECLIPSELINK_ORM_PKG.getEntityListener_PrePersist());
+ }
+
+ private Translator createPostPersistTranslator() {
+ return new EventMethodTranslator(POST_PERSIST, ECLIPSELINK_ORM_PKG.getEntityListener_PostPersist());
+ }
+
+ private Translator createPreRemoveTranslator() {
+ return new EventMethodTranslator(PRE_REMOVE, ECLIPSELINK_ORM_PKG.getEntityListener_PreRemove());
+ }
+
+ private Translator createPostRemoveTranslator() {
+ return new EventMethodTranslator(POST_REMOVE, ECLIPSELINK_ORM_PKG.getEntityListener_PostRemove());
+ }
+
+ private Translator createPreUpdateTranslator() {
+ return new EventMethodTranslator(PRE_UPDATE, ECLIPSELINK_ORM_PKG.getEntityListener_PreUpdate());
+ }
+
+ private Translator createPostUpdateTranslator() {
+ return new EventMethodTranslator(POST_UPDATE, ECLIPSELINK_ORM_PKG.getEntityListener_PostUpdate());
+ }
+
+ private Translator createPostLoadTranslator() {
+ return new EventMethodTranslator(POST_LOAD, ECLIPSELINK_ORM_PKG.getEntityListener_PostLoad());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenersTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenersTranslator.java
new file mode 100644
index 0000000000..ead3554078
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityListenersTranslator.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EntityListenersTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EntityListenersTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ private Translator[] createChildren() {
+ return new Translator[] {
+ createEntityListenerTranslator()
+ };
+ }
+
+ private Translator createEntityListenerTranslator() {
+ return new EntityListenerTranslator(ENTITY_LISTENER, ECLIPSELINK_ORM_PKG.getEntityListeners_EntityListeners());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityMappingsTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityMappingsTranslator.java
new file mode 100644
index 0000000000..cdc83d451e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityMappingsTranslator.java
@@ -0,0 +1,118 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.wst.common.internal.emf.resource.ConstantAttributeTranslator;
+import org.eclipse.wst.common.internal.emf.resource.RootTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EntityMappingsTranslator extends RootTranslator
+ implements EclipseLinkOrmXmlMapper
+{
+ public static EntityMappingsTranslator INSTANCE = new EntityMappingsTranslator();
+
+
+ private Translator[] children;
+
+
+ public EntityMappingsTranslator() {
+ super(ENTITY_MAPPINGS, ECLIPSELINK_ORM_PKG.getXmlEntityMappings());
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ private Translator[] createChildren() {
+ return new Translator[] {
+ createVersionTranslator(),
+ new ConstantAttributeTranslator(XML_NS, ECLIPSELINK_ORM_NS_URL),
+ new ConstantAttributeTranslator(XML_NS_XSI, XSI_NS_URL),
+ new ConstantAttributeTranslator(XSI_SCHEMA_LOCATION, ECLIPSELINK_ORM_NS_URL + ' ' + ECLIPSELINK_ORM_SCHEMA_LOC_1_0),
+ createDescriptionTranslator(),
+ createPersistenceUnitMetadataTranslator(),
+ createPackageTranslator(),
+ createSchemaTranslator(),
+ createCatalogTranslator(),
+ createAccessTranslator(),
+ createSequenceGeneratorTranslator(),
+ createTableGeneratorTranslator(),
+ createNamedQueryTranslator(),
+ createNamedNativeQueryTranslator(),
+ createSqlResultSetMappingTranslator(),
+ createMappedSuperclassTranslator(),
+ createEntityTranslator(),
+ createEmbeddableTranslator()
+ };
+ }
+
+ private Translator createVersionTranslator() {
+ return new Translator(VERSION, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Version(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createDescriptionTranslator() {
+ return new Translator(DESCRIPTION, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Description());
+ }
+
+ private Translator createPersistenceUnitMetadataTranslator() {
+ return new PersistenceUnitMetadataTranslator(PERSISTENCE_UNIT_METADATA, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_PersistenceUnitMetadata());
+ }
+
+ private Translator createPackageTranslator() {
+ return new Translator(PACKAGE, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Package());
+ }
+
+ private Translator createSchemaTranslator() {
+ return new Translator(SCHEMA, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Schema());
+ }
+
+ private Translator createCatalogTranslator() {
+ return new Translator(CATALOG, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Catalog());
+ }
+
+ private Translator createAccessTranslator() {
+ return new Translator(ACCESS, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Access());
+ }
+
+ private Translator createSequenceGeneratorTranslator() {
+ return new SequenceGeneratorTranslator(SEQUENCE_GENERATOR, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_SequenceGenerators());
+ }
+
+ private Translator createTableGeneratorTranslator() {
+ return new TableGeneratorTranslator(TABLE_GENERATOR, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_TableGenerators());
+ }
+
+ private Translator createNamedQueryTranslator() {
+ return new NamedQueryTranslator(NAMED_QUERY, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_NamedQueries());
+ }
+
+ private Translator createNamedNativeQueryTranslator() {
+ return new NamedNativeQueryTranslator(NAMED_NATIVE_QUERY, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_NamedNativeQueries());
+ }
+
+ private Translator createSqlResultSetMappingTranslator() {
+ return new SqlResultSetMappingTranslator(SQL_RESULT_SET_MAPPING, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_SqlResultSetMappings());
+ }
+
+ private Translator createMappedSuperclassTranslator() {
+ return new MappedSuperclassTranslator(MAPPED_SUPERCLASS, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_MappedSuperclasses());
+ }
+
+ private Translator createEntityTranslator() {
+ return new EntityTranslator(ENTITY, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Entities());
+ }
+
+ private Translator createEmbeddableTranslator() {
+ return new EmbeddableTranslator(EMBEDDABLE, ECLIPSELINK_ORM_PKG.getXmlEntityMappings_Embeddables());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityResultTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityResultTranslator.java
new file mode 100644
index 0000000000..ff7dfb882e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityResultTranslator.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EntityResultTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EntityResultTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createEntityClassTranslator(),
+ createDiscriminatorColumnTranslator(),
+ createFieldResultTranslator()
+ };
+ }
+
+ private Translator createEntityClassTranslator() {
+ return new Translator(ENTITY_CLASS, ECLIPSELINK_ORM_PKG.getEntityResult_EntityClass(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createDiscriminatorColumnTranslator() {
+ return new Translator(DISCRIMINATOR_COLUMN, ECLIPSELINK_ORM_PKG.getEntityResult_DiscriminatorColumn(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createFieldResultTranslator() {
+ return new FieldResultTranslator(FIELD_RESULT, ECLIPSELINK_ORM_PKG.getEntityResult_FieldResults());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityTranslator.java
new file mode 100644
index 0000000000..d431e7867f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EntityTranslator.java
@@ -0,0 +1,187 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.EmptyTagBooleanTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EntityTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EntityTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createClassTranslator(),
+ createAccessTranslator(),
+ createMetadataCompleteTranslator(),
+ createDescriptionTranslator(),
+ createTableTranslator(),
+ createSecondaryTableTranslator(),
+ createPrimaryKeyJoinColumnTranslator(),
+ createIdClassTranslator(),
+ createInheritanceTranslator(),
+ createDiscriminatorValueTranslator(),
+ createDiscriminatorColumnTranslator(),
+ createSequenceGeneratorTranslator(),
+ createTableGeneratorTranslator(),
+ createNamedQueryTranslator(),
+ createNamedNativeQueryTranslator(),
+ createSqlResultSetMappingTranslator(),
+ createExcludeDefaultListenersTranslator(),
+ createExcludeSuperclassListenersTranslator(),
+ createEntityListenersTranslator(),
+ createPrePersistTranslator(),
+ createPostPersistTranslator(),
+ createPreRemoveTranslator(),
+ createPostRemoveTranslator(),
+ createPreUpdateTranslator(),
+ createPostUpdateTranslator(),
+ createPostLoadTranslator(),
+ createAttributeOverrideTranslator(),
+ createAssociationOverrideTranslator(),
+ createAttributesTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlEntity_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createClassTranslator() {
+ return new Translator(CLASS, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_ClassName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAccessTranslator() {
+ return new Translator(ACCESS, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Access(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createMetadataCompleteTranslator() {
+ return new Translator(METADATA_COMPLETE, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_MetadataComplete(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createDescriptionTranslator() {
+ return new Translator(DESCRIPTION, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Description());
+ }
+
+ private Translator createTableTranslator() {
+ return new TableTranslator(TABLE, ECLIPSELINK_ORM_PKG.getXmlEntity_Table());
+ }
+
+ private Translator createSecondaryTableTranslator() {
+ return new SecondaryTableTranslator(SECONDARY_TABLE, ECLIPSELINK_ORM_PKG.getXmlEntity_SecondaryTables());
+ }
+
+ private Translator createPrimaryKeyJoinColumnTranslator() {
+ return new PrimaryKeyJoinColumnTranslator(PRIMARY_KEY_JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlEntity_PrimaryKeyJoinColumns());
+ }
+
+ private Translator createIdClassTranslator() {
+ return new IdClassTranslator(ID_CLASS, ECLIPSELINK_ORM_PKG.getXmlEntity_IdClass());
+ }
+
+ private Translator createInheritanceTranslator() {
+ return new InheritanceTranslator(INHERITANCE, ECLIPSELINK_ORM_PKG.getXmlEntity_Inheritance());
+ }
+
+ private Translator createDiscriminatorValueTranslator() {
+ return new Translator(DISCRIMINATOR_VALUE, ECLIPSELINK_ORM_PKG.getXmlEntity_DiscriminatorValue());
+ }
+
+ private Translator createDiscriminatorColumnTranslator() {
+ return new DiscriminatorColumnTranslator(DISCRIMINATOR_COLUMN, ECLIPSELINK_ORM_PKG.getXmlEntity_DiscriminatorColumn());
+ }
+
+ private Translator createSequenceGeneratorTranslator() {
+ return new SequenceGeneratorTranslator(SEQUENCE_GENERATOR, ECLIPSELINK_ORM_PKG.getXmlEntity_SequenceGenerator());
+ }
+
+ private Translator createTableGeneratorTranslator() {
+ return new TableGeneratorTranslator(TABLE_GENERATOR, ECLIPSELINK_ORM_PKG.getXmlEntity_TableGenerator());
+ }
+
+ private Translator createNamedQueryTranslator() {
+ return new NamedQueryTranslator(NAMED_QUERY, ECLIPSELINK_ORM_PKG.getXmlEntity_NamedQueries());
+ }
+
+ private Translator createNamedNativeQueryTranslator() {
+ return new NamedNativeQueryTranslator(NAMED_NATIVE_QUERY, ECLIPSELINK_ORM_PKG.getXmlEntity_NamedNativeQueries());
+ }
+
+ private Translator createSqlResultSetMappingTranslator() {
+ return new SqlResultSetMappingTranslator(SQL_RESULT_SET_MAPPING, ECLIPSELINK_ORM_PKG.getXmlEntity_SqlResultSetMappings());
+ }
+
+ private Translator createExcludeDefaultListenersTranslator() {
+ return new EmptyTagBooleanTranslator(EXCLUDE_DEFAULT_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlEntity_ExcludeDefaultListeners());
+ }
+
+ private Translator createExcludeSuperclassListenersTranslator() {
+ return new EmptyTagBooleanTranslator(EXCLUDE_SUPERCLASS_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlEntity_ExcludeSuperclassListeners());
+ }
+
+ private Translator createEntityListenersTranslator() {
+ return new EntityListenersTranslator(ENTITY_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlEntity_EntityListeners());
+ }
+
+ private Translator createPrePersistTranslator() {
+ return new EventMethodTranslator(PRE_PERSIST, ECLIPSELINK_ORM_PKG.getXmlEntity_PrePersist());
+ }
+
+ private Translator createPostPersistTranslator() {
+ return new EventMethodTranslator(POST_PERSIST, ECLIPSELINK_ORM_PKG.getXmlEntity_PostPersist());
+ }
+
+ private Translator createPreRemoveTranslator() {
+ return new EventMethodTranslator(PRE_REMOVE, ECLIPSELINK_ORM_PKG.getXmlEntity_PreRemove());
+ }
+
+ private Translator createPostRemoveTranslator() {
+ return new EventMethodTranslator(POST_REMOVE, ECLIPSELINK_ORM_PKG.getXmlEntity_PostRemove());
+ }
+
+ private Translator createPreUpdateTranslator() {
+ return new EventMethodTranslator(PRE_UPDATE, ECLIPSELINK_ORM_PKG.getXmlEntity_PreUpdate());
+ }
+
+ private Translator createPostUpdateTranslator() {
+ return new EventMethodTranslator(POST_UPDATE, ECLIPSELINK_ORM_PKG.getXmlEntity_PostUpdate());
+ }
+
+ private Translator createPostLoadTranslator() {
+ return new EventMethodTranslator(POST_LOAD, ECLIPSELINK_ORM_PKG.getXmlEntity_PostLoad());
+ }
+
+ private Translator createAttributeOverrideTranslator() {
+ return new AttributeOverrideTranslator(ATTRIBUTE_OVERRIDE, ECLIPSELINK_ORM_PKG.getXmlEntity_AttributeOverrides());
+ }
+
+ private Translator createAssociationOverrideTranslator() {
+ return new AssociationOverrideTranslator(ASSOCIATION_OVERRIDE, ECLIPSELINK_ORM_PKG.getXmlEntity_AssociationOverrides());
+ }
+
+ private Translator createAttributesTranslator() {
+ return new AttributesTranslator(ATTRIBUTES, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Attributes());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EventMethodTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EventMethodTranslator.java
new file mode 100644
index 0000000000..520ba3293a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/EventMethodTranslator.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class EventMethodTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public EventMethodTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ private Translator[] createChildren() {
+ return new Translator[] {
+ createMethodNameTranslator()
+ };
+ }
+
+ private Translator createMethodNameTranslator() {
+ return new Translator(METHOD_NAME, ECLIPSELINK_ORM_PKG.getEventMethod_MethodName(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/FieldResultTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/FieldResultTranslator.java
new file mode 100644
index 0000000000..f890b43eb5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/FieldResultTranslator.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class FieldResultTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public FieldResultTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createColumnTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getFieldResult_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnTranslator() {
+ return new Translator(COLUMN, ECLIPSELINK_ORM_PKG.getFieldResult_Column(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/GeneratedValueTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/GeneratedValueTranslator.java
new file mode 100644
index 0000000000..2f304ebb6a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/GeneratedValueTranslator.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class GeneratedValueTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public GeneratedValueTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlGeneratedValueImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createStrategyTranslator(),
+ createGeneratorTranslator()
+ };
+ }
+
+ protected Translator createStrategyTranslator() {
+ return new Translator(STRATEGY, ECLIPSELINK_ORM_PKG.getXmlGeneratedValue_Strategy(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createGeneratorTranslator() {
+ return new Translator(GENERATOR, ECLIPSELINK_ORM_PKG.getXmlGeneratedValue_Generator(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdClassTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdClassTranslator.java
new file mode 100644
index 0000000000..f6db4896ac
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdClassTranslator.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class IdClassTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public IdClassTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createClassTranslator()
+ };
+ }
+
+ protected Translator createClassTranslator() {
+ return new Translator(CLASS, ECLIPSELINK_ORM_PKG.getXmlIdClass_ClassName(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdTranslator.java
new file mode 100644
index 0000000000..52cce976fe
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/IdTranslator.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class IdTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public IdTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlIdImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createColumnTranslator(),
+ createGeneratedValueTranslator(),
+ createTemporalTranslator(),
+ createTableGeneratorTranslator(),
+ createSequenceGeneratorTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnTranslator() {
+ return new ColumnTranslator(COLUMN, ECLIPSELINK_ORM_PKG.getColumnMapping_Column());
+ }
+
+ private Translator createGeneratedValueTranslator() {
+ return new GeneratedValueTranslator(GENERATED_VALUE, ECLIPSELINK_ORM_PKG.getXmlId_GeneratedValue());
+ }
+
+ private Translator createTemporalTranslator() {
+ return new Translator(TEMPORAL, ECLIPSELINK_ORM_PKG.getXmlId_Temporal());
+ }
+
+ private Translator createTableGeneratorTranslator() {
+ return new TableGeneratorTranslator(TABLE_GENERATOR, ECLIPSELINK_ORM_PKG.getXmlId_TableGenerator());
+ }
+
+ private Translator createSequenceGeneratorTranslator() {
+ return new SequenceGeneratorTranslator(SEQUENCE_GENERATOR, ECLIPSELINK_ORM_PKG.getXmlId_SequenceGenerator());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/InheritanceTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/InheritanceTranslator.java
new file mode 100644
index 0000000000..e8cc7c05f7
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/InheritanceTranslator.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class InheritanceTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public InheritanceTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createStrategyTranslator(),
+ };
+ }
+
+ private Translator createStrategyTranslator() {
+ return new Translator(STRATEGY, ECLIPSELINK_ORM_PKG.getInheritance_Strategy(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinColumnTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinColumnTranslator.java
new file mode 100644
index 0000000000..7d231e39b6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinColumnTranslator.java
@@ -0,0 +1,85 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0, which accompanies this distribution and is available at
+ * http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.BooleanTranslator;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class JoinColumnTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public JoinColumnTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlJoinColumnImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createReferencedColumnNameTranslator(),
+ createUniqueTranslator(),
+ createNullableTranslator(),
+ createInsertableTranslator(),
+ createUpdatableTranslator(),
+ createColumnDefinitionTranslator(),
+ createTableTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createReferencedColumnNameTranslator() {
+ return new Translator(REFERENCED_COLUMN_NAME, ECLIPSELINK_ORM_PKG.getXmlJoinColumn_ReferencedColumnName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createUniqueTranslator() {
+ return new BooleanTranslator(UNIQUE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Unique(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createNullableTranslator() {
+ return new BooleanTranslator(NULLABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Nullable(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createInsertableTranslator() {
+ return new BooleanTranslator(INSERTABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Insertable(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createUpdatableTranslator() {
+ return new BooleanTranslator(UPDATABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Updatable(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnDefinitionTranslator() {
+ return new Translator(COLUMN_DEFINITION, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_ColumnDefinition(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTableTranslator() {
+ return new Translator(TABLE, ECLIPSELINK_ORM_PKG.getXmlAbstractColumn_Table(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinTableTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinTableTranslator.java
new file mode 100644
index 0000000000..e3400f4ae6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/JoinTableTranslator.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class JoinTableTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public JoinTableTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlJoinTableImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createCatalogTranslator(),
+ createSchemaTranslator(),
+ createJoinColumnTranslator(),
+ createInverseJoinColumnTranslator(),
+ createUniqueConstraintTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createCatalogTranslator() {
+ return new Translator(CATALOG, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Catalog(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createSchemaTranslator() {
+ return new Translator(SCHEMA, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Schema(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createJoinColumnTranslator() {
+ return new JoinColumnTranslator(JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlJoinTable_JoinColumns());
+ }
+
+ private Translator createInverseJoinColumnTranslator() {
+ return new JoinColumnTranslator(INVERSE_JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlJoinTable_InverseJoinColumns());
+ }
+
+ private Translator createUniqueConstraintTranslator() {
+ return new UniqueConstraintTranslator(UNIQUE_CONSTRAINT, ECLIPSELINK_ORM_PKG.getXmlBaseTable_UniqueConstraints());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToManyTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToManyTranslator.java
new file mode 100644
index 0000000000..f3aea5b218
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToManyTranslator.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class ManyToManyTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public ManyToManyTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlManyToManyImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createTargetEntityTranslator(),
+ createFetchTranslator(),
+ createMappedByTranslator(),
+ createOrderByTranslator(),
+ createMapKeyTranslator(),
+ createJoinTableTranslator(),
+ createCascadeTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTargetEntityTranslator() {
+ return new Translator(TARGET_ENTITY, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_TargetEntity(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createFetchTranslator() {
+ return new Translator(FETCH, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Fetch(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createMappedByTranslator() {
+ return new Translator(MAPPED_BY, ECLIPSELINK_ORM_PKG.getXmlMultiRelationshipMapping_MappedBy(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createOrderByTranslator() {
+ return new Translator(ORDER_BY, ECLIPSELINK_ORM_PKG.getXmlMultiRelationshipMapping_OrderBy());
+ }
+
+ private Translator createMapKeyTranslator() {
+ return new MapKeyTranslator(MAP_KEY, ECLIPSELINK_ORM_PKG.getXmlMultiRelationshipMapping_MapKey());
+ }
+
+ private Translator createJoinTableTranslator() {
+ return new JoinTableTranslator(JOIN_TABLE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_JoinTable());
+ }
+
+ private Translator createCascadeTranslator() {
+ return new CascadeTypeTranslator(CASCADE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Cascade());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToOneTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToOneTranslator.java
new file mode 100644
index 0000000000..f013418eaa
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/ManyToOneTranslator.java
@@ -0,0 +1,78 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class ManyToOneTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public ManyToOneTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlManyToOneImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createTargetEntityTranslator(),
+ createFetchTranslator(),
+ createOptionalTranslator(),
+ createJoinColumnTranslator(),
+ createJoinTableTranslator(),
+ createCascadeTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTargetEntityTranslator() {
+ return new Translator(TARGET_ENTITY, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_TargetEntity(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createFetchTranslator() {
+ return new Translator(FETCH, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Fetch(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createOptionalTranslator() {
+ return new Translator(OPTIONAL, ECLIPSELINK_ORM_PKG.getXmlSingleRelationshipMapping_Optional(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createJoinColumnTranslator() {
+ return new JoinColumnTranslator(JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlSingleRelationshipMapping_JoinColumns());
+ }
+
+ private Translator createJoinTableTranslator() {
+ return new JoinTableTranslator(JOIN_TABLE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_JoinTable());
+ }
+
+ private Translator createCascadeTranslator() {
+ return new CascadeTypeTranslator(CASCADE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Cascade());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MapKeyTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MapKeyTranslator.java
new file mode 100644
index 0000000000..9b18e0ab63
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MapKeyTranslator.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+
+public class MapKeyTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public MapKeyTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator()
+ };
+ }
+
+ protected Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getMapKey_Name(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MappedSuperclassTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MappedSuperclassTranslator.java
new file mode 100644
index 0000000000..8c3c6a42f6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/MappedSuperclassTranslator.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.EmptyTagBooleanTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class MappedSuperclassTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public MappedSuperclassTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createClassTranslator(),
+ createAccessTranslator(),
+ createMetadataCompleteTranslator(),
+ createDescriptionTranslator(),
+ createIdClassTranslator(),
+ createExcludeDefaultListenersTranslator(),
+ createExcludeSuperclassListenersTranslator(),
+ createEntityListenersTranslator(),
+ createPrePersistTranslator(),
+ createPostPersistTranslator(),
+ createPreRemoveTranslator(),
+ createPostRemoveTranslator(),
+ createPreUpdateTranslator(),
+ createPostUpdateTranslator(),
+ createPostLoadTranslator(),
+ createAttributesTranslator()
+ };
+ }
+
+ private Translator createClassTranslator() {
+ return new Translator(CLASS, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_ClassName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAccessTranslator() {
+ return new Translator(ACCESS, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Access(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createMetadataCompleteTranslator() {
+ return new Translator(METADATA_COMPLETE, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_MetadataComplete(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createDescriptionTranslator() {
+ return new Translator(DESCRIPTION, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Description());
+ }
+
+ private Translator createIdClassTranslator() {
+ return new IdClassTranslator(ID_CLASS, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_IdClass());
+ }
+
+ private Translator createExcludeDefaultListenersTranslator() {
+ return new EmptyTagBooleanTranslator(EXCLUDE_DEFAULT_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_ExcludeDefaultListeners());
+ }
+
+ private Translator createExcludeSuperclassListenersTranslator() {
+ return new EmptyTagBooleanTranslator(EXCLUDE_SUPERCLASS_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_ExcludeSuperclassListeners());
+ }
+
+ private Translator createEntityListenersTranslator() {
+ return new EntityListenersTranslator(ENTITY_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_EntityListeners());
+ }
+
+ private Translator createPrePersistTranslator() {
+ return new EventMethodTranslator(PRE_PERSIST, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PrePersist());
+ }
+
+ private Translator createPostPersistTranslator() {
+ return new EventMethodTranslator(POST_PERSIST, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PostPersist());
+ }
+
+ private Translator createPreRemoveTranslator() {
+ return new EventMethodTranslator(PRE_REMOVE, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PreRemove());
+ }
+
+ private Translator createPostRemoveTranslator() {
+ return new EventMethodTranslator(POST_REMOVE, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PostRemove());
+ }
+
+ private Translator createPreUpdateTranslator() {
+ return new EventMethodTranslator(PRE_UPDATE, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PreUpdate());
+ }
+
+ private Translator createPostUpdateTranslator() {
+ return new EventMethodTranslator(POST_UPDATE, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PostUpdate());
+ }
+
+ private Translator createPostLoadTranslator() {
+ return new EventMethodTranslator(POST_LOAD, ECLIPSELINK_ORM_PKG.getXmlMappedSuperclass_PostLoad());
+ }
+
+ private Translator createAttributesTranslator() {
+ return new AttributesTranslator(ATTRIBUTES, ECLIPSELINK_ORM_PKG.getAbstractXmlTypeMapping_Attributes());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedNativeQueryTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedNativeQueryTranslator.java
new file mode 100644
index 0000000000..3e46b8d2c5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedNativeQueryTranslator.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class NamedNativeQueryTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public NamedNativeQueryTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createResultClassTranslator(),
+ createResultSetMappingTranslator(),
+ createQueryTranslator(),
+ createHintTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlQuery_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createResultClassTranslator() {
+ return new Translator(RESULT_CLASS, ECLIPSELINK_ORM_PKG.getXmlNamedNativeQuery_ResultClass(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createResultSetMappingTranslator() {
+ return new Translator(RESULT_SET_MAPPING, ECLIPSELINK_ORM_PKG.getXmlNamedNativeQuery_ResultSetMapping(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createQueryTranslator() {
+ return new Translator(QUERY, ECLIPSELINK_ORM_PKG.getXmlQuery_Query());
+ }
+
+ private Translator createHintTranslator() {
+ return new QueryHintTranslator(HINT, ECLIPSELINK_ORM_PKG.getXmlQuery_Hints());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedQueryTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedQueryTranslator.java
new file mode 100644
index 0000000000..cd89030f31
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/NamedQueryTranslator.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class NamedQueryTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public NamedQueryTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createQueryTranslator(),
+ createHintTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlQuery_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createQueryTranslator() {
+ return new Translator(QUERY, ECLIPSELINK_ORM_PKG.getXmlQuery_Query());
+ }
+
+ private Translator createHintTranslator() {
+ return new QueryHintTranslator(HINT, ECLIPSELINK_ORM_PKG.getXmlQuery_Hints());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToManyTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToManyTranslator.java
new file mode 100644
index 0000000000..979276185f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToManyTranslator.java
@@ -0,0 +1,88 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class OneToManyTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public OneToManyTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlOneToManyImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createTargetEntityTranslator(),
+ createFetchTranslator(),
+ createMappedByTranslator(),
+ createOrderByTranslator(),
+ createMapKeyTranslator(),
+ createJoinTableTranslator(),
+ createJoinColumnTranslator(),
+ createCascadeTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTargetEntityTranslator() {
+ return new Translator(TARGET_ENTITY, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_TargetEntity(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createFetchTranslator() {
+ return new Translator(FETCH, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Fetch(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createMappedByTranslator() {
+ return new Translator(MAPPED_BY, ECLIPSELINK_ORM_PKG.getXmlMultiRelationshipMapping_MappedBy(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createOrderByTranslator() {
+ return new Translator(ORDER_BY, ECLIPSELINK_ORM_PKG.getXmlMultiRelationshipMapping_OrderBy());
+ }
+
+ private Translator createMapKeyTranslator() {
+ return new MapKeyTranslator(MAP_KEY, ECLIPSELINK_ORM_PKG.getXmlMultiRelationshipMapping_MapKey());
+ }
+
+ private Translator createJoinTableTranslator() {
+ return new JoinTableTranslator(JOIN_TABLE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_JoinTable());
+ }
+
+ private Translator createJoinColumnTranslator() {
+ return new JoinColumnTranslator(JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlOneToMany_JoinColumns());
+ }
+
+ private Translator createCascadeTranslator() {
+ return new CascadeTypeTranslator(CASCADE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Cascade());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToOneTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToOneTranslator.java
new file mode 100644
index 0000000000..fd33fcc3f7
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/OneToOneTranslator.java
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class OneToOneTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public OneToOneTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlOneToOneImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createTargetEntityTranslator(),
+ createFetchTranslator(),
+ createOptionalTranslator(),
+ createMappedByTranslator(),
+ createPrimaryKeyJoinColumnTranslator(),
+ createJoinColumnTranslator(),
+ createJoinTableTranslator(),
+ createCascadeTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTargetEntityTranslator() {
+ return new Translator(TARGET_ENTITY, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_TargetEntity(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createFetchTranslator() {
+ return new Translator(FETCH, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Fetch(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createOptionalTranslator() {
+ return new Translator(OPTIONAL, ECLIPSELINK_ORM_PKG.getXmlSingleRelationshipMapping_Optional(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createMappedByTranslator() {
+ return new Translator(MAPPED_BY, ECLIPSELINK_ORM_PKG.getXmlOneToOne_MappedBy(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createPrimaryKeyJoinColumnTranslator() {
+ return new PrimaryKeyJoinColumnTranslator(PRIMARY_KEY_JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlOneToOne_PrimaryKeyJoinColumns());
+ }
+
+ private Translator createJoinColumnTranslator() {
+ return new JoinColumnTranslator(JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlSingleRelationshipMapping_JoinColumns());
+ }
+
+ private Translator createJoinTableTranslator() {
+ return new JoinTableTranslator(JOIN_TABLE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_JoinTable());
+ }
+
+ private Translator createCascadeTranslator() {
+ return new CascadeTypeTranslator(CASCADE, ECLIPSELINK_ORM_PKG.getXmlRelationshipMapping_Cascade());
+ }
+
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitDefaultsTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitDefaultsTranslator.java
new file mode 100644
index 0000000000..eba1381c6c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitDefaultsTranslator.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.EmptyTagBooleanTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class PersistenceUnitDefaultsTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public PersistenceUnitDefaultsTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ private Translator[] createChildren() {
+ return new Translator[] {
+ createSchemaTranslator(),
+ createCatalogTranslator(),
+ createAccessTranslator(),
+ createCascadePersistTranslator(),
+ createEntityListenersTranslator()
+ };
+ }
+
+ private Translator createSchemaTranslator() {
+ return new Translator(SCHEMA, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitDefaults_Schema());
+ }
+
+ private Translator createCatalogTranslator() {
+ return new Translator(CATALOG, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitDefaults_Catalog());
+ }
+
+ private Translator createAccessTranslator() {
+ return new Translator(ACCESS, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitDefaults_Access());
+ }
+
+ private Translator createCascadePersistTranslator() {
+ return new EmptyTagBooleanTranslator(CASCADE_PERSIST, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitDefaults_CascadePersist());
+ }
+
+ private Translator createEntityListenersTranslator() {
+ return new EntityListenersTranslator(ENTITY_LISTENERS, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitDefaults_EntityListeners());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitMetadataTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitMetadataTranslator.java
new file mode 100644
index 0000000000..4273110a8b
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PersistenceUnitMetadataTranslator.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.core.internal.resource.common.translators.EmptyTagBooleanTranslator;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class PersistenceUnitMetadataTranslator extends Translator implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public PersistenceUnitMetadataTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ private Translator[] createChildren() {
+ return new Translator[] {
+ createXmlMappingMetadataCompleteTranslator(),
+ createPersistenceUnitDefaultsTranslator(),
+ };
+ }
+
+ private Translator createXmlMappingMetadataCompleteTranslator() {
+ return new EmptyTagBooleanTranslator(XML_MAPPING_METADATA_COMPLETE, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitMetadata_XmlMappingMetadataComplete());
+ }
+
+ private Translator createPersistenceUnitDefaultsTranslator() {
+ return new PersistenceUnitDefaultsTranslator(PERSISTENCE_UNIT_DEFAULTS, ECLIPSELINK_ORM_PKG.getXmlPersistenceUnitMetadata_PersistenceUnitDefaults());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PrimaryKeyJoinColumnTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PrimaryKeyJoinColumnTranslator.java
new file mode 100644
index 0000000000..81ea9afcc4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/PrimaryKeyJoinColumnTranslator.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0, which accompanies this distribution and is available at
+ * http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class PrimaryKeyJoinColumnTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public PrimaryKeyJoinColumnTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlPrimaryKeyJoinColumnImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createReferencedColumnNameTranslator(),
+ createColumnDefinitionTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createReferencedColumnNameTranslator() {
+ return new Translator(REFERENCED_COLUMN_NAME, ECLIPSELINK_ORM_PKG.getXmlPrimaryKeyJoinColumn_ReferencedColumnName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnDefinitionTranslator() {
+ return new Translator(COLUMN_DEFINITION, ECLIPSELINK_ORM_PKG.getXmlNamedColumn_ColumnDefinition(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/QueryHintTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/QueryHintTranslator.java
new file mode 100644
index 0000000000..76d2d02596
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/QueryHintTranslator.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class QueryHintTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public QueryHintTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createValueTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlQueryHint_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createValueTranslator() {
+ return new Translator(VALUE, ECLIPSELINK_ORM_PKG.getXmlQueryHint_Value(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SecondaryTableTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SecondaryTableTranslator.java
new file mode 100644
index 0000000000..5d311abd42
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SecondaryTableTranslator.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class SecondaryTableTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public SecondaryTableTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlSecondaryTableImpl();
+ }
+
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createCatalogTranslator(),
+ createSchemaTranslator(),
+ createPrimaryKeyJoinColumnsTranslator(),
+ createUniqueConstraintTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createCatalogTranslator() {
+ return new Translator(CATALOG, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Catalog(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createSchemaTranslator() {
+ return new Translator(SCHEMA, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Schema(), DOM_ATTRIBUTE);
+ }
+
+ protected Translator createPrimaryKeyJoinColumnsTranslator() {
+ return new PrimaryKeyJoinColumnTranslator(PRIMARY_KEY_JOIN_COLUMN, ECLIPSELINK_ORM_PKG.getXmlSecondaryTable_PrimaryKeyJoinColumns());
+ }
+
+ private Translator createUniqueConstraintTranslator() {
+ return new UniqueConstraintTranslator(UNIQUE_CONSTRAINT, ECLIPSELINK_ORM_PKG.getXmlBaseTable_UniqueConstraints());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SequenceGeneratorTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SequenceGeneratorTranslator.java
new file mode 100644
index 0000000000..fa2a995580
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SequenceGeneratorTranslator.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class SequenceGeneratorTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public SequenceGeneratorTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlSequenceGeneratorImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createSequenceNameTranslator(),
+ createInitialValueTranslator(),
+ createAllocationSizeTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlGenerator_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createSequenceNameTranslator() {
+ return new Translator(SEQUENCE_NAME, ECLIPSELINK_ORM_PKG.getXmlSequenceGenerator_SequenceName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createInitialValueTranslator() {
+ return new Translator(INITIAL_VALUE, ECLIPSELINK_ORM_PKG.getXmlGenerator_InitialValue(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAllocationSizeTranslator() {
+ return new Translator(ALLOCATION_SIZE, ECLIPSELINK_ORM_PKG.getXmlGenerator_AllocationSize(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SqlResultSetMappingTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SqlResultSetMappingTranslator.java
new file mode 100644
index 0000000000..239fd2025a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/SqlResultSetMappingTranslator.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class SqlResultSetMappingTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public SqlResultSetMappingTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createEntityResultTranslator(),
+ createColumnResultTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getSqlResultSetMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createEntityResultTranslator() {
+ return new EntityResultTranslator(ENTITY_RESULT, ECLIPSELINK_ORM_PKG.getSqlResultSetMapping_EntityResults());
+ }
+
+ private Translator createColumnResultTranslator() {
+ return new ColumnResultTranslator(COLUMN_RESULT, ECLIPSELINK_ORM_PKG.getSqlResultSetMapping_ColumnResults());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableGeneratorTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableGeneratorTranslator.java
new file mode 100644
index 0000000000..888bb241fc
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableGeneratorTranslator.java
@@ -0,0 +1,93 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class TableGeneratorTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public TableGeneratorTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlTableGeneratorImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createTableTranslator(),
+ createCatalogTranslator(),
+ createSchemaTranslator(),
+ createPkColumnNameTranslator(),
+ createValueColumnNameTranslator(),
+ createPkColumnValueTranslator(),
+ createInitialValueTranslator(),
+ createAllocationSizeTranslator(),
+ createUniqueConstraintTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlGenerator_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createTableTranslator() {
+ return new Translator(TABLE, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_Table(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createCatalogTranslator() {
+ return new Translator(CATALOG, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_Catalog(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createSchemaTranslator() {
+ return new Translator(SCHEMA, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_Schema(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createPkColumnNameTranslator() {
+ return new Translator(PK_COLUMN_NAME, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_PkColumnName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createValueColumnNameTranslator() {
+ return new Translator(VALUE_COLUMN_NAME, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_ValueColumnName(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createPkColumnValueTranslator() {
+ return new Translator(PK_COLUMN_VALUE, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_PkColumnValue(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createInitialValueTranslator() {
+ return new Translator(INITIAL_VALUE, ECLIPSELINK_ORM_PKG.getXmlGenerator_InitialValue(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createAllocationSizeTranslator() {
+ return new Translator(ALLOCATION_SIZE, ECLIPSELINK_ORM_PKG.getXmlGenerator_AllocationSize(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createUniqueConstraintTranslator() {
+ return new UniqueConstraintTranslator(UNIQUE_CONSTRAINT, ECLIPSELINK_ORM_PKG.getXmlTableGenerator_UniqueConstraints());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableTranslator.java
new file mode 100644
index 0000000000..30decdda2a
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TableTranslator.java
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class TableTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public TableTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createCatalogTranslator(),
+ createSchemaTranslator(),
+ createUniqueConstraintTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createCatalogTranslator() {
+ return new Translator(CATALOG, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Catalog(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createSchemaTranslator() {
+ return new Translator(SCHEMA, ECLIPSELINK_ORM_PKG.getXmlBaseTable_Schema(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createUniqueConstraintTranslator() {
+ return new UniqueConstraintTranslator(UNIQUE_CONSTRAINT, ECLIPSELINK_ORM_PKG.getXmlBaseTable_UniqueConstraints());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TransientTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TransientTranslator.java
new file mode 100644
index 0000000000..51d6f22e46
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/TransientTranslator.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class TransientTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public TransientTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature, END_TAG_NO_INDENT);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlTransientImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator()
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/UniqueConstraintTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/UniqueConstraintTranslator.java
new file mode 100644
index 0000000000..fbe31840bb
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/UniqueConstraintTranslator.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Oracle. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class UniqueConstraintTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public UniqueConstraintTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlUniqueConstraintImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createColumnNameTranslator(),
+ };
+ }
+
+ private Translator createColumnNameTranslator() {
+ return new Translator(COLUMN_NAME, ECLIPSELINK_ORM_PKG.getXmlUniqueConstraint_ColumnNames());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/VersionTranslator.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/VersionTranslator.java
new file mode 100644
index 0000000000..15de5b5463
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource/elorm/translators/VersionTranslator.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.internal.resource.elorm.translators;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jpt.eclipselink.core.resource.elorm.EclipseLinkOrmFactory;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+public class VersionTranslator extends Translator
+ implements EclipseLinkOrmXmlMapper
+{
+ private Translator[] children;
+
+
+ public VersionTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ }
+
+ @Override
+ public EObject createEMFObject(String nodeName, String readAheadName) {
+ return EclipseLinkOrmFactory.eINSTANCE.createXmlVersionImpl();
+ }
+
+ @Override
+ public Translator[] getChildren(Object target, int versionID) {
+ if (this.children == null) {
+ this.children = createChildren();
+ }
+ return this.children;
+ }
+
+ protected Translator[] createChildren() {
+ return new Translator[] {
+ createNameTranslator(),
+ createColumnTranslator(),
+ createTemporalTranslator(),
+ };
+ }
+
+ private Translator createNameTranslator() {
+ return new Translator(NAME, ECLIPSELINK_ORM_PKG.getXmlAttributeMapping_Name(), DOM_ATTRIBUTE);
+ }
+
+ private Translator createColumnTranslator() {
+ return new ColumnTranslator(COLUMN, ECLIPSELINK_ORM_PKG.getColumnMapping_Column());
+ }
+
+ private Translator createTemporalTranslator() {
+ return new Translator(TEMPORAL, ECLIPSELINK_ORM_PKG.getXmlVersion_Temporal());
+ }
+}

Back to the top