diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/resource')
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()); + } +} |