Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTypeMapping.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTypeMapping.java244
1 files changed, 58 insertions, 186 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTypeMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTypeMapping.java
index 5f8d393c8e..4bbca77034 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTypeMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTypeMapping.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2012 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2013 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.
@@ -14,10 +14,7 @@ import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.text.edits.ReplaceEdit;
import org.eclipse.wst.common.internal.emf.resource.Translator;
/**
@@ -36,7 +33,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* @model kind="class" abstract="true"
* @generated
*/
-public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements XmlTypeMapping
+public abstract class AbstractXmlTypeMapping extends AbstractXmlManagedType implements XmlTypeMapping
{
/**
@@ -60,26 +57,6 @@ public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements
protected String access = ACCESS_EDEFAULT;
/**
- * The default value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getClassName()
- * @generated
- * @ordered
- */
- protected static final String CLASS_NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getClassName()
- * @generated
- * @ordered
- */
- protected String className = CLASS_NAME_EDEFAULT;
-
- /**
* The default value of the '{@link #getMetadataComplete() <em>Metadata Complete</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -100,26 +77,6 @@ public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements
protected Boolean metadataComplete = METADATA_COMPLETE_EDEFAULT;
/**
- * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDescription()
- * @generated
- * @ordered
- */
- protected static final String DESCRIPTION_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDescription()
- * @generated
- * @ordered
- */
- protected String description = DESCRIPTION_EDEFAULT;
-
- /**
* The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -151,41 +108,6 @@ public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements
}
/**
- * Returns the value of the '<em><b>Class Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Class Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Class Name</em>' attribute.
- * @see #setClassName(String)
- * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_ClassName()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
- * @generated
- */
- public String getClassName()
- {
- return className;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping#getClassName <em>Class Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Class Name</em>' attribute.
- * @see #getClassName()
- * @generated
- */
- public void setClassName(String newClassName)
- {
- String oldClassName = className;
- className = newClassName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME, oldClassName, className));
- }
-
- /**
* Returns the value of the '<em><b>Access</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
@@ -256,41 +178,6 @@ public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements
}
/**
- * Returns the value of the '<em><b>Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Description</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Description</em>' attribute.
- * @see #setDescription(String)
- * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_Description()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
- * @generated
- */
- public String getDescription()
- {
- return description;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping#getDescription <em>Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Description</em>' attribute.
- * @see #getDescription()
- * @generated
- */
- public void setDescription(String newDescription)
- {
- String oldDescription = description;
- description = newDescription;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION, oldDescription, description));
- }
-
- /**
* Returns the value of the '<em><b>Attributes</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
@@ -378,12 +265,8 @@ public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements
{
case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS:
return getAccess();
- case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME:
- return getClassName();
case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE:
return getMetadataComplete();
- case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION:
- return getDescription();
case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES:
return getAttributes();
}
@@ -403,15 +286,9 @@ public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements
case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS:
setAccess((String)newValue);
return;
- case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME:
- setClassName((String)newValue);
- return;
case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE:
setMetadataComplete((Boolean)newValue);
return;
- case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION:
- setDescription((String)newValue);
- return;
case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES:
setAttributes((Attributes)newValue);
return;
@@ -432,15 +309,9 @@ public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements
case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS:
setAccess(ACCESS_EDEFAULT);
return;
- case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME:
- setClassName(CLASS_NAME_EDEFAULT);
- return;
case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE:
setMetadataComplete(METADATA_COMPLETE_EDEFAULT);
return;
- case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION:
- setDescription(DESCRIPTION_EDEFAULT);
- return;
case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES:
setAttributes((Attributes)null);
return;
@@ -460,12 +331,8 @@ public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements
{
case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS:
return ACCESS_EDEFAULT == null ? access != null : !ACCESS_EDEFAULT.equals(access);
- case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME:
- return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE:
return METADATA_COMPLETE_EDEFAULT == null ? metadataComplete != null : !METADATA_COMPLETE_EDEFAULT.equals(metadataComplete);
- case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION:
- return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES:
return attributes != null;
}
@@ -478,6 +345,62 @@ public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements
* @generated
*/
@Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlAccessHolder.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS: return OrmPackage.XML_ACCESS_HOLDER__ACCESS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlTypeMapping.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE: return OrmPackage.XML_TYPE_MAPPING__METADATA_COMPLETE;
+ case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES: return OrmPackage.XML_TYPE_MAPPING__ATTRIBUTES;
+ 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 == XmlAccessHolder.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ACCESS_HOLDER__ACCESS: return OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS;
+ default: return -1;
+ }
+ }
+ if (baseClass == XmlTypeMapping.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_TYPE_MAPPING__METADATA_COMPLETE: return OrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE;
+ case OrmPackage.XML_TYPE_MAPPING__ATTRIBUTES: return OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public String toString()
{
if (eIsProxy()) return super.toString();
@@ -485,21 +408,13 @@ public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements
StringBuffer result = new StringBuffer(super.toString());
result.append(" (access: ");
result.append(access);
- result.append(", className: ");
- result.append(className);
result.append(", metadataComplete: ");
result.append(metadataComplete);
- result.append(", description: ");
- result.append(description);
result.append(')');
return result.toString();
}
- public TextRange getClassTextRange() {
- return getAttributeTextRange(JPA.CLASS);
- }
-
public TextRange getAttributesTextRange() {
return getAttributeTextRange(JPA.ATTRIBUTES);
}
@@ -510,18 +425,10 @@ public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements
// ********** translators **********
- protected static Translator buildClassTranslator() {
- return new Translator(JPA.CLASS, OrmPackage.eINSTANCE.getXmlTypeMapping_ClassName(), Translator.DOM_ATTRIBUTE);
- }
-
protected static Translator buildMetadataCompleteTranslator() {
return new Translator(JPA.METADATA_COMPLETE, OrmPackage.eINSTANCE.getXmlTypeMapping_MetadataComplete(), Translator.DOM_ATTRIBUTE);
}
- protected static Translator buildDescriptionTranslator() {
- return new Translator(JPA.DESCRIPTION, OrmPackage.eINSTANCE.getXmlTypeMapping_Description());
- }
-
protected static Translator buildAttributesTranslator() {
return Attributes.buildTranslator();
}
@@ -530,39 +437,4 @@ public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements
return new Translator(JPA.ACCESS, OrmPackage.eINSTANCE.getXmlAccessHolder_Access(), Translator.DOM_ATTRIBUTE);
}
-
- // ********** refactoring **********
-
- public ReplaceEdit createRenameTypeEdit(IType originalType, String newName) {
- String originalName = originalType.getTypeQualifiedName();
- int nameIndex = this.className.lastIndexOf(originalName);
- int offset = getAttributeNode(JPA.CLASS).getValueRegionStartOffset() + 1; // +1 = opening double quote
- return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
- }
-
- public ReplaceEdit createRenamePackageEdit(String newPackageName) {
- int packageLength = this.className.lastIndexOf('.');
- if (newPackageName == "") {//$NON-NLS-1$
- //moving to the default package, remove the '.'
- packageLength++;
- }
- if (packageLength == -1) {
- //moving from the default package or unspecified package
- packageLength = 0;
- newPackageName = newPackageName + '.';
- }
- int offset = getAttributeNode(JPA.CLASS).getValueRegionStartOffset() + 1; // +1 = opening double quote
- return new ReplaceEdit(offset, packageLength, newPackageName);
- }
-
- // *********** content assist ************
-
- protected TextRange getClassNameCodeAssistTextRange() {
- return getAttributeCodeAssistTextRange(JPA.CLASS);
- }
-
- public boolean classNameTouches(int pos) {
- TextRange textRange = this.getClassNameCodeAssistTextRange();
- return (textRange != null) && (textRange.touches(pos));
- }
} // TypeMapping

Back to the top