| /******************************************************************************* |
| * Copyright (c) 2007, 2009 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.common.notify.NotificationChain; |
| import org.eclipse.emf.ecore.EClass; |
| import org.eclipse.emf.ecore.EStructuralFeature; |
| import org.eclipse.emf.ecore.InternalEObject; |
| import org.eclipse.emf.ecore.impl.ENotificationImpl; |
| import org.eclipse.jpt.core.MappingKeys; |
| import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator; |
| import org.eclipse.jpt.core.utility.TextRange; |
| import org.eclipse.wst.common.internal.emf.resource.Translator; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * A representation of the model object '<em><b>Id</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 --> |
| * |
| * <p> |
| * The following features are supported: |
| * <ul> |
| * <li>{@link org.eclipse.jpt.core.resource.orm.XmlId#getGeneratedValue <em>Generated Value</em>}</li> |
| * </ul> |
| * </p> |
| * |
| * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlId() |
| * @model kind="class" |
| * @generated |
| */ |
| public class XmlId extends AbstractXmlAttributeMapping implements ColumnMapping, XmlConvertibleMapping, XmlGeneratorContainer |
| { |
| /** |
| * The cached value of the '{@link #getColumn() <em>Column</em>}' containment reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getColumn() |
| * @generated |
| * @ordered |
| */ |
| protected XmlColumn column; |
| /** |
| * The default value of the '{@link #isLob() <em>Lob</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #isLob() |
| * @generated |
| * @ordered |
| */ |
| protected static final boolean LOB_EDEFAULT = false; |
| /** |
| * The cached value of the '{@link #isLob() <em>Lob</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #isLob() |
| * @generated |
| * @ordered |
| */ |
| protected boolean lob = LOB_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 |
| */ |
| protected static final TemporalType TEMPORAL_EDEFAULT = null; |
| |
| /** |
| * The cached value of the '{@link #getTemporal() <em>Temporal</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getTemporal() |
| * @generated |
| * @ordered |
| */ |
| protected TemporalType temporal = TEMPORAL_EDEFAULT; |
| /** |
| * The default value of the '{@link #getEnumerated() <em>Enumerated</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getEnumerated() |
| * @generated |
| * @ordered |
| */ |
| protected static final EnumType ENUMERATED_EDEFAULT = EnumType.ORDINAL; |
| /** |
| * The cached value of the '{@link #getEnumerated() <em>Enumerated</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getEnumerated() |
| * @generated |
| * @ordered |
| */ |
| protected EnumType enumerated = ENUMERATED_EDEFAULT; |
| /** |
| * The cached value of the '{@link #getSequenceGenerator() <em>Sequence Generator</em>}' containment reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getSequenceGenerator() |
| * @generated |
| * @ordered |
| */ |
| protected XmlSequenceGenerator sequenceGenerator; |
| /** |
| * The cached value of the '{@link #getTableGenerator() <em>Table Generator</em>}' containment reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getTableGenerator() |
| * @generated |
| * @ordered |
| */ |
| protected XmlTableGenerator tableGenerator; |
| /** |
| * The cached value of the '{@link #getGeneratedValue() <em>Generated Value</em>}' containment reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getGeneratedValue() |
| * @generated |
| * @ordered |
| */ |
| protected XmlGeneratedValue generatedValue; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| protected XmlId() |
| { |
| super(); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| protected EClass eStaticClass() |
| { |
| return OrmPackage.Literals.XML_ID; |
| } |
| |
| /** |
| * Returns the value of the '<em><b>Column</b></em>' containment reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Column</em>' containment reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Column</em>' containment reference. |
| * @see #setColumn(XmlColumn) |
| * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getColumnMapping_Column() |
| * @model containment="true" |
| * @generated |
| */ |
| public XmlColumn getColumn() |
| { |
| return column; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public NotificationChain basicSetColumn(XmlColumn newColumn, NotificationChain msgs) |
| { |
| XmlColumn oldColumn = column; |
| column = newColumn; |
| if (eNotificationRequired()) |
| { |
| ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__COLUMN, oldColumn, newColumn); |
| if (msgs == null) msgs = notification; else msgs.add(notification); |
| } |
| return msgs; |
| } |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.XmlId#getColumn <em>Column</em>}' containment reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Column</em>' containment reference. |
| * @see #getColumn() |
| * @generated |
| */ |
| public void setColumn(XmlColumn newColumn) |
| { |
| if (newColumn != column) |
| { |
| NotificationChain msgs = null; |
| if (column != null) |
| msgs = ((InternalEObject)column).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__COLUMN, null, msgs); |
| if (newColumn != null) |
| msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__COLUMN, null, msgs); |
| msgs = basicSetColumn(newColumn, msgs); |
| if (msgs != null) msgs.dispatch(); |
| } |
| else if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__COLUMN, newColumn, newColumn)); |
| } |
| |
| /** |
| * Returns the value of the '<em><b>Lob</b></em>' attribute. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Lob</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Lob</em>' attribute. |
| * @see #setLob(boolean) |
| * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Lob() |
| * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" |
| * @generated |
| */ |
| public boolean isLob() |
| { |
| return lob; |
| } |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.XmlId#isLob <em>Lob</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Lob</em>' attribute. |
| * @see #isLob() |
| * @generated |
| */ |
| public void setLob(boolean newLob) |
| { |
| boolean oldLob = lob; |
| lob = newLob; |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__LOB, oldLob, lob)); |
| } |
| |
| /** |
| * Returns the value of the '<em><b>Temporal</b></em>' attribute. |
| * The literals are from the enumeration {@link org.eclipse.jpt.core.resource.orm.TemporalType}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Temporal</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Temporal</em>' attribute. |
| * @see org.eclipse.jpt.core.resource.orm.TemporalType |
| * @see #setTemporal(TemporalType) |
| * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Temporal() |
| * @model |
| * @generated |
| */ |
| public TemporalType getTemporal() |
| { |
| return temporal; |
| } |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.XmlId#getTemporal <em>Temporal</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Temporal</em>' attribute. |
| * @see org.eclipse.jpt.core.resource.orm.TemporalType |
| * @see #getTemporal() |
| * @generated |
| */ |
| public void setTemporal(TemporalType newTemporal) |
| { |
| TemporalType oldTemporal = temporal; |
| temporal = newTemporal == null ? TEMPORAL_EDEFAULT : newTemporal; |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__TEMPORAL, oldTemporal, temporal)); |
| } |
| |
| /** |
| * Returns the value of the '<em><b>Enumerated</b></em>' attribute. |
| * The literals are from the enumeration {@link org.eclipse.jpt.core.resource.orm.EnumType}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Enumerated</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Enumerated</em>' attribute. |
| * @see org.eclipse.jpt.core.resource.orm.EnumType |
| * @see #setEnumerated(EnumType) |
| * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Enumerated() |
| * @model |
| * @generated |
| */ |
| public EnumType getEnumerated() |
| { |
| return enumerated; |
| } |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.XmlId#getEnumerated <em>Enumerated</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Enumerated</em>' attribute. |
| * @see org.eclipse.jpt.core.resource.orm.EnumType |
| * @see #getEnumerated() |
| * @generated |
| */ |
| public void setEnumerated(EnumType newEnumerated) |
| { |
| EnumType oldEnumerated = enumerated; |
| enumerated = newEnumerated == null ? ENUMERATED_EDEFAULT : newEnumerated; |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__ENUMERATED, oldEnumerated, enumerated)); |
| } |
| |
| /** |
| * Returns the value of the '<em><b>Generated Value</b></em>' containment reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Generated Value</em>' containment reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Generated Value</em>' containment reference. |
| * @see #setGeneratedValue(XmlGeneratedValue) |
| * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlId_GeneratedValue() |
| * @model containment="true" |
| * @generated |
| */ |
| public XmlGeneratedValue getGeneratedValue() |
| { |
| return generatedValue; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public NotificationChain basicSetGeneratedValue(XmlGeneratedValue newGeneratedValue, NotificationChain msgs) |
| { |
| XmlGeneratedValue oldGeneratedValue = generatedValue; |
| generatedValue = newGeneratedValue; |
| if (eNotificationRequired()) |
| { |
| ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__GENERATED_VALUE, oldGeneratedValue, newGeneratedValue); |
| if (msgs == null) msgs = notification; else msgs.add(notification); |
| } |
| return msgs; |
| } |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.XmlId#getGeneratedValue <em>Generated Value</em>}' containment reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Generated Value</em>' containment reference. |
| * @see #getGeneratedValue() |
| * @generated |
| */ |
| public void setGeneratedValue(XmlGeneratedValue newGeneratedValue) |
| { |
| if (newGeneratedValue != generatedValue) |
| { |
| NotificationChain msgs = null; |
| if (generatedValue != null) |
| msgs = ((InternalEObject)generatedValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__GENERATED_VALUE, null, msgs); |
| if (newGeneratedValue != null) |
| msgs = ((InternalEObject)newGeneratedValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__GENERATED_VALUE, null, msgs); |
| msgs = basicSetGeneratedValue(newGeneratedValue, msgs); |
| if (msgs != null) msgs.dispatch(); |
| } |
| else if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__GENERATED_VALUE, newGeneratedValue, newGeneratedValue)); |
| } |
| |
| /** |
| * Returns the value of the '<em><b>Table Generator</b></em>' containment reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Table Generator</em>' containment reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Table Generator</em>' containment reference. |
| * @see #setTableGenerator(XmlTableGenerator) |
| * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlGeneratorContainer_TableGenerator() |
| * @model containment="true" |
| * @generated |
| */ |
| public XmlTableGenerator getTableGenerator() |
| { |
| return tableGenerator; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public NotificationChain basicSetTableGenerator(XmlTableGenerator newTableGenerator, NotificationChain msgs) |
| { |
| XmlTableGenerator oldTableGenerator = tableGenerator; |
| tableGenerator = newTableGenerator; |
| if (eNotificationRequired()) |
| { |
| ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__TABLE_GENERATOR, oldTableGenerator, newTableGenerator); |
| if (msgs == null) msgs = notification; else msgs.add(notification); |
| } |
| return msgs; |
| } |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.XmlId#getTableGenerator <em>Table Generator</em>}' containment reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Table Generator</em>' containment reference. |
| * @see #getTableGenerator() |
| * @generated |
| */ |
| public void setTableGenerator(XmlTableGenerator newTableGenerator) |
| { |
| if (newTableGenerator != tableGenerator) |
| { |
| NotificationChain msgs = null; |
| if (tableGenerator != null) |
| msgs = ((InternalEObject)tableGenerator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__TABLE_GENERATOR, null, msgs); |
| if (newTableGenerator != null) |
| msgs = ((InternalEObject)newTableGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__TABLE_GENERATOR, null, msgs); |
| msgs = basicSetTableGenerator(newTableGenerator, msgs); |
| if (msgs != null) msgs.dispatch(); |
| } |
| else if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__TABLE_GENERATOR, newTableGenerator, newTableGenerator)); |
| } |
| |
| /** |
| * Returns the value of the '<em><b>Sequence Generator</b></em>' containment reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Sequence Generator</em>' containment reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Sequence Generator</em>' containment reference. |
| * @see #setSequenceGenerator(XmlSequenceGenerator) |
| * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlGeneratorContainer_SequenceGenerator() |
| * @model containment="true" |
| * @generated |
| */ |
| public XmlSequenceGenerator getSequenceGenerator() |
| { |
| return sequenceGenerator; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public NotificationChain basicSetSequenceGenerator(XmlSequenceGenerator newSequenceGenerator, NotificationChain msgs) |
| { |
| XmlSequenceGenerator oldSequenceGenerator = sequenceGenerator; |
| sequenceGenerator = newSequenceGenerator; |
| if (eNotificationRequired()) |
| { |
| ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__SEQUENCE_GENERATOR, oldSequenceGenerator, newSequenceGenerator); |
| if (msgs == null) msgs = notification; else msgs.add(notification); |
| } |
| return msgs; |
| } |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.jpt.core.resource.orm.XmlId#getSequenceGenerator <em>Sequence Generator</em>}' containment reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Sequence Generator</em>' containment reference. |
| * @see #getSequenceGenerator() |
| * @generated |
| */ |
| public void setSequenceGenerator(XmlSequenceGenerator newSequenceGenerator) |
| { |
| if (newSequenceGenerator != sequenceGenerator) |
| { |
| NotificationChain msgs = null; |
| if (sequenceGenerator != null) |
| msgs = ((InternalEObject)sequenceGenerator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__SEQUENCE_GENERATOR, null, msgs); |
| if (newSequenceGenerator != null) |
| msgs = ((InternalEObject)newSequenceGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ID__SEQUENCE_GENERATOR, null, msgs); |
| msgs = basicSetSequenceGenerator(newSequenceGenerator, msgs); |
| if (msgs != null) msgs.dispatch(); |
| } |
| else if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ID__SEQUENCE_GENERATOR, newSequenceGenerator, newSequenceGenerator)); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) |
| { |
| switch (featureID) |
| { |
| case OrmPackage.XML_ID__COLUMN: |
| return basicSetColumn(null, msgs); |
| case OrmPackage.XML_ID__SEQUENCE_GENERATOR: |
| return basicSetSequenceGenerator(null, msgs); |
| case OrmPackage.XML_ID__TABLE_GENERATOR: |
| return basicSetTableGenerator(null, msgs); |
| case OrmPackage.XML_ID__GENERATED_VALUE: |
| return basicSetGeneratedValue(null, msgs); |
| } |
| return super.eInverseRemove(otherEnd, featureID, msgs); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public Object eGet(int featureID, boolean resolve, boolean coreType) |
| { |
| switch (featureID) |
| { |
| case OrmPackage.XML_ID__COLUMN: |
| return getColumn(); |
| case OrmPackage.XML_ID__LOB: |
| return isLob(); |
| case OrmPackage.XML_ID__TEMPORAL: |
| return getTemporal(); |
| case OrmPackage.XML_ID__ENUMERATED: |
| return getEnumerated(); |
| case OrmPackage.XML_ID__SEQUENCE_GENERATOR: |
| return getSequenceGenerator(); |
| case OrmPackage.XML_ID__TABLE_GENERATOR: |
| return getTableGenerator(); |
| case OrmPackage.XML_ID__GENERATED_VALUE: |
| return getGeneratedValue(); |
| } |
| 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.XML_ID__COLUMN: |
| setColumn((XmlColumn)newValue); |
| return; |
| case OrmPackage.XML_ID__LOB: |
| setLob((Boolean)newValue); |
| return; |
| case OrmPackage.XML_ID__TEMPORAL: |
| setTemporal((TemporalType)newValue); |
| return; |
| case OrmPackage.XML_ID__ENUMERATED: |
| setEnumerated((EnumType)newValue); |
| return; |
| case OrmPackage.XML_ID__SEQUENCE_GENERATOR: |
| setSequenceGenerator((XmlSequenceGenerator)newValue); |
| return; |
| case OrmPackage.XML_ID__TABLE_GENERATOR: |
| setTableGenerator((XmlTableGenerator)newValue); |
| return; |
| case OrmPackage.XML_ID__GENERATED_VALUE: |
| setGeneratedValue((XmlGeneratedValue)newValue); |
| return; |
| } |
| super.eSet(featureID, newValue); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public void eUnset(int featureID) |
| { |
| switch (featureID) |
| { |
| case OrmPackage.XML_ID__COLUMN: |
| setColumn((XmlColumn)null); |
| return; |
| case OrmPackage.XML_ID__LOB: |
| setLob(LOB_EDEFAULT); |
| return; |
| case OrmPackage.XML_ID__TEMPORAL: |
| setTemporal(TEMPORAL_EDEFAULT); |
| return; |
| case OrmPackage.XML_ID__ENUMERATED: |
| setEnumerated(ENUMERATED_EDEFAULT); |
| return; |
| case OrmPackage.XML_ID__SEQUENCE_GENERATOR: |
| setSequenceGenerator((XmlSequenceGenerator)null); |
| return; |
| case OrmPackage.XML_ID__TABLE_GENERATOR: |
| setTableGenerator((XmlTableGenerator)null); |
| return; |
| case OrmPackage.XML_ID__GENERATED_VALUE: |
| setGeneratedValue((XmlGeneratedValue)null); |
| return; |
| } |
| super.eUnset(featureID); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public boolean eIsSet(int featureID) |
| { |
| switch (featureID) |
| { |
| case OrmPackage.XML_ID__COLUMN: |
| return column != null; |
| case OrmPackage.XML_ID__LOB: |
| return lob != LOB_EDEFAULT; |
| case OrmPackage.XML_ID__TEMPORAL: |
| return temporal != TEMPORAL_EDEFAULT; |
| case OrmPackage.XML_ID__ENUMERATED: |
| return enumerated != ENUMERATED_EDEFAULT; |
| case OrmPackage.XML_ID__SEQUENCE_GENERATOR: |
| return sequenceGenerator != null; |
| case OrmPackage.XML_ID__TABLE_GENERATOR: |
| return tableGenerator != null; |
| case OrmPackage.XML_ID__GENERATED_VALUE: |
| return generatedValue != null; |
| } |
| return super.eIsSet(featureID); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) |
| { |
| if (baseClass == ColumnMapping.class) |
| { |
| switch (derivedFeatureID) |
| { |
| case OrmPackage.XML_ID__COLUMN: return OrmPackage.COLUMN_MAPPING__COLUMN; |
| default: return -1; |
| } |
| } |
| if (baseClass == XmlConvertibleMapping.class) |
| { |
| switch (derivedFeatureID) |
| { |
| case OrmPackage.XML_ID__LOB: return OrmPackage.XML_CONVERTIBLE_MAPPING__LOB; |
| case OrmPackage.XML_ID__TEMPORAL: return OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL; |
| case OrmPackage.XML_ID__ENUMERATED: return OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED; |
| default: return -1; |
| } |
| } |
| if (baseClass == XmlGeneratorContainer.class) |
| { |
| switch (derivedFeatureID) |
| { |
| case OrmPackage.XML_ID__SEQUENCE_GENERATOR: return OrmPackage.XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR; |
| case OrmPackage.XML_ID__TABLE_GENERATOR: return OrmPackage.XML_GENERATOR_CONTAINER__TABLE_GENERATOR; |
| 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 == ColumnMapping.class) |
| { |
| switch (baseFeatureID) |
| { |
| case OrmPackage.COLUMN_MAPPING__COLUMN: return OrmPackage.XML_ID__COLUMN; |
| default: return -1; |
| } |
| } |
| if (baseClass == XmlConvertibleMapping.class) |
| { |
| switch (baseFeatureID) |
| { |
| case OrmPackage.XML_CONVERTIBLE_MAPPING__LOB: return OrmPackage.XML_ID__LOB; |
| case OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL: return OrmPackage.XML_ID__TEMPORAL; |
| case OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED: return OrmPackage.XML_ID__ENUMERATED; |
| default: return -1; |
| } |
| } |
| if (baseClass == XmlGeneratorContainer.class) |
| { |
| switch (baseFeatureID) |
| { |
| case OrmPackage.XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR: return OrmPackage.XML_ID__SEQUENCE_GENERATOR; |
| case OrmPackage.XML_GENERATOR_CONTAINER__TABLE_GENERATOR: return OrmPackage.XML_ID__TABLE_GENERATOR; |
| 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(" (lob: "); |
| result.append(lob); |
| result.append(", temporal: "); |
| result.append(temporal); |
| result.append(", enumerated: "); |
| result.append(enumerated); |
| result.append(')'); |
| return result.toString(); |
| } |
| |
| public TextRange getEnumeratedTextRange() { |
| return getAttributeTextRange(JPA.ENUMERATED); |
| } |
| |
| public TextRange getLobTextRange() { |
| throw new UnsupportedOperationException("lob not supported by id mappings"); |
| } |
| |
| public TextRange getTemporalTextRange() { |
| throw new UnsupportedOperationException("temporal not supported by id mappings"); |
| } |
| |
| public String getMappingKey() { |
| return MappingKeys.ID_ATTRIBUTE_MAPPING_KEY; |
| } |
| |
| // ********** translators ********** |
| |
| public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { |
| return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); |
| } |
| |
| private static Translator[] buildTranslatorChildren() { |
| return new Translator[] { |
| buildNameTranslator(), |
| buildAccessTranslator(), |
| buildColumnTranslator(), |
| buildGeneratedValueTranslator(), |
| buildTemporalTranslator(), |
| buildTableGeneratorTranslator(), |
| buildSequenceGeneratorTranslator() |
| }; |
| } |
| |
| protected static Translator buildColumnTranslator() { |
| return XmlColumn.buildTranslator(JPA.COLUMN, OrmPackage.eINSTANCE.getColumnMapping_Column()); |
| } |
| |
| protected static Translator buildGeneratedValueTranslator() { |
| return XmlGeneratedValue.buildTranslator(JPA.GENERATED_VALUE, OrmPackage.eINSTANCE.getXmlId_GeneratedValue()); |
| } |
| |
| protected static Translator buildTemporalTranslator() { |
| return new Translator(JPA.TEMPORAL, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Temporal()); |
| } |
| |
| protected static Translator buildTableGeneratorTranslator() { |
| return XmlTableGenerator.buildTranslator(JPA.TABLE_GENERATOR, OrmPackage.eINSTANCE.getXmlGeneratorContainer_TableGenerator()); |
| } |
| |
| protected static Translator buildSequenceGeneratorTranslator() { |
| return XmlSequenceGenerator.buildTranslator(JPA.SEQUENCE_GENERATOR, OrmPackage.eINSTANCE.getXmlGeneratorContainer_SequenceGenerator()); |
| } |
| } |