support for basic mapping column validation
diff --git a/jpa/plugins/org.eclipse.jpt.core/model/jptResourceModels.genmodel b/jpa/plugins/org.eclipse.jpt.core/model/jptResourceModels.genmodel
index 847e88f..e9d44bc 100644
--- a/jpa/plugins/org.eclipse.jpt.core/model/jptResourceModels.genmodel
+++ b/jpa/plugins/org.eclipse.jpt.core/model/jptResourceModels.genmodel
@@ -221,6 +221,7 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute orm.ecore#//XmlNamedColumn/columnDefinition"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute orm.ecore#//XmlNamedColumn/name"/>
</genClasses>
+ <genClasses image="false" ecoreClass="orm.ecore#//AbstractXmlNamedColumn"/>
<genClasses image="false" ecoreClass="orm.ecore#//XmlAbstractColumn">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute orm.ecore#//XmlAbstractColumn/insertable"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute orm.ecore#//XmlAbstractColumn/nullable"/>
@@ -228,6 +229,7 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute orm.ecore#//XmlAbstractColumn/unique"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute orm.ecore#//XmlAbstractColumn/updatable"/>
</genClasses>
+ <genClasses image="false" ecoreClass="orm.ecore#//AbstractXmlAbstractColumn"/>
<genClasses image="false" ecoreClass="orm.ecore#//XmlColumn">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute orm.ecore#//XmlColumn/length"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute orm.ecore#//XmlColumn/precision"/>
diff --git a/jpa/plugins/org.eclipse.jpt.core/model/orm.ecore b/jpa/plugins/org.eclipse.jpt.core/model/orm.ecore
index 96997b0..ee9467a 100644
--- a/jpa/plugins/org.eclipse.jpt.core/model/orm.ecore
+++ b/jpa/plugins/org.eclipse.jpt.core/model/orm.ecore
@@ -270,6 +270,8 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="columnDefinition" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractXmlNamedColumn" abstract="true"
+ eSuperTypes="#//XmlNamedColumn"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlAbstractColumn" abstract="true" interface="true"
eSuperTypes="#//XmlNamedColumn">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="insertable" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
@@ -278,17 +280,19 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="unique" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="updatable" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractXmlAbstractColumn" abstract="true"
+ eSuperTypes="#//AbstractXmlNamedColumn #//XmlAbstractColumn"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlColumn" abstract="true" interface="true"
eSuperTypes="#//XmlAbstractColumn">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="length" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//IntObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="precision" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//IntObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="scale" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//IntObject"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ColumnImpl" eSuperTypes="#//XmlColumn"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ColumnImpl" eSuperTypes="#//AbstractXmlAbstractColumn #//XmlColumn"/>
<eClassifiers xsi:type="ecore:EClass" name="ColumnResult">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="XmlDiscriminatorColumn" eSuperTypes="#//XmlNamedColumn">
+ <eClassifiers xsi:type="ecore:EClass" name="XmlDiscriminatorColumn" eSuperTypes="#//AbstractXmlNamedColumn">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="discriminatorType" eType="#//DiscriminatorType"
defaultValueLiteral="STRING"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="length" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//IntObject"/>
@@ -349,7 +353,7 @@
eSuperTypes="#//XmlAbstractColumn">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="referencedColumnName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="JoinColumnImpl" eSuperTypes="#//XmlJoinColumn"/>
+ <eClassifiers xsi:type="ecore:EClass" name="JoinColumnImpl" eSuperTypes="#//AbstractXmlAbstractColumn #//XmlJoinColumn"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlJoinTable" abstract="true" interface="true"
eSuperTypes="#//XmlBaseTable">
<eStructuralFeatures xsi:type="ecore:EReference" name="joinColumns" upperBound="-1"
@@ -381,7 +385,7 @@
<eClassifiers xsi:type="ecore:EClass" name="PrePersist" eSuperTypes="#//EventMethod"/>
<eClassifiers xsi:type="ecore:EClass" name="PreRemove" eSuperTypes="#//EventMethod"/>
<eClassifiers xsi:type="ecore:EClass" name="PreUpdate" eSuperTypes="#//EventMethod"/>
- <eClassifiers xsi:type="ecore:EClass" name="XmlPrimaryKeyJoinColumn" eSuperTypes="#//XmlNamedColumn">
+ <eClassifiers xsi:type="ecore:EClass" name="XmlPrimaryKeyJoinColumn" eSuperTypes="#//AbstractXmlNamedColumn">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="referencedColumnName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="XmlQueryHint">
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaFactory.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaFactory.java
index b724a1a..6fe7b66 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaFactory.java
@@ -11,13 +11,10 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jpt.core.context.AbstractJoinColumn;
import org.eclipse.jpt.core.context.AssociationOverride;
import org.eclipse.jpt.core.context.AttributeOverride;
import org.eclipse.jpt.core.context.BaseJpaContent;
-import org.eclipse.jpt.core.context.JoinColumn;
import org.eclipse.jpt.core.context.JpaContextNode;
-import org.eclipse.jpt.core.context.NamedColumn;
import org.eclipse.jpt.core.context.java.JavaAbstractJoinColumn;
import org.eclipse.jpt.core.context.java.JavaAssociationOverride;
import org.eclipse.jpt.core.context.java.JavaAttributeMapping;
@@ -56,6 +53,7 @@
import org.eclipse.jpt.core.context.java.JavaTypeMapping;
import org.eclipse.jpt.core.context.java.JavaVersionMapping;
import org.eclipse.jpt.core.context.orm.EntityMappings;
+import org.eclipse.jpt.core.context.orm.OrmAbstractJoinColumn;
import org.eclipse.jpt.core.context.orm.OrmAssociationOverride;
import org.eclipse.jpt.core.context.orm.OrmAttributeMapping;
import org.eclipse.jpt.core.context.orm.OrmAttributeOverride;
@@ -74,6 +72,7 @@
import org.eclipse.jpt.core.context.orm.OrmManyToManyMapping;
import org.eclipse.jpt.core.context.orm.OrmManyToOneMapping;
import org.eclipse.jpt.core.context.orm.OrmMappedSuperclass;
+import org.eclipse.jpt.core.context.orm.OrmNamedColumn;
import org.eclipse.jpt.core.context.orm.OrmNamedNativeQuery;
import org.eclipse.jpt.core.context.orm.OrmNamedQuery;
import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
@@ -216,17 +215,17 @@
OrmSecondaryTable buildOrmSecondaryTable(OrmEntity parent);
- OrmPrimaryKeyJoinColumn buildOrmPrimaryKeyJoinColumn(OrmJpaContextNode parent, AbstractJoinColumn.Owner owner);
+ OrmPrimaryKeyJoinColumn buildOrmPrimaryKeyJoinColumn(OrmJpaContextNode parent, OrmAbstractJoinColumn.Owner owner);
OrmJoinTable buildOrmJoinTable(OrmRelationshipMapping parent);
- OrmJoinColumn buildOrmJoinColumn(OrmJpaContextNode parent, JoinColumn.Owner owner);
+ OrmJoinColumn buildOrmJoinColumn(OrmJpaContextNode parent, OrmJoinColumn.Owner owner);
OrmAttributeOverride buildOrmAttributeOverride(OrmJpaContextNode parent, AttributeOverride.Owner owner, XmlAttributeOverride xmlAttributeOverride);
OrmAssociationOverride buildOrmAssociationOverride(OrmJpaContextNode parent, AssociationOverride.Owner owner, XmlAssociationOverride associationOverride);
- OrmDiscriminatorColumn buildOrmDiscriminatorColumn(OrmEntity parent, NamedColumn.Owner owner);
+ OrmDiscriminatorColumn buildOrmDiscriminatorColumn(OrmEntity parent, OrmNamedColumn.Owner owner);
OrmColumn buildOrmColumn(OrmJpaContextNode parent, OrmColumn.Owner owner);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaPersistentAttribute.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaPersistentAttribute.java
index 788a2ea..4c2e495 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaPersistentAttribute.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaPersistentAttribute.java
@@ -33,11 +33,11 @@
JavaPersistentType persistentType();
- void initializeFromResource(JavaResourcePersistentAttribute persistentAttributeResource);
+ void initializeFromResource(JavaResourcePersistentAttribute resourcePersistentAttribute);
- void update(JavaResourcePersistentAttribute persistentAttributeResource);
+ void update(JavaResourcePersistentAttribute resourcePersistentAttribute);
- JavaResourcePersistentAttribute getPersistentAttributeResource();
+ JavaResourcePersistentAttribute getResourcePersistentAttribute();
/**
* Return whether the attribute contains the given offset into the text file.
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAbstractColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAbstractColumn.java
new file mode 100644
index 0000000..96724c2
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAbstractColumn.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.core.context.orm;
+
+import org.eclipse.jpt.core.TextRange;
+import org.eclipse.jpt.core.context.AbstractColumn;
+
+
+/**
+ *
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ */
+public interface OrmAbstractColumn extends AbstractColumn, OrmNamedColumn
+{
+
+ /**
+ * Return the (best guess) text location of the column's table.
+ */
+ TextRange tableTextRange();
+
+ Owner owner();
+
+ /**
+ * interface allowing columns to be used in multiple places
+ * (e.g. basic mappings and attribute overrides)
+ */
+ interface Owner extends OrmNamedColumn.Owner, AbstractColumn.Owner
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAbstractJoinColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAbstractJoinColumn.java
new file mode 100644
index 0000000..9ba11e4
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAbstractJoinColumn.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * 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.core.context.orm;
+
+import org.eclipse.jpt.core.TextRange;
+import org.eclipse.jpt.core.context.AbstractJoinColumn;
+
+/**
+ *
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ */
+public interface OrmAbstractJoinColumn extends AbstractJoinColumn, OrmNamedColumn
+{
+
+ /**
+ * Return the (best guess) text location of the referenced column name
+ */
+ TextRange referencedColumnNameTextRange();
+
+
+ Owner owner();
+ /**
+ * interface allowing join columns to be used in multiple places
+ * (e.g. 1:1 mappings and join tables)
+ */
+ interface Owner extends AbstractJoinColumn.Owner, OrmNamedColumn.Owner
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmColumn.java
index 558efc6..aa068b2 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmColumn.java
@@ -9,7 +9,6 @@
******************************************************************************/
package org.eclipse.jpt.core.context.orm;
-import org.eclipse.jpt.core.context.AbstractColumn;
import org.eclipse.jpt.core.context.Column;
import org.eclipse.jpt.core.resource.orm.XmlColumn;
@@ -22,7 +21,7 @@
* pioneering adopters on the understanding that any code that uses this API
* will almost certainly be broken (repeatedly) as the API evolves.
*/
-public interface OrmColumn extends Column, OrmJpaContextNode
+public interface OrmColumn extends Column, OrmAbstractColumn
{
Owner owner();
@@ -35,7 +34,7 @@
* interface allowing columns to be used in multiple places
* (e.g. basic mappings and attribute overrides)
*/
- interface Owner extends AbstractColumn.Owner
+ interface Owner extends OrmAbstractColumn.Owner
{
XmlColumn columnResource();
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmDiscriminatorColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmDiscriminatorColumn.java
index bef5e13..a600159 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmDiscriminatorColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmDiscriminatorColumn.java
@@ -21,9 +21,9 @@
* pioneering adopters on the understanding that any code that uses this API
* will almost certainly be broken (repeatedly) as the API evolves.
*/
-public interface OrmDiscriminatorColumn extends DiscriminatorColumn, OrmJpaContextNode
+public interface OrmDiscriminatorColumn extends DiscriminatorColumn, OrmNamedColumn
{
- public abstract void initialize(XmlEntity entity);
+ void initialize(XmlEntity entity);
- public abstract void update(XmlEntity entity);
+ void update(XmlEntity entity);
}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmJoinColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmJoinColumn.java
index 3f67580..ff10287 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmJoinColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmJoinColumn.java
@@ -21,12 +21,22 @@
* pioneering adopters on the understanding that any code that uses this API
* will almost certainly be broken (repeatedly) as the API evolves.
*/
-public interface OrmJoinColumn extends JoinColumn, OrmJpaContextNode
+public interface OrmJoinColumn extends JoinColumn, OrmAbstractJoinColumn, OrmAbstractColumn
{
void initializeFrom(JoinColumn oldColumn);
void initialize(XmlJoinColumn column);
void update(XmlJoinColumn column);
+
+ Owner owner();
+ /**
+ * interface allowing join columns to be used in multiple places
+ * (e.g. 1:1 mappings and join tables)
+ */
+ interface Owner extends JoinColumn.Owner, OrmAbstractJoinColumn.Owner, OrmAbstractColumn.Owner
+ {
+
+ }
}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmNamedColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmNamedColumn.java
new file mode 100644
index 0000000..cb5ea06
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmNamedColumn.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.core.context.orm;
+
+import org.eclipse.jpt.core.TextRange;
+import org.eclipse.jpt.core.context.NamedColumn;
+
+
+/**
+ *
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ */
+public interface OrmNamedColumn extends NamedColumn, OrmJpaContextNode
+{
+
+ Owner owner();
+
+ /**
+ * Return the (best guess) text location of the column's name.
+ */
+ TextRange nameTextRange();
+
+ /**
+ * interface allowing columns to be used in multiple places
+ * (e.g. basic mappings and attribute overrides)
+ */
+ interface Owner extends NamedColumn.Owner
+ {
+ /**
+ * Return the column owner's text range. This can be returned by the
+ * column when its annotation is not present.
+ */
+ TextRange validationTextRange();
+
+ }
+}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmPrimaryKeyJoinColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmPrimaryKeyJoinColumn.java
index 6f7a1a8..67eb42f 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmPrimaryKeyJoinColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmPrimaryKeyJoinColumn.java
@@ -21,7 +21,7 @@
* pioneering adopters on the understanding that any code that uses this API
* will almost certainly be broken (repeatedly) as the API evolves.
*/
-public interface OrmPrimaryKeyJoinColumn extends PrimaryKeyJoinColumn, OrmJpaContextNode
+public interface OrmPrimaryKeyJoinColumn extends PrimaryKeyJoinColumn, OrmAbstractJoinColumn
{
void initialize(XmlPrimaryKeyJoinColumn column);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmTypeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmTypeMapping.java
index db2e0ef..146de95 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmTypeMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmTypeMapping.java
@@ -75,5 +75,9 @@
TextRange selectionTextRange();
+ TextRange attributesTextRange();
+
boolean containsOffset(int textOffset);
+
+ OrmPersistentType persistentType();
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/GenericJavaEmbeddedMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/GenericJavaEmbeddedMapping.java
index 2240150..9da3c53 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/GenericJavaEmbeddedMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/GenericJavaEmbeddedMapping.java
@@ -345,7 +345,7 @@
//******* static methods *********
public static Embeddable embeddableFor(JavaPersistentAttribute persistentAttribute) {
- String qualifiedTypeName = persistentAttribute.getPersistentAttributeResource().getQualifiedTypeName();
+ String qualifiedTypeName = persistentAttribute.getResourcePersistentAttribute().getQualifiedTypeName();
if (qualifiedTypeName == null) {
return null;
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/GenericJavaPersistentAttribute.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/GenericJavaPersistentAttribute.java
index baee496..3d3b763 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/GenericJavaPersistentAttribute.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/GenericJavaPersistentAttribute.java
@@ -63,7 +63,7 @@
this.specifiedMapping = createJavaAttributeMappingFromAnnotation(javaMappingAnnotationName, persistentAttributeResource);
}
- public JavaResourcePersistentAttribute getPersistentAttributeResource() {
+ public JavaResourcePersistentAttribute getResourcePersistentAttribute() {
return this.persistentAttributeResource;
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/JavaBasicMappingProvider.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/JavaBasicMappingProvider.java
index 03113b0..99e4dcd 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/JavaBasicMappingProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/JavaBasicMappingProvider.java
@@ -50,7 +50,7 @@
}
public boolean defaultApplies(JavaPersistentAttribute persistentAttribute) {
- return persistentAttribute.getPersistentAttributeResource().typeIsBasic();
+ return persistentAttribute.getResourcePersistentAttribute().typeIsBasic();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmAttributeMapping.java
index 16808b3..d0e58f2 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmAttributeMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmAttributeMapping.java
@@ -10,6 +10,9 @@
package org.eclipse.jpt.core.internal.context.orm;
import java.util.List;
+import org.eclipse.jdt.core.Flags;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jpt.core.MappingKeys;
import org.eclipse.jpt.core.TextRange;
import org.eclipse.jpt.core.context.NonOwningMapping;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
@@ -33,6 +36,7 @@
import org.eclipse.jpt.core.context.orm.OrmVersionMapping;
import org.eclipse.jpt.core.internal.validation.DefaultJpaValidationMessages;
import org.eclipse.jpt.core.internal.validation.JpaValidationMessages;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
import org.eclipse.jpt.core.resource.orm.XmlAttributeMapping;
import org.eclipse.jpt.utility.internal.StringTools;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
@@ -168,15 +172,6 @@
return this.persistentAttribute().typeMapping();
}
-// @Override
-// public ITextRange validationTextRange() {
-// return (this.isVirtual()) ? this.getPersistentType().attributesTextRange() : super.validationTextRange();
-// }
-//
-// public ITextRange nameTextRange() {
-// IDOMNode nameNode = (IDOMNode) DOMUtilities.getChildAttributeNode(node, OrmXmlMapper.NAME);
-// return (nameNode != null) ? this.buildTextRange(nameNode) : this.validationTextRange();
-// }
public boolean isOverridableAttributeMapping() {
return false;
@@ -214,17 +209,21 @@
return null;
}
+
+ protected boolean entityOwned() {
+ return typeMapping().getKey() == MappingKeys.ENTITY_TYPE_MAPPING_KEY;
+ }
+
public boolean contains(int textOffset) {
return this.attributeMapping.containsOffset(textOffset);
}
public TextRange selectionTextRange() {
return this.attributeMapping.selectionTextRange();
- }
-
+ }
public TextRange validationTextRange() {
- return this.attributeMapping.validationTextRange();
+ return (this.persistentAttribute().isVirtual()) ? this.typeMapping().attributesTextRange() : this.attributeMapping.validationTextRange();
}
public TextRange nameTextRange() {
@@ -234,9 +233,14 @@
@Override
public void addToMessages(List<IMessage> messages) {
super.addToMessages(messages);
+ addAttributeMessages(messages);
+ addInvalidMappingMessage(messages);
+ }
+
+ protected void addAttributeMessages(List<IMessage> messages) {
addUnspecifiedAttributeMessage(messages);
addUnresolvedAttributeMessage(messages);
- addInvalidMappingMessage(messages);
+ addModifierMessages(messages);
}
protected void addUnspecifiedAttributeMessage(List<IMessage> messages) {
@@ -259,10 +263,60 @@
IMessage.HIGH_SEVERITY,
JpaValidationMessages.PERSISTENT_ATTRIBUTE_UNRESOLVED_NAME,
new String[] {getName(), persistentAttribute().persistentType().getMapping().getClass_()},
- this, nameTextRange())
+ this,
+ nameTextRange())
);
}
}
+
+ protected void addModifierMessages(List<IMessage> messages) {
+ if (getKey() == MappingKeys.TRANSIENT_ATTRIBUTE_MAPPING_KEY) {
+ return;
+ }
+
+ if (getJavaPersistentAttribute() == null) {
+ return;
+ }
+ JavaResourcePersistentAttribute resourcePersistentAttribute = getJavaPersistentAttribute().getResourcePersistentAttribute();
+ if (resourcePersistentAttribute== null) {
+ return;
+ }
+
+ if (resourcePersistentAttribute.isForField()) {
+ int flags;
+ try {
+ flags = resourcePersistentAttribute.getMember().getJdtMember().getFlags();
+ } catch (JavaModelException jme) {
+ /* no error to log, in that case */
+ return;
+ }
+ //TODO validation : need to have a validation message for final methods as well.
+ //From the JPA spec : No methods or persistent instance variables of the entity class may be final.
+ if (Flags.isFinal(flags)) {
+ messages.add(
+ DefaultJpaValidationMessages.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ JpaValidationMessages.PERSISTENT_ATTRIBUTE_FINAL_FIELD,
+ new String[] {getName()},
+ persistentAttribute(),
+ persistentAttribute().validationTextRange())
+ );
+ }
+
+ if (Flags.isPublic(flags)) {
+ messages.add(
+ DefaultJpaValidationMessages.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ JpaValidationMessages.PERSISTENT_ATTRIBUTE_PUBLIC_FIELD,
+ new String[] {getName()},
+ persistentAttribute(),
+ persistentAttribute().validationTextRange())
+ );
+
+ }
+ }
+ }
+
//TODO validation message - i think more info is needed in this message. include type mapping type?
protected void addInvalidMappingMessage(List<IMessage> messages) {
if (! typeMapping().attributeMappingKeyAllowed(getKey())) {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmColumn.java
index 7a8c5f6..6b3ab28 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmColumn.java
@@ -9,13 +9,15 @@
******************************************************************************/
package org.eclipse.jpt.core.internal.context.orm;
+import org.eclipse.jpt.core.TextRange;
import org.eclipse.jpt.core.context.AbstractColumn;
+import org.eclipse.jpt.core.context.orm.OrmAbstractColumn;
import org.eclipse.jpt.core.context.orm.OrmJpaContextNode;
import org.eclipse.jpt.core.resource.orm.XmlAbstractColumn;
public abstract class AbstractOrmColumn<T extends XmlAbstractColumn> extends AbstractOrmNamedColumn<T>
- implements AbstractColumn
+ implements OrmAbstractColumn
{
protected String specifiedTable;
@@ -29,7 +31,7 @@
protected Boolean specifiedUpdatable;
- protected AbstractOrmColumn(OrmJpaContextNode parent, AbstractColumn.Owner owner) {
+ protected AbstractOrmColumn(OrmJpaContextNode parent, OrmAbstractColumn.Owner owner) {
super(parent, owner);
}
@@ -43,8 +45,8 @@
}
@Override
- public AbstractColumn.Owner owner() {
- return (AbstractColumn.Owner) super.owner();
+ public OrmAbstractColumn.Owner owner() {
+ return (OrmAbstractColumn.Owner) super.owner();
}
// @Override
@@ -245,14 +247,16 @@
return this.getTable();
}
-//
-// public ITextRange tableTextRange() {
-// if (node == null) {
-// return owner.validationTextRange();
-// }
-// IDOMNode tableNode = (IDOMNode) DOMUtilities.getChildAttributeNode(node, OrmXmlMapper.ENTITY__TABLE);
-// return (tableNode == null) ? validationTextRange() : buildTextRange(tableNode);
-// }
+
+ public TextRange tableTextRange() {
+ if (columnResource() != null) {
+ TextRange textRange = columnResource().tableTextRange();
+ if (textRange != null) {
+ return textRange;
+ }
+ }
+ return this.parent().validationTextRange();
+ }
@Override
protected void initialize(T column) {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmNamedColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmNamedColumn.java
index 1e7b056..7f04286 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmNamedColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmNamedColumn.java
@@ -12,13 +12,14 @@
import org.eclipse.jpt.core.TextRange;
import org.eclipse.jpt.core.context.NamedColumn;
import org.eclipse.jpt.core.context.orm.OrmJpaContextNode;
+import org.eclipse.jpt.core.context.orm.OrmNamedColumn;
import org.eclipse.jpt.core.resource.orm.XmlNamedColumn;
import org.eclipse.jpt.db.internal.Column;
import org.eclipse.jpt.db.internal.Table;
public abstract class AbstractOrmNamedColumn<T extends XmlNamedColumn> extends AbstractOrmJpaContextNode
- implements NamedColumn
+ implements OrmNamedColumn
{
protected Owner owner;
@@ -32,6 +33,11 @@
super(parent);
this.owner = owner;
}
+
+ @Override
+ public OrmJpaContextNode parent() {
+ return (OrmJpaContextNode) super.parent();
+ }
public void initializeFrom(NamedColumn oldColumn) {
setSpecifiedName(oldColumn.getSpecifiedName());
@@ -142,17 +148,14 @@
}
public TextRange nameTextRange() {
- // TODO Auto-generated method stub
- return null;
+ if (columnResource() != null) {
+ TextRange textRange = columnResource().nameTextRange();
+ if (textRange != null) {
+ return textRange;
+ }
+ }
+ return this.parent().validationTextRange();
}
-
-// public ITextRange nameTextRange() {
-// if (node == null) {
-// return owner.validationTextRange();
-// }
-// IDOMNode nameNode = (IDOMNode) DOMUtilities.getChildAttributeNode(node, OrmXmlMapper.NAME);
-// return (nameNode == null) ? validationTextRange() : buildTextRange(nameNode);
-// }
public TextRange validationTextRange() {
return columnResource().validationTextRange();
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmSingleRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmSingleRelationshipMapping.java
index be0bb04..b0582d4 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmSingleRelationshipMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmSingleRelationshipMapping.java
@@ -11,6 +11,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
+import org.eclipse.jpt.core.TextRange;
import org.eclipse.jpt.core.context.AbstractJoinColumn;
import org.eclipse.jpt.core.context.Entity;
import org.eclipse.jpt.core.context.FetchType;
@@ -212,7 +213,7 @@
}
- public class JoinColumnOwner implements JoinColumn.Owner
+ public class JoinColumnOwner implements OrmJoinColumn.Owner
{
public JoinColumnOwner() {
@@ -274,5 +275,10 @@
public int joinColumnsSize() {
return AbstractOrmSingleRelationshipMapping.this.joinColumnsSize();
}
+
+ public TextRange validationTextRange() {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmAssociationOverride.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmAssociationOverride.java
index 3f4353a..a7732f2 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmAssociationOverride.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmAssociationOverride.java
@@ -17,7 +17,6 @@
import org.eclipse.jpt.core.context.AssociationOverride;
import org.eclipse.jpt.core.context.BaseOverride;
import org.eclipse.jpt.core.context.Entity;
-import org.eclipse.jpt.core.context.JoinColumn;
import org.eclipse.jpt.core.context.RelationshipMapping;
import org.eclipse.jpt.core.context.TypeMapping;
import org.eclipse.jpt.core.context.orm.OrmAssociationOverride;
@@ -102,7 +101,7 @@
return joinColumn;
}
- protected JoinColumn.Owner createJoinColumnOwner() {
+ protected OrmJoinColumn.Owner createJoinColumnOwner() {
return new JoinColumnOwner();
}
@@ -181,7 +180,7 @@
return null;
}
- class JoinColumnOwner implements JoinColumn.Owner
+ class JoinColumnOwner implements OrmJoinColumn.Owner
{
public JoinColumnOwner() {
@@ -243,6 +242,11 @@
public int joinColumnsSize() {
return GenericOrmAssociationOverride.this.joinColumnsSize();
}
+
+ public TextRange validationTextRange() {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmBasicMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmBasicMapping.java
index 24842cf..af239b1 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmBasicMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmBasicMapping.java
@@ -9,6 +9,7 @@
******************************************************************************/
package org.eclipse.jpt.core.internal.context.orm;
+import java.util.List;
import org.eclipse.jpt.core.MappingKeys;
import org.eclipse.jpt.core.context.BasicMapping;
import org.eclipse.jpt.core.context.ColumnMapping;
@@ -22,11 +23,14 @@
import org.eclipse.jpt.core.context.orm.OrmColumn;
import org.eclipse.jpt.core.context.orm.OrmColumnMapping;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.core.internal.validation.DefaultJpaValidationMessages;
+import org.eclipse.jpt.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.core.resource.orm.AbstractTypeMapping;
import org.eclipse.jpt.core.resource.orm.OrmFactory;
import org.eclipse.jpt.core.resource.orm.XmlBasic;
import org.eclipse.jpt.core.resource.orm.XmlColumn;
import org.eclipse.jpt.db.internal.Table;
+import org.eclipse.wst.validation.internal.provisional.core.IMessage;
public class GenericOrmBasicMapping extends AbstractOrmAttributeMapping<XmlBasic>
@@ -268,5 +272,68 @@
public void removeColumnResource() {
this.attributeMapping().setColumn(null);
}
+
+ // ****************** validation ****************
+
+ @Override
+ public void addToMessages(List<IMessage> messages) {
+ super.addToMessages(messages);
+ if (entityOwned()) {
+ addColumnMessages(messages);
+ }
+ }
+
+ protected void addColumnMessages(List<IMessage> messages) {
+ OrmColumn column = getColumn();
+ String table = column.getTable();
+ boolean doContinue = isConnected();
+
+ if (doContinue && typeMapping().tableNameIsInvalid(table)) {
+ if (persistentAttribute().isVirtual()) {
+ messages.add(
+ DefaultJpaValidationMessages.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ JpaValidationMessages.VIRTUAL_ATTRIBUTE_COLUMN_UNRESOLVED_TABLE,
+ new String[] {getName(), table, column.getName()},
+ column,
+ column.tableTextRange())
+ );
+ }
+ else {
+ messages.add(
+ DefaultJpaValidationMessages.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ JpaValidationMessages.COLUMN_UNRESOLVED_TABLE,
+ new String[] {table, column.getName()},
+ column,
+ column.tableTextRange())
+ );
+ }
+ doContinue = false;
+ }
+
+ if (doContinue && ! column.isResolved()) {
+ if (persistentAttribute().isVirtual()) {
+ messages.add(
+ DefaultJpaValidationMessages.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ JpaValidationMessages.VIRTUAL_ATTRIBUTE_COLUMN_UNRESOLVED_NAME,
+ new String[] {getName(), column.getName()},
+ column,
+ column.nameTextRange())
+ );
+ }
+ else {
+ messages.add(
+ DefaultJpaValidationMessages.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ JpaValidationMessages.COLUMN_UNRESOLVED_NAME,
+ new String[] {column.getName()},
+ column,
+ column.nameTextRange())
+ );
+ }
+ }
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmDiscriminatorColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmDiscriminatorColumn.java
index d19bf56..ee6d115 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmDiscriminatorColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmDiscriminatorColumn.java
@@ -13,6 +13,7 @@
import org.eclipse.jpt.core.context.DiscriminatorType;
import org.eclipse.jpt.core.context.orm.OrmDiscriminatorColumn;
import org.eclipse.jpt.core.context.orm.OrmJpaContextNode;
+import org.eclipse.jpt.core.context.orm.OrmNamedColumn;
import org.eclipse.jpt.core.resource.orm.OrmFactory;
import org.eclipse.jpt.core.resource.orm.XmlDiscriminatorColumn;
import org.eclipse.jpt.core.resource.orm.XmlEntity;
@@ -33,7 +34,7 @@
protected XmlEntity entity;
- public GenericOrmDiscriminatorColumn(OrmJpaContextNode parent, Owner owner) {
+ public GenericOrmDiscriminatorColumn(OrmJpaContextNode parent, OrmNamedColumn.Owner owner) {
super(parent, owner);
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmEntity.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmEntity.java
index b25a716..2ab8401 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmEntity.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmEntity.java
@@ -14,6 +14,7 @@
import java.util.List;
import java.util.ListIterator;
import org.eclipse.jpt.core.MappingKeys;
+import org.eclipse.jpt.core.TextRange;
import org.eclipse.jpt.core.context.AbstractJoinColumn;
import org.eclipse.jpt.core.context.AssociationOverride;
import org.eclipse.jpt.core.context.AttributeOverride;
@@ -22,7 +23,6 @@
import org.eclipse.jpt.core.context.DiscriminatorColumn;
import org.eclipse.jpt.core.context.Entity;
import org.eclipse.jpt.core.context.InheritanceType;
-import org.eclipse.jpt.core.context.NamedColumn;
import org.eclipse.jpt.core.context.NamedNativeQuery;
import org.eclipse.jpt.core.context.NamedQuery;
import org.eclipse.jpt.core.context.PersistentAttribute;
@@ -35,10 +35,12 @@
import org.eclipse.jpt.core.context.java.JavaEntity;
import org.eclipse.jpt.core.context.java.JavaPersistentType;
import org.eclipse.jpt.core.context.java.JavaSecondaryTable;
+import org.eclipse.jpt.core.context.orm.OrmAbstractJoinColumn;
import org.eclipse.jpt.core.context.orm.OrmAssociationOverride;
import org.eclipse.jpt.core.context.orm.OrmAttributeOverride;
import org.eclipse.jpt.core.context.orm.OrmDiscriminatorColumn;
import org.eclipse.jpt.core.context.orm.OrmEntity;
+import org.eclipse.jpt.core.context.orm.OrmNamedColumn;
import org.eclipse.jpt.core.context.orm.OrmNamedNativeQuery;
import org.eclipse.jpt.core.context.orm.OrmNamedQuery;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
@@ -126,7 +128,7 @@
this.table = jpaFactory().buildOrmTable(this);
this.specifiedSecondaryTables = new ArrayList<OrmSecondaryTable>();
this.virtualSecondaryTables = new ArrayList<OrmSecondaryTable>();
- this.discriminatorColumn = createXmlDiscriminatorColumn();
+ this.discriminatorColumn = buildDiscriminatorColumn();
this.specifiedPrimaryKeyJoinColumns = new ArrayList<OrmPrimaryKeyJoinColumn>();
this.defaultPrimaryKeyJoinColumns = new ArrayList<OrmPrimaryKeyJoinColumn>();
this.specifiedAttributeOverrides = new ArrayList<OrmAttributeOverride>();
@@ -137,12 +139,12 @@
this.namedNativeQueries = new ArrayList<OrmNamedNativeQuery>();
}
- protected OrmDiscriminatorColumn createXmlDiscriminatorColumn() {
+ protected OrmDiscriminatorColumn buildDiscriminatorColumn() {
return jpaFactory().buildOrmDiscriminatorColumn(this, buildDiscriminatorColumnOwner());
}
- protected NamedColumn.Owner buildDiscriminatorColumnOwner() {
- return new NamedColumn.Owner(){
+ protected OrmNamedColumn.Owner buildDiscriminatorColumnOwner() {
+ return new OrmNamedColumn.Owner(){
public org.eclipse.jpt.db.internal.Table dbTable(String tableName) {
return GenericOrmEntity.this.dbTable(tableName);
}
@@ -155,6 +157,12 @@
//TODO default column name from java here or in XmlDiscriminatorColumn?
return DiscriminatorColumn.DEFAULT_NAME;
}
+
+ public TextRange validationTextRange() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
};
}
@@ -563,7 +571,7 @@
return primaryKeyJoinColumn;
}
- protected AbstractJoinColumn.Owner createPrimaryKeyJoinColumnOwner() {
+ protected OrmAbstractJoinColumn.Owner createPrimaryKeyJoinColumnOwner() {
return new PrimaryKeyJoinColumnOwner();
}
@@ -1475,7 +1483,7 @@
sb.append(getName());
}
- class PrimaryKeyJoinColumnOwner implements AbstractJoinColumn.Owner
+ class PrimaryKeyJoinColumnOwner implements OrmAbstractJoinColumn.Owner
{
public TypeMapping typeMapping() {
return GenericOrmEntity.this;
@@ -1504,6 +1512,11 @@
}
return GenericOrmEntity.this.parentEntity().primaryKeyColumnName();
}
+
+ public TextRange validationTextRange() {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
class AttributeOverrideOwner implements AttributeOverride.Owner {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmJoinColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmJoinColumn.java
index 5e08661..e884872 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmJoinColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmJoinColumn.java
@@ -9,6 +9,7 @@
******************************************************************************/
package org.eclipse.jpt.core.internal.context.orm;
+import org.eclipse.jpt.core.TextRange;
import org.eclipse.jpt.core.context.JoinColumn;
import org.eclipse.jpt.core.context.orm.OrmJoinColumn;
import org.eclipse.jpt.core.context.orm.OrmJpaContextNode;
@@ -25,7 +26,7 @@
protected XmlJoinColumn joinColumn;
- public GenericOrmJoinColumn(OrmJpaContextNode parent, JoinColumn.Owner owner) {
+ public GenericOrmJoinColumn(OrmJpaContextNode parent, OrmJoinColumn.Owner owner) {
super(parent, owner);
}
@@ -70,8 +71,8 @@
}
@Override
- public JoinColumn.Owner owner() {
- return (JoinColumn.Owner) this.owner;
+ public OrmJoinColumn.Owner owner() {
+ return (OrmJoinColumn.Owner) this.owner;
}
public Table dbReferencedColumnTable() {
@@ -86,20 +87,14 @@
public boolean isReferencedColumnResolved() {
return dbReferencedColumn() != null;
}
-//
-// public ITextRange referencedColumnNameTextRange() {
-// if (node == null) {
-// return owner.validationTextRange();
-// }
-// IDOMNode referencedColumnNameNode = (IDOMNode) DOMUtilities.getChildAttributeNode(node, OrmXmlMapper.REFERENCED_COLUMN_NAME);
-// return (referencedColumnNameNode == null) ? validationTextRange() : buildTextRange(referencedColumnNameNode);
-// }
-//
-// public void refreshDefaults(DefaultsContext defaultsContext) {
-// setDefaultReferencedColumnName((String) defaultsContext.getDefault(GenericJpaPlatform.DEFAULT_JOIN_COLUMN_REFERENCED_COLUMN_NAME_KEY));
-// setDefaultName((String) defaultsContext.getDefault(GenericJpaPlatform.DEFAULT_JOIN_COLUMN_NAME_KEY));
-// setDefaultTable((String) defaultsContext.getDefault(GenericJpaPlatform.DEFAULT_JOIN_COLUMN_TABLE_KEY));
-// }
+
+ public TextRange referencedColumnNameTextRange() {
+ if (columnResource() != null) {
+ return columnResource().referencedColumnNameTextRange();
+ }
+ return this.parent().validationTextRange();
+ }
+
@Override
protected XmlJoinColumn columnResource() {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmJoinTable.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmJoinTable.java
index 49a3fb6..89785de 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmJoinTable.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmJoinTable.java
@@ -12,6 +12,7 @@
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
+import org.eclipse.jpt.core.TextRange;
import org.eclipse.jpt.core.context.AbstractJoinColumn;
import org.eclipse.jpt.core.context.AttributeMapping;
import org.eclipse.jpt.core.context.Entity;
@@ -467,7 +468,7 @@
/**
* just a little common behavior
*/
- abstract class AbstractJoinColumnOwner implements JoinColumn.Owner
+ abstract class AbstractJoinColumnOwner implements OrmJoinColumn.Owner
{
AbstractJoinColumnOwner() {
super();
@@ -494,10 +495,11 @@
public boolean tableIsAllowed() {
return false;
}
-//
-// public ITextRange validationTextRange() {
-// return this.joinTable.validationTextRange();
-// }
+
+ public TextRange validationTextRange() {
+ // TODO Auto-generated method stub
+ return null;
+ }
public org.eclipse.jpt.db.internal.Table dbTable(String tableName) {
if (GenericOrmJoinTable.this.getName() == null) {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmPersistentAttribute.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmPersistentAttribute.java
index 8d5da9b..e00d874 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmPersistentAttribute.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmPersistentAttribute.java
@@ -350,14 +350,14 @@
super.addToMessages(messages);
getMapping().addToMessages(messages);
}
-
public TextRange validationTextRange() {
if (isVirtual()) {
- return persistentType().validationTextRange();
+ return persistentType().getMapping().attributesTextRange();
}
return this.attributeMapping.validationTextRange();
- }
+ }
+
@Override
public void toString(StringBuilder sb) {
super.toString(sb);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmPrimaryKeyJoinColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmPrimaryKeyJoinColumn.java
index 45ab7e6..c9d8830 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmPrimaryKeyJoinColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmPrimaryKeyJoinColumn.java
@@ -9,7 +9,8 @@
******************************************************************************/
package org.eclipse.jpt.core.internal.context.orm;
-import org.eclipse.jpt.core.context.AbstractJoinColumn;
+import org.eclipse.jpt.core.TextRange;
+import org.eclipse.jpt.core.context.orm.OrmAbstractJoinColumn;
import org.eclipse.jpt.core.context.orm.OrmJpaContextNode;
import org.eclipse.jpt.core.context.orm.OrmPrimaryKeyJoinColumn;
import org.eclipse.jpt.core.resource.orm.XmlPrimaryKeyJoinColumn;
@@ -25,7 +26,7 @@
protected XmlPrimaryKeyJoinColumn primaryKeyJoinColumn;
- public GenericOrmPrimaryKeyJoinColumn(OrmJpaContextNode parent, AbstractJoinColumn.Owner owner) {
+ public GenericOrmPrimaryKeyJoinColumn(OrmJpaContextNode parent, OrmAbstractJoinColumn.Owner owner) {
super(parent, owner);
}
@@ -72,8 +73,8 @@
}
@Override
- public AbstractJoinColumn.Owner owner() {
- return (AbstractJoinColumn.Owner) this.owner;
+ public OrmAbstractJoinColumn.Owner owner() {
+ return (OrmAbstractJoinColumn.Owner) this.owner;
}
public Column dbReferencedColumn() {
@@ -94,13 +95,12 @@
return dbReferencedColumn() != null;
}
-// public ITextRange referencedColumnNameTextRange() {
-// if (node == null) {
-// return owner.validationTextRange();
-// }
-// IDOMNode referencedColumnNameNode = (IDOMNode) DOMUtilities.getChildAttributeNode(node, OrmXmlMapper.REFERENCED_COLUMN_NAME);
-// return (referencedColumnNameNode == null) ? validationTextRange() : buildTextRange(referencedColumnNameNode);
-// }
+ public TextRange referencedColumnNameTextRange() {
+ if (columnResource() != null) {
+ return columnResource().referencedColumnNameTextRange();
+ }
+ return this.parent().validationTextRange();
+ }
public boolean isVirtual() {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmSecondaryTable.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmSecondaryTable.java
index 7b4d3b7..e69565f 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmSecondaryTable.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmSecondaryTable.java
@@ -12,10 +12,12 @@
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
+import org.eclipse.jpt.core.TextRange;
import org.eclipse.jpt.core.context.AbstractJoinColumn;
import org.eclipse.jpt.core.context.PrimaryKeyJoinColumn;
import org.eclipse.jpt.core.context.SecondaryTable;
import org.eclipse.jpt.core.context.TypeMapping;
+import org.eclipse.jpt.core.context.orm.OrmAbstractJoinColumn;
import org.eclipse.jpt.core.context.orm.OrmEntity;
import org.eclipse.jpt.core.context.orm.OrmPrimaryKeyJoinColumn;
import org.eclipse.jpt.core.context.orm.OrmSecondaryTable;
@@ -96,7 +98,7 @@
return primaryKeyJoinColumn;
}
- protected AbstractJoinColumn.Owner createPrimaryKeyJoinColumnOwner() {
+ protected OrmAbstractJoinColumn.Owner createPrimaryKeyJoinColumnOwner() {
return new PrimaryKeyJoinColumnOwner();
}
@@ -244,7 +246,7 @@
}
}
- class PrimaryKeyJoinColumnOwner implements AbstractJoinColumn.Owner
+ class PrimaryKeyJoinColumnOwner implements OrmAbstractJoinColumn.Owner
{
public TypeMapping typeMapping() {
@@ -272,7 +274,11 @@
return null;
}
return ormEntity().parentEntity().primaryKeyColumnName();
-
+ }
+
+ public TextRange validationTextRange() {
+ // TODO Auto-generated method stub
+ return null;
}
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmTransientMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmTransientMapping.java
index 9bb88bf..496c118 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmTransientMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmTransientMapping.java
@@ -9,7 +9,6 @@
******************************************************************************/
package org.eclipse.jpt.core.internal.context.orm;
-import java.util.List;
import org.eclipse.jpt.core.MappingKeys;
import org.eclipse.jpt.core.context.orm.OrmAttributeMapping;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
@@ -17,7 +16,6 @@
import org.eclipse.jpt.core.resource.orm.AbstractTypeMapping;
import org.eclipse.jpt.core.resource.orm.OrmFactory;
import org.eclipse.jpt.core.resource.orm.XmlTransient;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
public class GenericOrmTransientMapping extends AbstractOrmAttributeMapping<XmlTransient> implements OrmTransientMapping
@@ -62,47 +60,5 @@
public void update(XmlTransient transientResource) {
super.update(transientResource);
}
-
- @Override
- public void addToMessages(List<IMessage> messages) {
- super.addToMessages(messages);
-// addModifierMessages(messages);
- }
-
-// protected void addModifierMessages(List<IMessage> messages) {
-// OrmPersistentAttribute attribute = persistentAttribute();
-//
-// if (attribute.getMapping().getKey() != MappingKeys.TRANSIENT_ATTRIBUTE_MAPPING_KEY
-// && attribute.getAttribute() != null
-// && attribute.getAttribute().isField()) {
-// int flags;
-// try {
-// flags = attribute.getAttribute().getJdtMember().getFlags();
-// } catch (JavaModelException jme) {
-// /* no error to log, in that case */
-// return;
-// }
-//
-// if (Flags.isFinal(flags)) {
-// messages.add(
-// DefaultJpaValidationMessages.buildMessage(
-// IMessage.HIGH_SEVERITY,
-// JpaValidationMessages.PERSISTENT_ATTRIBUTE_FINAL_FIELD,
-// new String[] {attribute.getName()},
-// attribute, attribute.validationTextRange())
-// );
-// }
-//
-// if (Flags.isPublic(flags)) {
-// messages.add(
-// DefaultJpaValidationMessages.buildMessage(
-// IMessage.HIGH_SEVERITY,
-// JpaValidationMessages.PERSISTENT_ATTRIBUTE_PUBLIC_FIELD,
-// new String[] {attribute.getName()},
-// attribute, attribute.validationTextRange())
-// );
-//
-// }
-// }
-// }
+
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualColumn.java
index dbe6d05..be8a6ad 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualColumn.java
@@ -9,6 +9,7 @@
******************************************************************************/
package org.eclipse.jpt.core.internal.context.orm;
+import org.eclipse.jpt.core.TextRange;
import org.eclipse.jpt.core.context.java.JavaColumn;
import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
import org.eclipse.jpt.core.resource.orm.XmlColumn;
@@ -139,4 +140,12 @@
public void update(JavaColumn javaColumn) {
this.javaColumn = javaColumn;
}
+
+ public TextRange nameTextRange() {
+ return null;
+ }
+
+ public TextRange tableTextRange() {
+ return null;
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualJoinColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualJoinColumn.java
index 5914e92..0aee1cb 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualJoinColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualJoinColumn.java
@@ -9,6 +9,7 @@
******************************************************************************/
package org.eclipse.jpt.core.internal.context.orm;
+import org.eclipse.jpt.core.TextRange;
import org.eclipse.jpt.core.context.java.JavaJoinColumn;
import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
import org.eclipse.jpt.core.resource.orm.XmlJoinColumn;
@@ -117,4 +118,16 @@
this.javaJoinColumn = javaJoinColumn;
}
+ public TextRange nameTextRange() {
+ return null;
+ }
+
+ public TextRange tableTextRange() {
+ return null;
+ }
+
+ public TextRange referencedColumnNameTextRange() {
+ return null;
+ }
+
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/GenericJpaFactory.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/GenericJpaFactory.java
index 1f811f1..9daa4c4 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/GenericJpaFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/GenericJpaFactory.java
@@ -22,13 +22,10 @@
import org.eclipse.jpt.core.JpaProject;
import org.eclipse.jpt.core.JptCorePlugin;
import org.eclipse.jpt.core.ResourceModel;
-import org.eclipse.jpt.core.context.AbstractJoinColumn;
import org.eclipse.jpt.core.context.AssociationOverride;
import org.eclipse.jpt.core.context.AttributeOverride;
import org.eclipse.jpt.core.context.BaseJpaContent;
-import org.eclipse.jpt.core.context.JoinColumn;
import org.eclipse.jpt.core.context.JpaContextNode;
-import org.eclipse.jpt.core.context.NamedColumn;
import org.eclipse.jpt.core.context.java.JavaAbstractJoinColumn;
import org.eclipse.jpt.core.context.java.JavaAssociationOverride;
import org.eclipse.jpt.core.context.java.JavaAttributeMapping;
@@ -67,6 +64,7 @@
import org.eclipse.jpt.core.context.java.JavaTypeMapping;
import org.eclipse.jpt.core.context.java.JavaVersionMapping;
import org.eclipse.jpt.core.context.orm.EntityMappings;
+import org.eclipse.jpt.core.context.orm.OrmAbstractJoinColumn;
import org.eclipse.jpt.core.context.orm.OrmAssociationOverride;
import org.eclipse.jpt.core.context.orm.OrmAttributeMapping;
import org.eclipse.jpt.core.context.orm.OrmAttributeOverride;
@@ -85,6 +83,7 @@
import org.eclipse.jpt.core.context.orm.OrmManyToManyMapping;
import org.eclipse.jpt.core.context.orm.OrmManyToOneMapping;
import org.eclipse.jpt.core.context.orm.OrmMappedSuperclass;
+import org.eclipse.jpt.core.context.orm.OrmNamedColumn;
import org.eclipse.jpt.core.context.orm.OrmNamedNativeQuery;
import org.eclipse.jpt.core.context.orm.OrmNamedQuery;
import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
@@ -312,11 +311,11 @@
public PersistenceXml buildPersistenceXml(BaseJpaContent parent, PersistenceResource persistenceResource) {
return new GenericPersistenceXml(parent, persistenceResource);
}
-
+
public OrmXml buildOrmXml(MappingFileRef parent, OrmResource ormResource) {
return new OrmXmlImpl(parent, ormResource);
}
-
+
public EntityMappings buildEntityMappings(OrmXml parent, XmlEntityMappings xmlEntityMappings) {
return new GenericEntityMappings(parent, xmlEntityMappings);
}
@@ -509,7 +508,7 @@
return new GenericOrmSecondaryTable(parent);
}
- public OrmPrimaryKeyJoinColumn buildOrmPrimaryKeyJoinColumn(OrmJpaContextNode parent, AbstractJoinColumn.Owner owner) {
+ public OrmPrimaryKeyJoinColumn buildOrmPrimaryKeyJoinColumn(OrmJpaContextNode parent, OrmAbstractJoinColumn.Owner owner) {
return new GenericOrmPrimaryKeyJoinColumn(parent, owner);
}
@@ -517,7 +516,7 @@
return new GenericOrmJoinTable(parent);
}
- public OrmJoinColumn buildOrmJoinColumn(OrmJpaContextNode parent, JoinColumn.Owner owner) {
+ public OrmJoinColumn buildOrmJoinColumn(OrmJpaContextNode parent, OrmJoinColumn.Owner owner) {
return new GenericOrmJoinColumn(parent, owner);
}
@@ -529,7 +528,7 @@
return new GenericOrmAssociationOverride(parent, owner, xmlAssociationOverride);
}
- public OrmDiscriminatorColumn buildOrmDiscriminatorColumn(OrmEntity parent, NamedColumn.Owner owner) {
+ public OrmDiscriminatorColumn buildOrmDiscriminatorColumn(OrmEntity parent, OrmNamedColumn.Owner owner) {
return new GenericOrmDiscriminatorColumn(parent, owner);
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlAbstractColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlAbstractColumn.java
new file mode 100644
index 0000000..23c4131
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlAbstractColumn.java
@@ -0,0 +1,518 @@
+/*******************************************************************************
+ * 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.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.TextRange;
+import org.eclipse.jpt.core.internal.emfutility.DOMUtilities;
+import org.eclipse.jpt.core.internal.resource.orm.translators.OrmXmlMapper;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Xml Abstract Column</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getAbstractXmlAbstractColumn()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlAbstractColumn extends AbstractXmlNamedColumn implements XmlAbstractColumn
+{
+ /**
+ * The default value of the '{@link #getInsertable() <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInsertable()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean INSERTABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInsertable() <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInsertable()
+ * @generated
+ * @ordered
+ */
+ protected Boolean insertable = INSERTABLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNullable() <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNullable()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean NULLABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNullable() <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNullable()
+ * @generated
+ * @ordered
+ */
+ protected Boolean nullable = NULLABLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTable() <em>Table</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTable()
+ * @generated
+ * @ordered
+ */
+ protected static final String TABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTable() <em>Table</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTable()
+ * @generated
+ * @ordered
+ */
+ protected String table = TABLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnique() <em>Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnique()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean UNIQUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnique() <em>Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnique()
+ * @generated
+ * @ordered
+ */
+ protected Boolean unique = UNIQUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUpdatable() <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpdatable()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean UPDATABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUpdatable() <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpdatable()
+ * @generated
+ * @ordered
+ */
+ protected Boolean updatable = UPDATABLE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractXmlAbstractColumn()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ABSTRACT_XML_ABSTRACT_COLUMN;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Insertable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Insertable</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Insertable</em>' attribute.
+ * @see #setInsertable(Boolean)
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Insertable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getInsertable()
+ {
+ return insertable;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlAbstractColumn#getInsertable <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Insertable</em>' attribute.
+ * @see #getInsertable()
+ * @generated
+ */
+ public void setInsertable(Boolean newInsertable)
+ {
+ Boolean oldInsertable = insertable;
+ insertable = newInsertable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE, oldInsertable, insertable));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Nullable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nullable</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nullable</em>' attribute.
+ * @see #setNullable(Boolean)
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Nullable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getNullable()
+ {
+ return nullable;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlAbstractColumn#getNullable <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nullable</em>' attribute.
+ * @see #getNullable()
+ * @generated
+ */
+ public void setNullable(Boolean newNullable)
+ {
+ Boolean oldNullable = nullable;
+ nullable = newNullable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE, oldNullable, nullable));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Table</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Table</em>' attribute.
+ * @see #setTable(String)
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Table()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getTable()
+ {
+ return table;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlAbstractColumn#getTable <em>Table</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Table</em>' attribute.
+ * @see #getTable()
+ * @generated
+ */
+ public void setTable(String newTable)
+ {
+ String oldTable = table;
+ table = newTable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__TABLE, oldTable, table));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unique</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unique</em>' attribute.
+ * @see #setUnique(Boolean)
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Unique()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getUnique()
+ {
+ return unique;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlAbstractColumn#getUnique <em>Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unique</em>' attribute.
+ * @see #getUnique()
+ * @generated
+ */
+ public void setUnique(Boolean newUnique)
+ {
+ Boolean oldUnique = unique;
+ unique = newUnique;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE, oldUnique, unique));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Updatable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Updatable</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Updatable</em>' attribute.
+ * @see #setUpdatable(Boolean)
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Updatable()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
+ * @generated
+ */
+ public Boolean getUpdatable()
+ {
+ return updatable;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlAbstractColumn#getUpdatable <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Updatable</em>' attribute.
+ * @see #getUpdatable()
+ * @generated
+ */
+ public void setUpdatable(Boolean newUpdatable)
+ {
+ Boolean oldUpdatable = updatable;
+ updatable = newUpdatable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UPDATABLE, oldUpdatable, updatable));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE:
+ return getInsertable();
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE:
+ return getNullable();
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__TABLE:
+ return getTable();
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE:
+ return getUnique();
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UPDATABLE:
+ return getUpdatable();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE:
+ setInsertable((Boolean)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE:
+ setNullable((Boolean)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__TABLE:
+ setTable((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE:
+ setUnique((Boolean)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UPDATABLE:
+ setUpdatable((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE:
+ setInsertable(INSERTABLE_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE:
+ setNullable(NULLABLE_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__TABLE:
+ setTable(TABLE_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE:
+ setUnique(UNIQUE_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UPDATABLE:
+ setUpdatable(UPDATABLE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE:
+ return INSERTABLE_EDEFAULT == null ? insertable != null : !INSERTABLE_EDEFAULT.equals(insertable);
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE:
+ return NULLABLE_EDEFAULT == null ? nullable != null : !NULLABLE_EDEFAULT.equals(nullable);
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__TABLE:
+ return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table);
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE:
+ return UNIQUE_EDEFAULT == null ? unique != null : !UNIQUE_EDEFAULT.equals(unique);
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UPDATABLE:
+ return UPDATABLE_EDEFAULT == null ? updatable != null : !UPDATABLE_EDEFAULT.equals(updatable);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlAbstractColumn.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE: return OrmPackage.XML_ABSTRACT_COLUMN__INSERTABLE;
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE: return OrmPackage.XML_ABSTRACT_COLUMN__NULLABLE;
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__TABLE: return OrmPackage.XML_ABSTRACT_COLUMN__TABLE;
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE: return OrmPackage.XML_ABSTRACT_COLUMN__UNIQUE;
+ case OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UPDATABLE: return OrmPackage.XML_ABSTRACT_COLUMN__UPDATABLE;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlAbstractColumn.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ABSTRACT_COLUMN__INSERTABLE: return OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE;
+ case OrmPackage.XML_ABSTRACT_COLUMN__NULLABLE: return OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE;
+ case OrmPackage.XML_ABSTRACT_COLUMN__TABLE: return OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__TABLE;
+ case OrmPackage.XML_ABSTRACT_COLUMN__UNIQUE: return OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE;
+ case OrmPackage.XML_ABSTRACT_COLUMN__UPDATABLE: return OrmPackage.ABSTRACT_XML_ABSTRACT_COLUMN__UPDATABLE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (insertable: ");
+ result.append(insertable);
+ result.append(", nullable: ");
+ result.append(nullable);
+ result.append(", table: ");
+ result.append(table);
+ result.append(", unique: ");
+ result.append(unique);
+ result.append(", updatable: ");
+ result.append(updatable);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange tableTextRange() {
+ IDOMNode tableNode = (IDOMNode) DOMUtilities.getChildAttributeNode(this.node, OrmXmlMapper.TABLE);
+ return (tableNode == null) ? validationTextRange() : buildTextRange(tableNode);
+ }
+} // AbstractXmlAbstractColumn
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlNamedColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlNamedColumn.java
new file mode 100644
index 0000000..29a3d69
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlNamedColumn.java
@@ -0,0 +1,273 @@
+/*******************************************************************************
+ * 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.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.TextRange;
+import org.eclipse.jpt.core.internal.emfutility.DOMUtilities;
+import org.eclipse.jpt.core.internal.resource.orm.translators.OrmXmlMapper;
+import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Xml Named Column</b></em>'.
+ *
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getAbstractXmlNamedColumn()
+ * @model kind="class" abstract="true"
+ * @generated
+ */
+public abstract class AbstractXmlNamedColumn extends AbstractJpaEObject implements XmlNamedColumn
+{
+ /**
+ * The default value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumnDefinition()
+ * @generated
+ * @ordered
+ */
+ protected static final String COLUMN_DEFINITION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumnDefinition()
+ * @generated
+ * @ordered
+ */
+ protected String columnDefinition = COLUMN_DEFINITION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractXmlNamedColumn()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.ABSTRACT_XML_NAMED_COLUMN;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Column Definition</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Column Definition</em>' attribute.
+ * @see #setColumnDefinition(String)
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlNamedColumn_ColumnDefinition()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getColumnDefinition()
+ {
+ return columnDefinition;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlNamedColumn#getColumnDefinition <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Column Definition</em>' attribute.
+ * @see #getColumnDefinition()
+ * @generated
+ */
+ public void setColumnDefinition(String newColumnDefinition)
+ {
+ String oldColumnDefinition = columnDefinition;
+ columnDefinition = newColumnDefinition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION, oldColumnDefinition, columnDefinition));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlNamedColumn_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlNamedColumn#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_NAMED_COLUMN__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION:
+ return getColumnDefinition();
+ case OrmPackage.ABSTRACT_XML_NAMED_COLUMN__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition((String)newValue);
+ return;
+ case OrmPackage.ABSTRACT_XML_NAMED_COLUMN__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition(COLUMN_DEFINITION_EDEFAULT);
+ return;
+ case OrmPackage.ABSTRACT_XML_NAMED_COLUMN__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION:
+ return COLUMN_DEFINITION_EDEFAULT == null ? columnDefinition != null : !COLUMN_DEFINITION_EDEFAULT.equals(columnDefinition);
+ case OrmPackage.ABSTRACT_XML_NAMED_COLUMN__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (columnDefinition: ");
+ result.append(columnDefinition);
+ result.append(", name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+ public TextRange nameTextRange() {
+ IDOMNode nameNode = (IDOMNode) DOMUtilities.getChildAttributeNode(this.node, OrmXmlMapper.NAME);
+ return (nameNode == null) ? validationTextRange() : buildTextRange(nameNode);
+ }
+
+} // AbstractXmlNamedColumn
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/ColumnImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/ColumnImpl.java
index d2a25c3..8e87d53 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/ColumnImpl.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/ColumnImpl.java
@@ -12,7 +12,6 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
/**
* <!-- begin-user-doc -->
@@ -30,149 +29,9 @@
* @model kind="class"
* @generated
*/
-public class ColumnImpl extends AbstractJpaEObject implements XmlColumn
+public class ColumnImpl extends AbstractXmlAbstractColumn implements XmlColumn
{
/**
- * The default value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getColumnDefinition()
- * @generated
- * @ordered
- */
- protected static final String COLUMN_DEFINITION_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getColumnDefinition()
- * @generated
- * @ordered
- */
- protected String columnDefinition = COLUMN_DEFINITION_EDEFAULT;
-
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
- * The default value of the '{@link #getInsertable() <em>Insertable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInsertable()
- * @generated
- * @ordered
- */
- protected static final Boolean INSERTABLE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getInsertable() <em>Insertable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInsertable()
- * @generated
- * @ordered
- */
- protected Boolean insertable = INSERTABLE_EDEFAULT;
-
- /**
- * The default value of the '{@link #getNullable() <em>Nullable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getNullable()
- * @generated
- * @ordered
- */
- protected static final Boolean NULLABLE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getNullable() <em>Nullable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getNullable()
- * @generated
- * @ordered
- */
- protected Boolean nullable = NULLABLE_EDEFAULT;
-
- /**
- * The default value of the '{@link #getTable() <em>Table</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTable()
- * @generated
- * @ordered
- */
- protected static final String TABLE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getTable() <em>Table</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTable()
- * @generated
- * @ordered
- */
- protected String table = TABLE_EDEFAULT;
-
- /**
- * The default value of the '{@link #getUnique() <em>Unique</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getUnique()
- * @generated
- * @ordered
- */
- protected static final Boolean UNIQUE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getUnique() <em>Unique</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getUnique()
- * @generated
- * @ordered
- */
- protected Boolean unique = UNIQUE_EDEFAULT;
-
- /**
- * The default value of the '{@link #getUpdatable() <em>Updatable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getUpdatable()
- * @generated
- * @ordered
- */
- protected static final Boolean UPDATABLE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getUpdatable() <em>Updatable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getUpdatable()
- * @generated
- * @ordered
- */
- protected Boolean updatable = UPDATABLE_EDEFAULT;
-
- /**
* The default value of the '{@link #getLength() <em>Length</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -254,251 +113,6 @@
}
/**
- * Returns the value of the '<em><b>Column Definition</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Column Definition</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Column Definition</em>' attribute.
- * @see #setColumnDefinition(String)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlNamedColumn_ColumnDefinition()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
- * @generated
- */
- public String getColumnDefinition()
- {
- return columnDefinition;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.ColumnImpl#getColumnDefinition <em>Column Definition</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Column Definition</em>' attribute.
- * @see #getColumnDefinition()
- * @generated
- */
- public void setColumnDefinition(String newColumnDefinition)
- {
- String oldColumnDefinition = columnDefinition;
- columnDefinition = newColumnDefinition;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.COLUMN_IMPL__COLUMN_DEFINITION, oldColumnDefinition, columnDefinition));
- }
-
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlNamedColumn_Name()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
- * @generated
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.ColumnImpl#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- public void setName(String newName)
- {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.COLUMN_IMPL__NAME, oldName, name));
- }
-
- /**
- * Returns the value of the '<em><b>Insertable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Insertable</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Insertable</em>' attribute.
- * @see #setInsertable(Boolean)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Insertable()
- * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
- * @generated
- */
- public Boolean getInsertable()
- {
- return insertable;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.ColumnImpl#getInsertable <em>Insertable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Insertable</em>' attribute.
- * @see #getInsertable()
- * @generated
- */
- public void setInsertable(Boolean newInsertable)
- {
- Boolean oldInsertable = insertable;
- insertable = newInsertable;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.COLUMN_IMPL__INSERTABLE, oldInsertable, insertable));
- }
-
- /**
- * Returns the value of the '<em><b>Nullable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Nullable</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Nullable</em>' attribute.
- * @see #setNullable(Boolean)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Nullable()
- * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
- * @generated
- */
- public Boolean getNullable()
- {
- return nullable;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.ColumnImpl#getNullable <em>Nullable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Nullable</em>' attribute.
- * @see #getNullable()
- * @generated
- */
- public void setNullable(Boolean newNullable)
- {
- Boolean oldNullable = nullable;
- nullable = newNullable;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.COLUMN_IMPL__NULLABLE, oldNullable, nullable));
- }
-
- /**
- * Returns the value of the '<em><b>Table</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Table</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Table</em>' attribute.
- * @see #setTable(String)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Table()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
- * @generated
- */
- public String getTable()
- {
- return table;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.ColumnImpl#getTable <em>Table</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Table</em>' attribute.
- * @see #getTable()
- * @generated
- */
- public void setTable(String newTable)
- {
- String oldTable = table;
- table = newTable;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.COLUMN_IMPL__TABLE, oldTable, table));
- }
-
- /**
- * Returns the value of the '<em><b>Unique</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Unique</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Unique</em>' attribute.
- * @see #setUnique(Boolean)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Unique()
- * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
- * @generated
- */
- public Boolean getUnique()
- {
- return unique;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.ColumnImpl#getUnique <em>Unique</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Unique</em>' attribute.
- * @see #getUnique()
- * @generated
- */
- public void setUnique(Boolean newUnique)
- {
- Boolean oldUnique = unique;
- unique = newUnique;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.COLUMN_IMPL__UNIQUE, oldUnique, unique));
- }
-
- /**
- * Returns the value of the '<em><b>Updatable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Updatable</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Updatable</em>' attribute.
- * @see #setUpdatable(Boolean)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Updatable()
- * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
- * @generated
- */
- public Boolean getUpdatable()
- {
- return updatable;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.ColumnImpl#getUpdatable <em>Updatable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Updatable</em>' attribute.
- * @see #getUpdatable()
- * @generated
- */
- public void setUpdatable(Boolean newUpdatable)
- {
- Boolean oldUpdatable = updatable;
- updatable = newUpdatable;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.COLUMN_IMPL__UPDATABLE, oldUpdatable, updatable));
- }
-
- /**
* Returns the value of the '<em><b>Length</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
@@ -613,20 +227,6 @@
{
switch (featureID)
{
- case OrmPackage.COLUMN_IMPL__COLUMN_DEFINITION:
- return getColumnDefinition();
- case OrmPackage.COLUMN_IMPL__NAME:
- return getName();
- case OrmPackage.COLUMN_IMPL__INSERTABLE:
- return getInsertable();
- case OrmPackage.COLUMN_IMPL__NULLABLE:
- return getNullable();
- case OrmPackage.COLUMN_IMPL__TABLE:
- return getTable();
- case OrmPackage.COLUMN_IMPL__UNIQUE:
- return getUnique();
- case OrmPackage.COLUMN_IMPL__UPDATABLE:
- return getUpdatable();
case OrmPackage.COLUMN_IMPL__LENGTH:
return getLength();
case OrmPackage.COLUMN_IMPL__PRECISION:
@@ -647,27 +247,6 @@
{
switch (featureID)
{
- case OrmPackage.COLUMN_IMPL__COLUMN_DEFINITION:
- setColumnDefinition((String)newValue);
- return;
- case OrmPackage.COLUMN_IMPL__NAME:
- setName((String)newValue);
- return;
- case OrmPackage.COLUMN_IMPL__INSERTABLE:
- setInsertable((Boolean)newValue);
- return;
- case OrmPackage.COLUMN_IMPL__NULLABLE:
- setNullable((Boolean)newValue);
- return;
- case OrmPackage.COLUMN_IMPL__TABLE:
- setTable((String)newValue);
- return;
- case OrmPackage.COLUMN_IMPL__UNIQUE:
- setUnique((Boolean)newValue);
- return;
- case OrmPackage.COLUMN_IMPL__UPDATABLE:
- setUpdatable((Boolean)newValue);
- return;
case OrmPackage.COLUMN_IMPL__LENGTH:
setLength((Integer)newValue);
return;
@@ -691,27 +270,6 @@
{
switch (featureID)
{
- case OrmPackage.COLUMN_IMPL__COLUMN_DEFINITION:
- setColumnDefinition(COLUMN_DEFINITION_EDEFAULT);
- return;
- case OrmPackage.COLUMN_IMPL__NAME:
- setName(NAME_EDEFAULT);
- return;
- case OrmPackage.COLUMN_IMPL__INSERTABLE:
- setInsertable(INSERTABLE_EDEFAULT);
- return;
- case OrmPackage.COLUMN_IMPL__NULLABLE:
- setNullable(NULLABLE_EDEFAULT);
- return;
- case OrmPackage.COLUMN_IMPL__TABLE:
- setTable(TABLE_EDEFAULT);
- return;
- case OrmPackage.COLUMN_IMPL__UNIQUE:
- setUnique(UNIQUE_EDEFAULT);
- return;
- case OrmPackage.COLUMN_IMPL__UPDATABLE:
- setUpdatable(UPDATABLE_EDEFAULT);
- return;
case OrmPackage.COLUMN_IMPL__LENGTH:
setLength(LENGTH_EDEFAULT);
return;
@@ -735,20 +293,6 @@
{
switch (featureID)
{
- case OrmPackage.COLUMN_IMPL__COLUMN_DEFINITION:
- return COLUMN_DEFINITION_EDEFAULT == null ? columnDefinition != null : !COLUMN_DEFINITION_EDEFAULT.equals(columnDefinition);
- case OrmPackage.COLUMN_IMPL__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case OrmPackage.COLUMN_IMPL__INSERTABLE:
- return INSERTABLE_EDEFAULT == null ? insertable != null : !INSERTABLE_EDEFAULT.equals(insertable);
- case OrmPackage.COLUMN_IMPL__NULLABLE:
- return NULLABLE_EDEFAULT == null ? nullable != null : !NULLABLE_EDEFAULT.equals(nullable);
- case OrmPackage.COLUMN_IMPL__TABLE:
- return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table);
- case OrmPackage.COLUMN_IMPL__UNIQUE:
- return UNIQUE_EDEFAULT == null ? unique != null : !UNIQUE_EDEFAULT.equals(unique);
- case OrmPackage.COLUMN_IMPL__UPDATABLE:
- return UPDATABLE_EDEFAULT == null ? updatable != null : !UPDATABLE_EDEFAULT.equals(updatable);
case OrmPackage.COLUMN_IMPL__LENGTH:
return LENGTH_EDEFAULT == null ? length != null : !LENGTH_EDEFAULT.equals(length);
case OrmPackage.COLUMN_IMPL__PRECISION:
@@ -765,26 +309,54 @@
* @generated
*/
@Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlColumn.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.COLUMN_IMPL__LENGTH: return OrmPackage.XML_COLUMN__LENGTH;
+ case OrmPackage.COLUMN_IMPL__PRECISION: return OrmPackage.XML_COLUMN__PRECISION;
+ case OrmPackage.COLUMN_IMPL__SCALE: return OrmPackage.XML_COLUMN__SCALE;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlColumn.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_COLUMN__LENGTH: return OrmPackage.COLUMN_IMPL__LENGTH;
+ case OrmPackage.XML_COLUMN__PRECISION: return OrmPackage.COLUMN_IMPL__PRECISION;
+ case OrmPackage.XML_COLUMN__SCALE: return OrmPackage.COLUMN_IMPL__SCALE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
- result.append(" (columnDefinition: ");
- result.append(columnDefinition);
- result.append(", name: ");
- result.append(name);
- result.append(", insertable: ");
- result.append(insertable);
- result.append(", nullable: ");
- result.append(nullable);
- result.append(", table: ");
- result.append(table);
- result.append(", unique: ");
- result.append(unique);
- result.append(", updatable: ");
- result.append(updatable);
- result.append(", length: ");
+ result.append(" (length: ");
result.append(length);
result.append(", precision: ");
result.append(precision);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/JoinColumnImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/JoinColumnImpl.java
index fbf8140..e49b8f6 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/JoinColumnImpl.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/JoinColumnImpl.java
@@ -12,7 +12,10 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.TextRange;
+import org.eclipse.jpt.core.internal.emfutility.DOMUtilities;
+import org.eclipse.jpt.core.internal.resource.orm.translators.OrmXmlMapper;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
/**
* <!-- begin-user-doc -->
@@ -30,149 +33,9 @@
* @model kind="class"
* @generated
*/
-public class JoinColumnImpl extends AbstractJpaEObject implements XmlJoinColumn
+public class JoinColumnImpl extends AbstractXmlAbstractColumn implements XmlJoinColumn
{
/**
- * The default value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getColumnDefinition()
- * @generated
- * @ordered
- */
- protected static final String COLUMN_DEFINITION_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getColumnDefinition()
- * @generated
- * @ordered
- */
- protected String columnDefinition = COLUMN_DEFINITION_EDEFAULT;
-
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
- * The default value of the '{@link #getInsertable() <em>Insertable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInsertable()
- * @generated
- * @ordered
- */
- protected static final Boolean INSERTABLE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getInsertable() <em>Insertable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInsertable()
- * @generated
- * @ordered
- */
- protected Boolean insertable = INSERTABLE_EDEFAULT;
-
- /**
- * The default value of the '{@link #getNullable() <em>Nullable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getNullable()
- * @generated
- * @ordered
- */
- protected static final Boolean NULLABLE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getNullable() <em>Nullable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getNullable()
- * @generated
- * @ordered
- */
- protected Boolean nullable = NULLABLE_EDEFAULT;
-
- /**
- * The default value of the '{@link #getTable() <em>Table</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTable()
- * @generated
- * @ordered
- */
- protected static final String TABLE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getTable() <em>Table</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTable()
- * @generated
- * @ordered
- */
- protected String table = TABLE_EDEFAULT;
-
- /**
- * The default value of the '{@link #getUnique() <em>Unique</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getUnique()
- * @generated
- * @ordered
- */
- protected static final Boolean UNIQUE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getUnique() <em>Unique</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getUnique()
- * @generated
- * @ordered
- */
- protected Boolean unique = UNIQUE_EDEFAULT;
-
- /**
- * The default value of the '{@link #getUpdatable() <em>Updatable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getUpdatable()
- * @generated
- * @ordered
- */
- protected static final Boolean UPDATABLE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getUpdatable() <em>Updatable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getUpdatable()
- * @generated
- * @ordered
- */
- protected Boolean updatable = UPDATABLE_EDEFAULT;
-
- /**
* The default value of the '{@link #getReferencedColumnName() <em>Referenced Column Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -214,251 +77,6 @@
}
/**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlNamedColumn_Name()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
- * @generated
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.JoinColumnImpl#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- public void setName(String newName)
- {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.JOIN_COLUMN_IMPL__NAME, oldName, name));
- }
-
- /**
- * Returns the value of the '<em><b>Insertable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Insertable</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Insertable</em>' attribute.
- * @see #setInsertable(Boolean)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Insertable()
- * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
- * @generated
- */
- public Boolean getInsertable()
- {
- return insertable;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.JoinColumnImpl#getInsertable <em>Insertable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Insertable</em>' attribute.
- * @see #getInsertable()
- * @generated
- */
- public void setInsertable(Boolean newInsertable)
- {
- Boolean oldInsertable = insertable;
- insertable = newInsertable;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.JOIN_COLUMN_IMPL__INSERTABLE, oldInsertable, insertable));
- }
-
- /**
- * Returns the value of the '<em><b>Nullable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Nullable</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Nullable</em>' attribute.
- * @see #setNullable(Boolean)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Nullable()
- * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
- * @generated
- */
- public Boolean getNullable()
- {
- return nullable;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.JoinColumnImpl#getNullable <em>Nullable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Nullable</em>' attribute.
- * @see #getNullable()
- * @generated
- */
- public void setNullable(Boolean newNullable)
- {
- Boolean oldNullable = nullable;
- nullable = newNullable;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.JOIN_COLUMN_IMPL__NULLABLE, oldNullable, nullable));
- }
-
- /**
- * Returns the value of the '<em><b>Column Definition</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Column Definition</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Column Definition</em>' attribute.
- * @see #setColumnDefinition(String)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlNamedColumn_ColumnDefinition()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
- * @generated
- */
- public String getColumnDefinition()
- {
- return columnDefinition;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.JoinColumnImpl#getColumnDefinition <em>Column Definition</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Column Definition</em>' attribute.
- * @see #getColumnDefinition()
- * @generated
- */
- public void setColumnDefinition(String newColumnDefinition)
- {
- String oldColumnDefinition = columnDefinition;
- columnDefinition = newColumnDefinition;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.JOIN_COLUMN_IMPL__COLUMN_DEFINITION, oldColumnDefinition, columnDefinition));
- }
-
- /**
- * Returns the value of the '<em><b>Table</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Table</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Table</em>' attribute.
- * @see #setTable(String)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Table()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
- * @generated
- */
- public String getTable()
- {
- return table;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.JoinColumnImpl#getTable <em>Table</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Table</em>' attribute.
- * @see #getTable()
- * @generated
- */
- public void setTable(String newTable)
- {
- String oldTable = table;
- table = newTable;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.JOIN_COLUMN_IMPL__TABLE, oldTable, table));
- }
-
- /**
- * Returns the value of the '<em><b>Unique</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Unique</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Unique</em>' attribute.
- * @see #setUnique(Boolean)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Unique()
- * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
- * @generated
- */
- public Boolean getUnique()
- {
- return unique;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.JoinColumnImpl#getUnique <em>Unique</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Unique</em>' attribute.
- * @see #getUnique()
- * @generated
- */
- public void setUnique(Boolean newUnique)
- {
- Boolean oldUnique = unique;
- unique = newUnique;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.JOIN_COLUMN_IMPL__UNIQUE, oldUnique, unique));
- }
-
- /**
- * Returns the value of the '<em><b>Updatable</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Updatable</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Updatable</em>' attribute.
- * @see #setUpdatable(Boolean)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn_Updatable()
- * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
- * @generated
- */
- public Boolean getUpdatable()
- {
- return updatable;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.JoinColumnImpl#getUpdatable <em>Updatable</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Updatable</em>' attribute.
- * @see #getUpdatable()
- * @generated
- */
- public void setUpdatable(Boolean newUpdatable)
- {
- Boolean oldUpdatable = updatable;
- updatable = newUpdatable;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.JOIN_COLUMN_IMPL__UPDATABLE, oldUpdatable, updatable));
- }
-
- /**
* Returns the value of the '<em><b>Referenced Column Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
@@ -503,20 +121,6 @@
{
switch (featureID)
{
- case OrmPackage.JOIN_COLUMN_IMPL__COLUMN_DEFINITION:
- return getColumnDefinition();
- case OrmPackage.JOIN_COLUMN_IMPL__NAME:
- return getName();
- case OrmPackage.JOIN_COLUMN_IMPL__INSERTABLE:
- return getInsertable();
- case OrmPackage.JOIN_COLUMN_IMPL__NULLABLE:
- return getNullable();
- case OrmPackage.JOIN_COLUMN_IMPL__TABLE:
- return getTable();
- case OrmPackage.JOIN_COLUMN_IMPL__UNIQUE:
- return getUnique();
- case OrmPackage.JOIN_COLUMN_IMPL__UPDATABLE:
- return getUpdatable();
case OrmPackage.JOIN_COLUMN_IMPL__REFERENCED_COLUMN_NAME:
return getReferencedColumnName();
}
@@ -533,27 +137,6 @@
{
switch (featureID)
{
- case OrmPackage.JOIN_COLUMN_IMPL__COLUMN_DEFINITION:
- setColumnDefinition((String)newValue);
- return;
- case OrmPackage.JOIN_COLUMN_IMPL__NAME:
- setName((String)newValue);
- return;
- case OrmPackage.JOIN_COLUMN_IMPL__INSERTABLE:
- setInsertable((Boolean)newValue);
- return;
- case OrmPackage.JOIN_COLUMN_IMPL__NULLABLE:
- setNullable((Boolean)newValue);
- return;
- case OrmPackage.JOIN_COLUMN_IMPL__TABLE:
- setTable((String)newValue);
- return;
- case OrmPackage.JOIN_COLUMN_IMPL__UNIQUE:
- setUnique((Boolean)newValue);
- return;
- case OrmPackage.JOIN_COLUMN_IMPL__UPDATABLE:
- setUpdatable((Boolean)newValue);
- return;
case OrmPackage.JOIN_COLUMN_IMPL__REFERENCED_COLUMN_NAME:
setReferencedColumnName((String)newValue);
return;
@@ -571,27 +154,6 @@
{
switch (featureID)
{
- case OrmPackage.JOIN_COLUMN_IMPL__COLUMN_DEFINITION:
- setColumnDefinition(COLUMN_DEFINITION_EDEFAULT);
- return;
- case OrmPackage.JOIN_COLUMN_IMPL__NAME:
- setName(NAME_EDEFAULT);
- return;
- case OrmPackage.JOIN_COLUMN_IMPL__INSERTABLE:
- setInsertable(INSERTABLE_EDEFAULT);
- return;
- case OrmPackage.JOIN_COLUMN_IMPL__NULLABLE:
- setNullable(NULLABLE_EDEFAULT);
- return;
- case OrmPackage.JOIN_COLUMN_IMPL__TABLE:
- setTable(TABLE_EDEFAULT);
- return;
- case OrmPackage.JOIN_COLUMN_IMPL__UNIQUE:
- setUnique(UNIQUE_EDEFAULT);
- return;
- case OrmPackage.JOIN_COLUMN_IMPL__UPDATABLE:
- setUpdatable(UPDATABLE_EDEFAULT);
- return;
case OrmPackage.JOIN_COLUMN_IMPL__REFERENCED_COLUMN_NAME:
setReferencedColumnName(REFERENCED_COLUMN_NAME_EDEFAULT);
return;
@@ -609,20 +171,6 @@
{
switch (featureID)
{
- case OrmPackage.JOIN_COLUMN_IMPL__COLUMN_DEFINITION:
- return COLUMN_DEFINITION_EDEFAULT == null ? columnDefinition != null : !COLUMN_DEFINITION_EDEFAULT.equals(columnDefinition);
- case OrmPackage.JOIN_COLUMN_IMPL__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case OrmPackage.JOIN_COLUMN_IMPL__INSERTABLE:
- return INSERTABLE_EDEFAULT == null ? insertable != null : !INSERTABLE_EDEFAULT.equals(insertable);
- case OrmPackage.JOIN_COLUMN_IMPL__NULLABLE:
- return NULLABLE_EDEFAULT == null ? nullable != null : !NULLABLE_EDEFAULT.equals(nullable);
- case OrmPackage.JOIN_COLUMN_IMPL__TABLE:
- return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table);
- case OrmPackage.JOIN_COLUMN_IMPL__UNIQUE:
- return UNIQUE_EDEFAULT == null ? unique != null : !UNIQUE_EDEFAULT.equals(unique);
- case OrmPackage.JOIN_COLUMN_IMPL__UPDATABLE:
- return UPDATABLE_EDEFAULT == null ? updatable != null : !UPDATABLE_EDEFAULT.equals(updatable);
case OrmPackage.JOIN_COLUMN_IMPL__REFERENCED_COLUMN_NAME:
return REFERENCED_COLUMN_NAME_EDEFAULT == null ? referencedColumnName != null : !REFERENCED_COLUMN_NAME_EDEFAULT.equals(referencedColumnName);
}
@@ -635,29 +183,57 @@
* @generated
*/
@Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlJoinColumn.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.JOIN_COLUMN_IMPL__REFERENCED_COLUMN_NAME: return OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlJoinColumn.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME: return OrmPackage.JOIN_COLUMN_IMPL__REFERENCED_COLUMN_NAME;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
- result.append(" (columnDefinition: ");
- result.append(columnDefinition);
- result.append(", name: ");
- result.append(name);
- result.append(", insertable: ");
- result.append(insertable);
- result.append(", nullable: ");
- result.append(nullable);
- result.append(", table: ");
- result.append(table);
- result.append(", unique: ");
- result.append(unique);
- result.append(", updatable: ");
- result.append(updatable);
- result.append(", referencedColumnName: ");
+ result.append(" (referencedColumnName: ");
result.append(referencedColumnName);
result.append(')');
return result.toString();
}
-
+
+ public TextRange referencedColumnNameTextRange() {
+ IDOMNode referencedColumnNameNode = (IDOMNode) DOMUtilities.getChildAttributeNode(this.node, OrmXmlMapper.REFERENCED_COLUMN_NAME);
+ return (referencedColumnNameNode == null) ? validationTextRange() : buildTextRange(referencedColumnNameNode);
+ }
} // JoinColumn
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/OrmPackage.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/OrmPackage.java
index 79e3d21..ac32b0c 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/OrmPackage.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/OrmPackage.java
@@ -2970,6 +2970,43 @@
public static final int XML_NAMED_COLUMN_FEATURE_COUNT = 2;
/**
+ * The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlNamedColumn <em>Abstract Xml Named Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.core.resource.orm.AbstractXmlNamedColumn
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getAbstractXmlNamedColumn()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_NAMED_COLUMN = 40;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION = XML_NAMED_COLUMN__COLUMN_DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_NAMED_COLUMN__NAME = XML_NAMED_COLUMN__NAME;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Named Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT = XML_NAMED_COLUMN_FEATURE_COUNT + 0;
+
+ /**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.XmlAbstractColumn <em>Xml Abstract Column</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2977,7 +3014,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAbstractColumn()
* @generated
*/
- public static final int XML_ABSTRACT_COLUMN = 40;
+ public static final int XML_ABSTRACT_COLUMN = 41;
/**
* The feature id for the '<em><b>Column Definition</b></em>' attribute.
@@ -3052,6 +3089,88 @@
public static final int XML_ABSTRACT_COLUMN_FEATURE_COUNT = XML_NAMED_COLUMN_FEATURE_COUNT + 5;
/**
+ * The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlAbstractColumn <em>Abstract Xml Abstract Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.core.resource.orm.AbstractXmlAbstractColumn
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getAbstractXmlAbstractColumn()
+ * @generated
+ */
+ public static final int ABSTRACT_XML_ABSTRACT_COLUMN = 42;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_ABSTRACT_COLUMN__COLUMN_DEFINITION = ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_ABSTRACT_COLUMN__NAME = ABSTRACT_XML_NAMED_COLUMN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Insertable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Nullable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_ABSTRACT_COLUMN__TABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Updatable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_ABSTRACT_COLUMN__UPDATABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Abstract Xml Abstract Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int ABSTRACT_XML_ABSTRACT_COLUMN_FEATURE_COUNT = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 5;
+
+ /**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.XmlColumn <em>Xml Column</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3059,7 +3178,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlColumn()
* @generated
*/
- public static final int XML_COLUMN = 41;
+ public static final int XML_COLUMN = 43;
/**
* The feature id for the '<em><b>Column Definition</b></em>' attribute.
@@ -3168,7 +3287,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getColumnImpl()
* @generated
*/
- public static final int COLUMN_IMPL = 42;
+ public static final int COLUMN_IMPL = 44;
/**
* The feature id for the '<em><b>Column Definition</b></em>' attribute.
@@ -3177,7 +3296,7 @@
* @generated
* @ordered
*/
- public static final int COLUMN_IMPL__COLUMN_DEFINITION = XML_COLUMN__COLUMN_DEFINITION;
+ public static final int COLUMN_IMPL__COLUMN_DEFINITION = ABSTRACT_XML_ABSTRACT_COLUMN__COLUMN_DEFINITION;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -3186,7 +3305,7 @@
* @generated
* @ordered
*/
- public static final int COLUMN_IMPL__NAME = XML_COLUMN__NAME;
+ public static final int COLUMN_IMPL__NAME = ABSTRACT_XML_ABSTRACT_COLUMN__NAME;
/**
* The feature id for the '<em><b>Insertable</b></em>' attribute.
@@ -3195,7 +3314,7 @@
* @generated
* @ordered
*/
- public static final int COLUMN_IMPL__INSERTABLE = XML_COLUMN__INSERTABLE;
+ public static final int COLUMN_IMPL__INSERTABLE = ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE;
/**
* The feature id for the '<em><b>Nullable</b></em>' attribute.
@@ -3204,7 +3323,7 @@
* @generated
* @ordered
*/
- public static final int COLUMN_IMPL__NULLABLE = XML_COLUMN__NULLABLE;
+ public static final int COLUMN_IMPL__NULLABLE = ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE;
/**
* The feature id for the '<em><b>Table</b></em>' attribute.
@@ -3213,7 +3332,7 @@
* @generated
* @ordered
*/
- public static final int COLUMN_IMPL__TABLE = XML_COLUMN__TABLE;
+ public static final int COLUMN_IMPL__TABLE = ABSTRACT_XML_ABSTRACT_COLUMN__TABLE;
/**
* The feature id for the '<em><b>Unique</b></em>' attribute.
@@ -3222,7 +3341,7 @@
* @generated
* @ordered
*/
- public static final int COLUMN_IMPL__UNIQUE = XML_COLUMN__UNIQUE;
+ public static final int COLUMN_IMPL__UNIQUE = ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE;
/**
* The feature id for the '<em><b>Updatable</b></em>' attribute.
@@ -3231,7 +3350,7 @@
* @generated
* @ordered
*/
- public static final int COLUMN_IMPL__UPDATABLE = XML_COLUMN__UPDATABLE;
+ public static final int COLUMN_IMPL__UPDATABLE = ABSTRACT_XML_ABSTRACT_COLUMN__UPDATABLE;
/**
* The feature id for the '<em><b>Length</b></em>' attribute.
@@ -3240,7 +3359,7 @@
* @generated
* @ordered
*/
- public static final int COLUMN_IMPL__LENGTH = XML_COLUMN__LENGTH;
+ public static final int COLUMN_IMPL__LENGTH = ABSTRACT_XML_ABSTRACT_COLUMN_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Precision</b></em>' attribute.
@@ -3249,7 +3368,7 @@
* @generated
* @ordered
*/
- public static final int COLUMN_IMPL__PRECISION = XML_COLUMN__PRECISION;
+ public static final int COLUMN_IMPL__PRECISION = ABSTRACT_XML_ABSTRACT_COLUMN_FEATURE_COUNT + 1;
/**
* The feature id for the '<em><b>Scale</b></em>' attribute.
@@ -3258,7 +3377,7 @@
* @generated
* @ordered
*/
- public static final int COLUMN_IMPL__SCALE = XML_COLUMN__SCALE;
+ public static final int COLUMN_IMPL__SCALE = ABSTRACT_XML_ABSTRACT_COLUMN_FEATURE_COUNT + 2;
/**
* The number of structural features of the '<em>Column Impl</em>' class.
@@ -3267,7 +3386,7 @@
* @generated
* @ordered
*/
- public static final int COLUMN_IMPL_FEATURE_COUNT = XML_COLUMN_FEATURE_COUNT + 0;
+ public static final int COLUMN_IMPL_FEATURE_COUNT = ABSTRACT_XML_ABSTRACT_COLUMN_FEATURE_COUNT + 3;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.ColumnResult <em>Column Result</em>}' class.
@@ -3277,7 +3396,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getColumnResult()
* @generated
*/
- public static final int COLUMN_RESULT = 43;
+ public static final int COLUMN_RESULT = 45;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -3305,7 +3424,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlDiscriminatorColumn()
* @generated
*/
- public static final int XML_DISCRIMINATOR_COLUMN = 44;
+ public static final int XML_DISCRIMINATOR_COLUMN = 46;
/**
* The feature id for the '<em><b>Column Definition</b></em>' attribute.
@@ -3314,7 +3433,7 @@
* @generated
* @ordered
*/
- public static final int XML_DISCRIMINATOR_COLUMN__COLUMN_DEFINITION = XML_NAMED_COLUMN__COLUMN_DEFINITION;
+ public static final int XML_DISCRIMINATOR_COLUMN__COLUMN_DEFINITION = ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -3323,7 +3442,7 @@
* @generated
* @ordered
*/
- public static final int XML_DISCRIMINATOR_COLUMN__NAME = XML_NAMED_COLUMN__NAME;
+ public static final int XML_DISCRIMINATOR_COLUMN__NAME = ABSTRACT_XML_NAMED_COLUMN__NAME;
/**
* The feature id for the '<em><b>Discriminator Type</b></em>' attribute.
@@ -3332,7 +3451,7 @@
* @generated
* @ordered
*/
- public static final int XML_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE = XML_NAMED_COLUMN_FEATURE_COUNT + 0;
+ public static final int XML_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Length</b></em>' attribute.
@@ -3341,7 +3460,7 @@
* @generated
* @ordered
*/
- public static final int XML_DISCRIMINATOR_COLUMN__LENGTH = XML_NAMED_COLUMN_FEATURE_COUNT + 1;
+ public static final int XML_DISCRIMINATOR_COLUMN__LENGTH = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 1;
/**
* The number of structural features of the '<em>Xml Discriminator Column</em>' class.
@@ -3350,7 +3469,7 @@
* @generated
* @ordered
*/
- public static final int XML_DISCRIMINATOR_COLUMN_FEATURE_COUNT = XML_NAMED_COLUMN_FEATURE_COUNT + 2;
+ public static final int XML_DISCRIMINATOR_COLUMN_FEATURE_COUNT = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 2;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.EntityListeners <em>Entity Listeners</em>}' class.
@@ -3360,7 +3479,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getEntityListeners()
* @generated
*/
- public static final int ENTITY_LISTENERS = 45;
+ public static final int ENTITY_LISTENERS = 47;
/**
* The feature id for the '<em><b>Entity Listeners</b></em>' containment reference list.
@@ -3388,7 +3507,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getEntityListener()
* @generated
*/
- public static final int ENTITY_LISTENER = 46;
+ public static final int ENTITY_LISTENER = 48;
/**
* The feature id for the '<em><b>Class Name</b></em>' attribute.
@@ -3479,7 +3598,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getEntityResult()
* @generated
*/
- public static final int ENTITY_RESULT = 47;
+ public static final int ENTITY_RESULT = 49;
/**
* The feature id for the '<em><b>Discriminator Column</b></em>' attribute.
@@ -3525,7 +3644,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getFieldResult()
* @generated
*/
- public static final int FIELD_RESULT = 49;
+ public static final int FIELD_RESULT = 51;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.IdClass <em>Id Class</em>}' class.
@@ -3535,7 +3654,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getIdClass()
* @generated
*/
- public static final int ID_CLASS = 52;
+ public static final int ID_CLASS = 54;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.Inheritance <em>Inheritance</em>}' class.
@@ -3545,7 +3664,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getInheritance()
* @generated
*/
- public static final int INHERITANCE = 53;
+ public static final int INHERITANCE = 55;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.Lob <em>Lob</em>}' class.
@@ -3555,7 +3674,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getLob()
* @generated
*/
- public static final int LOB = 58;
+ public static final int LOB = 60;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.MapKey <em>Map Key</em>}' class.
@@ -3565,7 +3684,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getMapKey()
* @generated
*/
- public static final int MAP_KEY = 59;
+ public static final int MAP_KEY = 61;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.EventMethod <em>Event Method</em>}' class.
@@ -3575,7 +3694,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getEventMethod()
* @generated
*/
- public static final int EVENT_METHOD = 48;
+ public static final int EVENT_METHOD = 50;
/**
* The feature id for the '<em><b>Method Name</b></em>' attribute.
@@ -3630,7 +3749,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlGeneratedValue()
* @generated
*/
- public static final int XML_GENERATED_VALUE = 50;
+ public static final int XML_GENERATED_VALUE = 52;
/**
* The feature id for the '<em><b>Generator</b></em>' attribute.
@@ -3667,7 +3786,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getGeneratedValueImpl()
* @generated
*/
- public static final int GENERATED_VALUE_IMPL = 51;
+ public static final int GENERATED_VALUE_IMPL = 53;
/**
* The feature id for the '<em><b>Generator</b></em>' attribute.
@@ -3740,7 +3859,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlJoinColumn()
* @generated
*/
- public static final int XML_JOIN_COLUMN = 54;
+ public static final int XML_JOIN_COLUMN = 56;
/**
* The feature id for the '<em><b>Column Definition</b></em>' attribute.
@@ -3831,7 +3950,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getJoinColumnImpl()
* @generated
*/
- public static final int JOIN_COLUMN_IMPL = 55;
+ public static final int JOIN_COLUMN_IMPL = 57;
/**
* The feature id for the '<em><b>Column Definition</b></em>' attribute.
@@ -3840,7 +3959,7 @@
* @generated
* @ordered
*/
- public static final int JOIN_COLUMN_IMPL__COLUMN_DEFINITION = XML_JOIN_COLUMN__COLUMN_DEFINITION;
+ public static final int JOIN_COLUMN_IMPL__COLUMN_DEFINITION = ABSTRACT_XML_ABSTRACT_COLUMN__COLUMN_DEFINITION;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -3849,7 +3968,7 @@
* @generated
* @ordered
*/
- public static final int JOIN_COLUMN_IMPL__NAME = XML_JOIN_COLUMN__NAME;
+ public static final int JOIN_COLUMN_IMPL__NAME = ABSTRACT_XML_ABSTRACT_COLUMN__NAME;
/**
* The feature id for the '<em><b>Insertable</b></em>' attribute.
@@ -3858,7 +3977,7 @@
* @generated
* @ordered
*/
- public static final int JOIN_COLUMN_IMPL__INSERTABLE = XML_JOIN_COLUMN__INSERTABLE;
+ public static final int JOIN_COLUMN_IMPL__INSERTABLE = ABSTRACT_XML_ABSTRACT_COLUMN__INSERTABLE;
/**
* The feature id for the '<em><b>Nullable</b></em>' attribute.
@@ -3867,7 +3986,7 @@
* @generated
* @ordered
*/
- public static final int JOIN_COLUMN_IMPL__NULLABLE = XML_JOIN_COLUMN__NULLABLE;
+ public static final int JOIN_COLUMN_IMPL__NULLABLE = ABSTRACT_XML_ABSTRACT_COLUMN__NULLABLE;
/**
* The feature id for the '<em><b>Table</b></em>' attribute.
@@ -3876,7 +3995,7 @@
* @generated
* @ordered
*/
- public static final int JOIN_COLUMN_IMPL__TABLE = XML_JOIN_COLUMN__TABLE;
+ public static final int JOIN_COLUMN_IMPL__TABLE = ABSTRACT_XML_ABSTRACT_COLUMN__TABLE;
/**
* The feature id for the '<em><b>Unique</b></em>' attribute.
@@ -3885,7 +4004,7 @@
* @generated
* @ordered
*/
- public static final int JOIN_COLUMN_IMPL__UNIQUE = XML_JOIN_COLUMN__UNIQUE;
+ public static final int JOIN_COLUMN_IMPL__UNIQUE = ABSTRACT_XML_ABSTRACT_COLUMN__UNIQUE;
/**
* The feature id for the '<em><b>Updatable</b></em>' attribute.
@@ -3894,7 +4013,7 @@
* @generated
* @ordered
*/
- public static final int JOIN_COLUMN_IMPL__UPDATABLE = XML_JOIN_COLUMN__UPDATABLE;
+ public static final int JOIN_COLUMN_IMPL__UPDATABLE = ABSTRACT_XML_ABSTRACT_COLUMN__UPDATABLE;
/**
* The feature id for the '<em><b>Referenced Column Name</b></em>' attribute.
@@ -3903,7 +4022,7 @@
* @generated
* @ordered
*/
- public static final int JOIN_COLUMN_IMPL__REFERENCED_COLUMN_NAME = XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME;
+ public static final int JOIN_COLUMN_IMPL__REFERENCED_COLUMN_NAME = ABSTRACT_XML_ABSTRACT_COLUMN_FEATURE_COUNT + 0;
/**
* The number of structural features of the '<em>Join Column Impl</em>' class.
@@ -3912,7 +4031,7 @@
* @generated
* @ordered
*/
- public static final int JOIN_COLUMN_IMPL_FEATURE_COUNT = XML_JOIN_COLUMN_FEATURE_COUNT + 0;
+ public static final int JOIN_COLUMN_IMPL_FEATURE_COUNT = ABSTRACT_XML_ABSTRACT_COLUMN_FEATURE_COUNT + 1;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.XmlBaseTable <em>Xml Base Table</em>}' class.
@@ -3922,7 +4041,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlBaseTable()
* @generated
*/
- public static final int XML_BASE_TABLE = 74;
+ public static final int XML_BASE_TABLE = 76;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -3977,7 +4096,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlJoinTable()
* @generated
*/
- public static final int XML_JOIN_TABLE = 56;
+ public static final int XML_JOIN_TABLE = 58;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4050,7 +4169,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getAbstractXmlBaseTable()
* @generated
*/
- public static final int ABSTRACT_XML_BASE_TABLE = 73;
+ public static final int ABSTRACT_XML_BASE_TABLE = 75;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4105,7 +4224,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getJoinTableImpl()
* @generated
*/
- public static final int JOIN_TABLE_IMPL = 57;
+ public static final int JOIN_TABLE_IMPL = 59;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4205,7 +4324,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getMapKeyImpl()
* @generated
*/
- public static final int MAP_KEY_IMPL = 60;
+ public static final int MAP_KEY_IMPL = 62;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4233,7 +4352,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlQuery()
* @generated
*/
- public static final int XML_QUERY = 61;
+ public static final int XML_QUERY = 63;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4279,7 +4398,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlNamedNativeQuery()
* @generated
*/
- public static final int XML_NAMED_NATIVE_QUERY = 62;
+ public static final int XML_NAMED_NATIVE_QUERY = 64;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4343,7 +4462,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlNamedQuery()
* @generated
*/
- public static final int XML_NAMED_QUERY = 63;
+ public static final int XML_NAMED_QUERY = 65;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4389,7 +4508,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getPostLoad()
* @generated
*/
- public static final int POST_LOAD = 64;
+ public static final int POST_LOAD = 66;
/**
* The feature id for the '<em><b>Method Name</b></em>' attribute.
@@ -4417,7 +4536,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getPostPersist()
* @generated
*/
- public static final int POST_PERSIST = 65;
+ public static final int POST_PERSIST = 67;
/**
* The feature id for the '<em><b>Method Name</b></em>' attribute.
@@ -4445,7 +4564,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getPostRemove()
* @generated
*/
- public static final int POST_REMOVE = 66;
+ public static final int POST_REMOVE = 68;
/**
* The feature id for the '<em><b>Method Name</b></em>' attribute.
@@ -4473,7 +4592,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getPostUpdate()
* @generated
*/
- public static final int POST_UPDATE = 67;
+ public static final int POST_UPDATE = 69;
/**
* The feature id for the '<em><b>Method Name</b></em>' attribute.
@@ -4501,7 +4620,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getPrePersist()
* @generated
*/
- public static final int PRE_PERSIST = 68;
+ public static final int PRE_PERSIST = 70;
/**
* The feature id for the '<em><b>Method Name</b></em>' attribute.
@@ -4529,7 +4648,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getPreRemove()
* @generated
*/
- public static final int PRE_REMOVE = 69;
+ public static final int PRE_REMOVE = 71;
/**
* The feature id for the '<em><b>Method Name</b></em>' attribute.
@@ -4557,7 +4676,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getPreUpdate()
* @generated
*/
- public static final int PRE_UPDATE = 70;
+ public static final int PRE_UPDATE = 72;
/**
* The feature id for the '<em><b>Method Name</b></em>' attribute.
@@ -4585,7 +4704,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumn()
* @generated
*/
- public static final int XML_PRIMARY_KEY_JOIN_COLUMN = 71;
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN = 73;
/**
* The feature id for the '<em><b>Column Definition</b></em>' attribute.
@@ -4594,7 +4713,7 @@
* @generated
* @ordered
*/
- public static final int XML_PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION = XML_NAMED_COLUMN__COLUMN_DEFINITION;
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION = ABSTRACT_XML_NAMED_COLUMN__COLUMN_DEFINITION;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4603,7 +4722,7 @@
* @generated
* @ordered
*/
- public static final int XML_PRIMARY_KEY_JOIN_COLUMN__NAME = XML_NAMED_COLUMN__NAME;
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN__NAME = ABSTRACT_XML_NAMED_COLUMN__NAME;
/**
* The feature id for the '<em><b>Referenced Column Name</b></em>' attribute.
@@ -4612,7 +4731,7 @@
* @generated
* @ordered
*/
- public static final int XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME = XML_NAMED_COLUMN_FEATURE_COUNT + 0;
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 0;
/**
* The number of structural features of the '<em>Xml Primary Key Join Column</em>' class.
@@ -4621,7 +4740,7 @@
* @generated
* @ordered
*/
- public static final int XML_PRIMARY_KEY_JOIN_COLUMN_FEATURE_COUNT = XML_NAMED_COLUMN_FEATURE_COUNT + 1;
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN_FEATURE_COUNT = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 1;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.XmlQueryHint <em>Xml Query Hint</em>}' class.
@@ -4631,7 +4750,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlQueryHint()
* @generated
*/
- public static final int XML_QUERY_HINT = 72;
+ public static final int XML_QUERY_HINT = 74;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4668,7 +4787,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlTable()
* @generated
*/
- public static final int XML_TABLE = 75;
+ public static final int XML_TABLE = 77;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4723,7 +4842,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlSecondaryTable()
* @generated
*/
- public static final int XML_SECONDARY_TABLE = 76;
+ public static final int XML_SECONDARY_TABLE = 78;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4787,7 +4906,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlGenerator()
* @generated
*/
- public static final int XML_GENERATOR = 77;
+ public static final int XML_GENERATOR = 79;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4833,7 +4952,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlSequenceGenerator()
* @generated
*/
- public static final int XML_SEQUENCE_GENERATOR = 78;
+ public static final int XML_SEQUENCE_GENERATOR = 80;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4888,7 +5007,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getSqlResultSetMapping()
* @generated
*/
- public static final int SQL_RESULT_SET_MAPPING = 80;
+ public static final int SQL_RESULT_SET_MAPPING = 82;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.SequenceGeneratorImpl <em>Sequence Generator Impl</em>}' class.
@@ -4898,7 +5017,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getSequenceGeneratorImpl()
* @generated
*/
- public static final int SEQUENCE_GENERATOR_IMPL = 79;
+ public static final int SEQUENCE_GENERATOR_IMPL = 81;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4989,7 +5108,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlTableGenerator()
* @generated
*/
- public static final int XML_TABLE_GENERATOR = 81;
+ public static final int XML_TABLE_GENERATOR = 83;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -5098,7 +5217,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getTableGeneratorImpl()
* @generated
*/
- public static final int TABLE_GENERATOR_IMPL = 82;
+ public static final int TABLE_GENERATOR_IMPL = 84;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -5207,7 +5326,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getUniqueConstraint()
* @generated
*/
- public static final int UNIQUE_CONSTRAINT = 83;
+ public static final int UNIQUE_CONSTRAINT = 85;
/**
* The feature id for the '<em><b>Column Names</b></em>' attribute list.
@@ -5235,7 +5354,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getAccessType()
* @generated
*/
- public static final int ACCESS_TYPE = 84;
+ public static final int ACCESS_TYPE = 86;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.DiscriminatorType <em>Discriminator Type</em>}' enum.
@@ -5245,7 +5364,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getDiscriminatorType()
* @generated
*/
- public static final int DISCRIMINATOR_TYPE = 85;
+ public static final int DISCRIMINATOR_TYPE = 87;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.EnumType <em>Enum Type</em>}' enum.
@@ -5255,7 +5374,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getEnumType()
* @generated
*/
- public static final int ENUM_TYPE = 86;
+ public static final int ENUM_TYPE = 88;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.FetchType <em>Fetch Type</em>}' enum.
@@ -5265,7 +5384,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getFetchType()
* @generated
*/
- public static final int FETCH_TYPE = 87;
+ public static final int FETCH_TYPE = 89;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.GenerationType <em>Generation Type</em>}' enum.
@@ -5275,7 +5394,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getGenerationType()
* @generated
*/
- public static final int GENERATION_TYPE = 88;
+ public static final int GENERATION_TYPE = 90;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.InheritanceType <em>Inheritance Type</em>}' enum.
@@ -5285,7 +5404,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getInheritanceType()
* @generated
*/
- public static final int INHERITANCE_TYPE = 89;
+ public static final int INHERITANCE_TYPE = 91;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.resource.orm.TemporalType <em>Temporal Type</em>}' enum.
@@ -5295,7 +5414,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getTemporalType()
* @generated
*/
- public static final int TEMPORAL_TYPE = 90;
+ public static final int TEMPORAL_TYPE = 92;
/**
* The meta object id for the '<em>Discriminator Value</em>' data type.
@@ -5305,7 +5424,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getDiscriminatorValue()
* @generated
*/
- public static final int DISCRIMINATOR_VALUE = 91;
+ public static final int DISCRIMINATOR_VALUE = 93;
/**
* The meta object id for the '<em>Enumerated</em>' data type.
@@ -5315,7 +5434,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getEnumerated()
* @generated
*/
- public static final int ENUMERATED = 92;
+ public static final int ENUMERATED = 94;
/**
* The meta object id for the '<em>Order By</em>' data type.
@@ -5325,7 +5444,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getOrderBy()
* @generated
*/
- public static final int ORDER_BY = 93;
+ public static final int ORDER_BY = 95;
/**
* The meta object id for the '<em>Version Type</em>' data type.
@@ -5335,7 +5454,7 @@
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getVersionType()
* @generated
*/
- public static final int VERSION_TYPE = 94;
+ public static final int VERSION_TYPE = 96;
/**
* <!-- begin-user-doc -->
@@ -5622,6 +5741,13 @@
* <!-- end-user-doc -->
* @generated
*/
+ private EClass abstractXmlNamedColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EClass xmlAbstractColumnEClass = null;
/**
@@ -5629,6 +5755,13 @@
* <!-- end-user-doc -->
* @generated
*/
+ private EClass abstractXmlAbstractColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EClass xmlColumnEClass = null;
/**
@@ -8279,6 +8412,20 @@
/**
+ * Returns the meta object for class '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlNamedColumn <em>Abstract Xml Named Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Named Column</em>'.
+ * @see org.eclipse.jpt.core.resource.orm.AbstractXmlNamedColumn
+ * @generated
+ */
+ public EClass getAbstractXmlNamedColumn()
+ {
+ return abstractXmlNamedColumnEClass;
+ }
+
+
+ /**
* Returns the meta object for class '{@link org.eclipse.jpt.core.resource.orm.XmlAbstractColumn <em>Xml Abstract Column</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -8368,6 +8515,20 @@
/**
+ * Returns the meta object for class '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlAbstractColumn <em>Abstract Xml Abstract Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Xml Abstract Column</em>'.
+ * @see org.eclipse.jpt.core.resource.orm.AbstractXmlAbstractColumn
+ * @generated
+ */
+ public EClass getAbstractXmlAbstractColumn()
+ {
+ return abstractXmlAbstractColumnEClass;
+ }
+
+
+ /**
* Returns the meta object for class '{@link org.eclipse.jpt.core.resource.orm.XmlColumn <em>Xml Column</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -10153,6 +10314,8 @@
createEAttribute(xmlNamedColumnEClass, XML_NAMED_COLUMN__COLUMN_DEFINITION);
createEAttribute(xmlNamedColumnEClass, XML_NAMED_COLUMN__NAME);
+ abstractXmlNamedColumnEClass = createEClass(ABSTRACT_XML_NAMED_COLUMN);
+
xmlAbstractColumnEClass = createEClass(XML_ABSTRACT_COLUMN);
createEAttribute(xmlAbstractColumnEClass, XML_ABSTRACT_COLUMN__INSERTABLE);
createEAttribute(xmlAbstractColumnEClass, XML_ABSTRACT_COLUMN__NULLABLE);
@@ -10160,6 +10323,8 @@
createEAttribute(xmlAbstractColumnEClass, XML_ABSTRACT_COLUMN__UNIQUE);
createEAttribute(xmlAbstractColumnEClass, XML_ABSTRACT_COLUMN__UPDATABLE);
+ abstractXmlAbstractColumnEClass = createEClass(ABSTRACT_XML_ABSTRACT_COLUMN);
+
xmlColumnEClass = createEClass(XML_COLUMN);
createEAttribute(xmlColumnEClass, XML_COLUMN__LENGTH);
createEAttribute(xmlColumnEClass, XML_COLUMN__PRECISION);
@@ -10393,12 +10558,17 @@
transientImplEClass.getESuperTypes().add(this.getXmlTransient());
attributeOverrideImplEClass.getESuperTypes().add(this.getXmlAttributeOverride());
cascadeTypeImplEClass.getESuperTypes().add(this.getCascadeType());
+ abstractXmlNamedColumnEClass.getESuperTypes().add(this.getXmlNamedColumn());
xmlAbstractColumnEClass.getESuperTypes().add(this.getXmlNamedColumn());
+ abstractXmlAbstractColumnEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn());
+ abstractXmlAbstractColumnEClass.getESuperTypes().add(this.getXmlAbstractColumn());
xmlColumnEClass.getESuperTypes().add(this.getXmlAbstractColumn());
+ columnImplEClass.getESuperTypes().add(this.getAbstractXmlAbstractColumn());
columnImplEClass.getESuperTypes().add(this.getXmlColumn());
- xmlDiscriminatorColumnEClass.getESuperTypes().add(this.getXmlNamedColumn());
+ xmlDiscriminatorColumnEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn());
generatedValueImplEClass.getESuperTypes().add(this.getXmlGeneratedValue());
xmlJoinColumnEClass.getESuperTypes().add(this.getXmlAbstractColumn());
+ joinColumnImplEClass.getESuperTypes().add(this.getAbstractXmlAbstractColumn());
joinColumnImplEClass.getESuperTypes().add(this.getXmlJoinColumn());
xmlJoinTableEClass.getESuperTypes().add(this.getXmlBaseTable());
joinTableImplEClass.getESuperTypes().add(this.getAbstractXmlBaseTable());
@@ -10413,7 +10583,7 @@
prePersistEClass.getESuperTypes().add(this.getEventMethod());
preRemoveEClass.getESuperTypes().add(this.getEventMethod());
preUpdateEClass.getESuperTypes().add(this.getEventMethod());
- xmlPrimaryKeyJoinColumnEClass.getESuperTypes().add(this.getXmlNamedColumn());
+ xmlPrimaryKeyJoinColumnEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn());
abstractXmlBaseTableEClass.getESuperTypes().add(this.getXmlBaseTable());
xmlTableEClass.getESuperTypes().add(this.getAbstractXmlBaseTable());
xmlSecondaryTableEClass.getESuperTypes().add(this.getAbstractXmlBaseTable());
@@ -10613,6 +10783,8 @@
initEAttribute(getXmlNamedColumn_ColumnDefinition(), theXMLTypePackage.getString(), "columnDefinition", null, 0, 1, XmlNamedColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getXmlNamedColumn_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, XmlNamedColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(abstractXmlNamedColumnEClass, AbstractXmlNamedColumn.class, "AbstractXmlNamedColumn", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
initEClass(xmlAbstractColumnEClass, XmlAbstractColumn.class, "XmlAbstractColumn", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getXmlAbstractColumn_Insertable(), theXMLTypePackage.getBooleanObject(), "insertable", null, 0, 1, XmlAbstractColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getXmlAbstractColumn_Nullable(), theXMLTypePackage.getBooleanObject(), "nullable", null, 0, 1, XmlAbstractColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -10620,6 +10792,8 @@
initEAttribute(getXmlAbstractColumn_Unique(), theXMLTypePackage.getBooleanObject(), "unique", null, 0, 1, XmlAbstractColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getXmlAbstractColumn_Updatable(), theXMLTypePackage.getBooleanObject(), "updatable", null, 0, 1, XmlAbstractColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(abstractXmlAbstractColumnEClass, AbstractXmlAbstractColumn.class, "AbstractXmlAbstractColumn", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
initEClass(xmlColumnEClass, XmlColumn.class, "XmlColumn", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getXmlColumn_Length(), theXMLTypePackage.getIntObject(), "length", null, 0, 1, XmlColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getXmlColumn_Precision(), theXMLTypePackage.getIntObject(), "precision", null, 0, 1, XmlColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -12102,6 +12276,16 @@
public static final EAttribute XML_NAMED_COLUMN__NAME = eINSTANCE.getXmlNamedColumn_Name();
/**
+ * The meta object literal for the '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlNamedColumn <em>Abstract Xml Named Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.core.resource.orm.AbstractXmlNamedColumn
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getAbstractXmlNamedColumn()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_NAMED_COLUMN = eINSTANCE.getAbstractXmlNamedColumn();
+
+ /**
* The meta object literal for the '{@link org.eclipse.jpt.core.resource.orm.XmlAbstractColumn <em>Xml Abstract Column</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -12152,6 +12336,16 @@
public static final EAttribute XML_ABSTRACT_COLUMN__UPDATABLE = eINSTANCE.getXmlAbstractColumn_Updatable();
/**
+ * The meta object literal for the '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlAbstractColumn <em>Abstract Xml Abstract Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.core.resource.orm.AbstractXmlAbstractColumn
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getAbstractXmlAbstractColumn()
+ * @generated
+ */
+ public static final EClass ABSTRACT_XML_ABSTRACT_COLUMN = eINSTANCE.getAbstractXmlAbstractColumn();
+
+ /**
* The meta object literal for the '{@link org.eclipse.jpt.core.resource.orm.XmlColumn <em>Xml Column</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlAbstractColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlAbstractColumn.java
index 1f02f8e..cc9b717 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlAbstractColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlAbstractColumn.java
@@ -9,6 +9,8 @@
******************************************************************************/
package org.eclipse.jpt.core.resource.orm;
+import org.eclipse.jpt.core.TextRange;
+
/**
* <!-- begin-user-doc -->
@@ -167,5 +169,11 @@
* @generated
*/
void setUpdatable(Boolean value);
+
+ /**
+ * Return the {@link TextRange} for the table attibute. If the table attibute
+ * does not exist return the {@link TextRange} for the *table element.
+ */
+ TextRange tableTextRange();
} // AbstractColumn
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlDiscriminatorColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlDiscriminatorColumn.java
index 21ee8aa..3f4cd01 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlDiscriminatorColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlDiscriminatorColumn.java
@@ -12,7 +12,6 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
/**
* <!-- begin-user-doc -->
@@ -37,49 +36,9 @@
* @model kind="class"
* @generated
*/
-public class XmlDiscriminatorColumn extends AbstractJpaEObject implements XmlNamedColumn
+public class XmlDiscriminatorColumn extends AbstractXmlNamedColumn
{
/**
- * The default value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getColumnDefinition()
- * @generated
- * @ordered
- */
- protected static final String COLUMN_DEFINITION_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getColumnDefinition()
- * @generated
- * @ordered
- */
- protected String columnDefinition = COLUMN_DEFINITION_EDEFAULT;
-
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
* changed this to null and removed the generated flag so emf won't generate over it
* we don't want a default for enums, just null if the tag does not exist
*/
@@ -137,41 +96,6 @@
}
/**
- * Returns the value of the '<em><b>Column Definition</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Column Definition</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Column Definition</em>' attribute.
- * @see #setColumnDefinition(String)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlNamedColumn_ColumnDefinition()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
- * @generated
- */
- public String getColumnDefinition()
- {
- return columnDefinition;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.XmlDiscriminatorColumn#getColumnDefinition <em>Column Definition</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Column Definition</em>' attribute.
- * @see #getColumnDefinition()
- * @generated
- */
- public void setColumnDefinition(String newColumnDefinition)
- {
- String oldColumnDefinition = columnDefinition;
- columnDefinition = newColumnDefinition;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_DISCRIMINATOR_COLUMN__COLUMN_DEFINITION, oldColumnDefinition, columnDefinition));
- }
-
- /**
* Returns the value of the '<em><b>Discriminator Type</b></em>' attribute.
* The default value is <code>"STRING"</code>.
* The literals are from the enumeration {@link org.eclipse.jpt.core.resource.orm.DiscriminatorType}.
@@ -246,41 +170,6 @@
}
/**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlNamedColumn_Name()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
- * @generated
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.XmlDiscriminatorColumn#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- public void setName(String newName)
- {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_DISCRIMINATOR_COLUMN__NAME, oldName, name));
- }
-
- /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -290,10 +179,6 @@
{
switch (featureID)
{
- case OrmPackage.XML_DISCRIMINATOR_COLUMN__COLUMN_DEFINITION:
- return getColumnDefinition();
- case OrmPackage.XML_DISCRIMINATOR_COLUMN__NAME:
- return getName();
case OrmPackage.XML_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
return getDiscriminatorType();
case OrmPackage.XML_DISCRIMINATOR_COLUMN__LENGTH:
@@ -312,12 +197,6 @@
{
switch (featureID)
{
- case OrmPackage.XML_DISCRIMINATOR_COLUMN__COLUMN_DEFINITION:
- setColumnDefinition((String)newValue);
- return;
- case OrmPackage.XML_DISCRIMINATOR_COLUMN__NAME:
- setName((String)newValue);
- return;
case OrmPackage.XML_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
setDiscriminatorType((DiscriminatorType)newValue);
return;
@@ -338,12 +217,6 @@
{
switch (featureID)
{
- case OrmPackage.XML_DISCRIMINATOR_COLUMN__COLUMN_DEFINITION:
- setColumnDefinition(COLUMN_DEFINITION_EDEFAULT);
- return;
- case OrmPackage.XML_DISCRIMINATOR_COLUMN__NAME:
- setName(NAME_EDEFAULT);
- return;
case OrmPackage.XML_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
setDiscriminatorType(DISCRIMINATOR_TYPE_EDEFAULT);
return;
@@ -364,10 +237,6 @@
{
switch (featureID)
{
- case OrmPackage.XML_DISCRIMINATOR_COLUMN__COLUMN_DEFINITION:
- return COLUMN_DEFINITION_EDEFAULT == null ? columnDefinition != null : !COLUMN_DEFINITION_EDEFAULT.equals(columnDefinition);
- case OrmPackage.XML_DISCRIMINATOR_COLUMN__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case OrmPackage.XML_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
return discriminatorType != DISCRIMINATOR_TYPE_EDEFAULT;
case OrmPackage.XML_DISCRIMINATOR_COLUMN__LENGTH:
@@ -387,11 +256,7 @@
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
- result.append(" (columnDefinition: ");
- result.append(columnDefinition);
- result.append(", name: ");
- result.append(name);
- result.append(", discriminatorType: ");
+ result.append(" (discriminatorType: ");
result.append(discriminatorType);
result.append(", length: ");
result.append(length);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlJoinColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlJoinColumn.java
index c76e6dc..e01285c 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlJoinColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlJoinColumn.java
@@ -9,6 +9,8 @@
******************************************************************************/
package org.eclipse.jpt.core.resource.orm;
+import org.eclipse.jpt.core.TextRange;
+
/**
* <!-- begin-user-doc -->
@@ -59,5 +61,7 @@
* @generated
*/
void setReferencedColumnName(String value);
+
+ TextRange referencedColumnNameTextRange();
} // JoinColumn
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlNamedColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlNamedColumn.java
index 243cbc1..0f9c44a 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlNamedColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlNamedColumn.java
@@ -9,6 +9,7 @@
******************************************************************************/
package org.eclipse.jpt.core.resource.orm;
+import org.eclipse.jpt.core.TextRange;
import org.eclipse.jpt.core.resource.common.JpaEObject;
/**
@@ -89,4 +90,10 @@
*/
void setName(String value);
+ /**
+ * Return the {@link TextRange} for the name attibute. If the name attibute
+ * does not exist return the {@link TextRange} for the *table element.
+ */
+ TextRange nameTextRange();
+
} // NamedColumn
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlPrimaryKeyJoinColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlPrimaryKeyJoinColumn.java
index 80b0a07..440d4d1 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlPrimaryKeyJoinColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlPrimaryKeyJoinColumn.java
@@ -12,7 +12,10 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.jpt.core.resource.common.AbstractJpaEObject;
+import org.eclipse.jpt.core.TextRange;
+import org.eclipse.jpt.core.internal.emfutility.DOMUtilities;
+import org.eclipse.jpt.core.internal.resource.orm.translators.OrmXmlMapper;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
/**
* <!-- begin-user-doc -->
@@ -36,49 +39,9 @@
* @model kind="class"
* @generated
*/
-public class XmlPrimaryKeyJoinColumn extends AbstractJpaEObject implements XmlNamedColumn
+public class XmlPrimaryKeyJoinColumn extends AbstractXmlNamedColumn
{
/**
- * The default value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getColumnDefinition()
- * @generated
- * @ordered
- */
- protected static final String COLUMN_DEFINITION_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getColumnDefinition()
- * @generated
- * @ordered
- */
- protected String columnDefinition = COLUMN_DEFINITION_EDEFAULT;
-
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
* The default value of the '{@link #getReferencedColumnName() <em>Referenced Column Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -120,41 +83,6 @@
}
/**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlNamedColumn_Name()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
- * @generated
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.XmlPrimaryKeyJoinColumn#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- public void setName(String newName)
- {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__NAME, oldName, name));
- }
-
- /**
* Returns the value of the '<em><b>Referenced Column Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
@@ -190,41 +118,6 @@
}
/**
- * Returns the value of the '<em><b>Column Definition</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Column Definition</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Column Definition</em>' attribute.
- * @see #setColumnDefinition(String)
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlNamedColumn_ColumnDefinition()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
- * @generated
- */
- public String getColumnDefinition()
- {
- return columnDefinition;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.XmlPrimaryKeyJoinColumn#getColumnDefinition <em>Column Definition</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Column Definition</em>' attribute.
- * @see #getColumnDefinition()
- * @generated
- */
- public void setColumnDefinition(String newColumnDefinition)
- {
- String oldColumnDefinition = columnDefinition;
- columnDefinition = newColumnDefinition;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION, oldColumnDefinition, columnDefinition));
- }
-
- /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -234,10 +127,6 @@
{
switch (featureID)
{
- case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION:
- return getColumnDefinition();
- case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__NAME:
- return getName();
case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
return getReferencedColumnName();
}
@@ -254,12 +143,6 @@
{
switch (featureID)
{
- case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION:
- setColumnDefinition((String)newValue);
- return;
- case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__NAME:
- setName((String)newValue);
- return;
case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
setReferencedColumnName((String)newValue);
return;
@@ -277,12 +160,6 @@
{
switch (featureID)
{
- case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION:
- setColumnDefinition(COLUMN_DEFINITION_EDEFAULT);
- return;
- case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__NAME:
- setName(NAME_EDEFAULT);
- return;
case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
setReferencedColumnName(REFERENCED_COLUMN_NAME_EDEFAULT);
return;
@@ -300,10 +177,6 @@
{
switch (featureID)
{
- case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION:
- return COLUMN_DEFINITION_EDEFAULT == null ? columnDefinition != null : !COLUMN_DEFINITION_EDEFAULT.equals(columnDefinition);
- case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
return REFERENCED_COLUMN_NAME_EDEFAULT == null ? referencedColumnName != null : !REFERENCED_COLUMN_NAME_EDEFAULT.equals(referencedColumnName);
}
@@ -321,14 +194,16 @@
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
- result.append(" (columnDefinition: ");
- result.append(columnDefinition);
- result.append(", name: ");
- result.append(name);
- result.append(", referencedColumnName: ");
+ result.append(" (referencedColumnName: ");
result.append(referencedColumnName);
result.append(')');
return result.toString();
}
+
+ public TextRange referencedColumnNameTextRange() {
+ IDOMNode referencedColumnNameNode = (IDOMNode) DOMUtilities.getChildAttributeNode(this.node, OrmXmlMapper.REFERENCED_COLUMN_NAME);
+ return (referencedColumnNameNode == null) ? validationTextRange() : buildTextRange(referencedColumnNameNode);
+ }
+
} // PrimaryKeyJoinColumn