diff options
author | Karen Butzke | 2012-11-15 16:29:10 +0000 |
---|---|---|
committer | Karen Butzke | 2012-11-16 17:10:46 +0000 |
commit | de93748ea9e02d5a1ed876929539d003571485b4 (patch) | |
tree | f15fbae027dc55f2592b3377dd2557b67f958b52 /jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa | |
parent | 9aac2034a035b5dd91d1eef619df75e218607f09 (diff) | |
download | webtools.dali-de93748ea9e02d5a1ed876929539d003571485b4.tar.gz webtools.dali-de93748ea9e02d5a1ed876929539d003571485b4.tar.xz webtools.dali-de93748ea9e02d5a1ed876929539d003571485b4.zip |
jpt.jpa.core move EMF generated code to model/src
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa')
151 files changed, 58014 insertions, 0 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlAttributeMapping.java new file mode 100644 index 0000000000..c08fd376b0 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlAttributeMapping.java @@ -0,0 +1,293 @@ +/******************************************************************************* + * Copyright (c) 2008, 2012 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.jpa.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.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Abstract Xml Attribute Mapping</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.jpa.core.resource.orm.OrmPackage#getAbstractXmlAttributeMapping() + * @model kind="class" abstract="true" + * @generated + */ +public abstract class AbstractXmlAttributeMapping + extends EBaseObjectImpl + implements XmlAttributeMapping +{ + + /** + * The default value of the '{@link #getAccess() <em>Access</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAccess() + * @generated + * @ordered + */ + protected static final String ACCESS_EDEFAULT = null; + + /** + * The cached value of the '{@link #getAccess() <em>Access</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAccess() + * @generated + * @ordered + */ + protected String access = ACCESS_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 AbstractXmlAttributeMapping() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ABSTRACT_XML_ATTRIBUTE_MAPPING; + } + + /** + * Returns the value of the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Access</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Access</em>' attribute. + * @see #setAccess(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder_Access() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getAccess() + { + return access; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping#getAccess <em>Access</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Access</em>' attribute. + * @see #getAccess() + * @generated + */ + public void setAccess(String newAccess) + { + String oldAccess = access; + access = newAccess; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS, oldAccess, access)); + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlAttributeMapping_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getName() + { + return name; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping#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_ATTRIBUTE_MAPPING__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_ATTRIBUTE_MAPPING__ACCESS: + return getAccess(); + case OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__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_ATTRIBUTE_MAPPING__ACCESS: + setAccess((String)newValue); + return; + case OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__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_ATTRIBUTE_MAPPING__ACCESS: + setAccess(ACCESS_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__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_ATTRIBUTE_MAPPING__ACCESS: + return ACCESS_EDEFAULT == null ? access != null : !ACCESS_EDEFAULT.equals(access); + case OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING__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(" (access: "); + result.append(access); + result.append(", name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + + + // ********** validation *********** + + public TextRange getNameTextRange() { + return getAttributeTextRange(JPA.NAME); + } + + // ********** translators ********** + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlAttributeMapping_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildAccessTranslator() { + return new Translator(JPA.ACCESS, OrmPackage.eINSTANCE.getXmlAccessHolder_Access(), Translator.DOM_ATTRIBUTE); + } + + // *********** content assist ************ + + protected TextRange getNameCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.NAME); + } + + public boolean nameTouches(int pos) { + TextRange textRange = this.getNameCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseColumn.java new file mode 100644 index 0000000000..72d68fbe62 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseColumn.java @@ -0,0 +1,547 @@ +/******************************************************************************* + * Copyright (c) 2008, 2012 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.jpa.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.common.core.internal.utility.translators.BooleanTranslator; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- 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.jpa.core.resource.orm.OrmPackage#getAbstractXmlBaseColumn() + * @model kind="class" abstract="true" + * @generated + */ +public abstract class AbstractXmlBaseColumn extends AbstractXmlNamedColumn implements XmlBaseColumn +{ + /** + * 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 AbstractXmlBaseColumn() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ABSTRACT_XML_BASE_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.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_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.jpa.core.resource.orm.AbstractXmlBaseColumn#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_BASE_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.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_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.jpa.core.resource.orm.AbstractXmlBaseColumn#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_BASE_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.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_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.jpa.core.resource.orm.AbstractXmlBaseColumn#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_BASE_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.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_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.jpa.core.resource.orm.AbstractXmlBaseColumn#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_BASE_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.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_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.jpa.core.resource.orm.AbstractXmlBaseColumn#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_BASE_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_BASE_COLUMN__INSERTABLE: + return getInsertable(); + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__NULLABLE: + return getNullable(); + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__TABLE: + return getTable(); + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UNIQUE: + return getUnique(); + case OrmPackage.ABSTRACT_XML_BASE_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_BASE_COLUMN__INSERTABLE: + setInsertable((Boolean)newValue); + return; + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__NULLABLE: + setNullable((Boolean)newValue); + return; + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__TABLE: + setTable((String)newValue); + return; + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UNIQUE: + setUnique((Boolean)newValue); + return; + case OrmPackage.ABSTRACT_XML_BASE_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_BASE_COLUMN__INSERTABLE: + setInsertable(INSERTABLE_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__NULLABLE: + setNullable(NULLABLE_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__TABLE: + setTable(TABLE_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UNIQUE: + setUnique(UNIQUE_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_BASE_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_BASE_COLUMN__INSERTABLE: + return INSERTABLE_EDEFAULT == null ? insertable != null : !INSERTABLE_EDEFAULT.equals(insertable); + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__NULLABLE: + return NULLABLE_EDEFAULT == null ? nullable != null : !NULLABLE_EDEFAULT.equals(nullable); + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__TABLE: + return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table); + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UNIQUE: + return UNIQUE_EDEFAULT == null ? unique != null : !UNIQUE_EDEFAULT.equals(unique); + case OrmPackage.ABSTRACT_XML_BASE_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 == XmlBaseColumn.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__INSERTABLE: return OrmPackage.XML_BASE_COLUMN__INSERTABLE; + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__NULLABLE: return OrmPackage.XML_BASE_COLUMN__NULLABLE; + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__TABLE: return OrmPackage.XML_BASE_COLUMN__TABLE; + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UNIQUE: return OrmPackage.XML_BASE_COLUMN__UNIQUE; + case OrmPackage.ABSTRACT_XML_BASE_COLUMN__UPDATABLE: return OrmPackage.XML_BASE_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 == XmlBaseColumn.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_BASE_COLUMN__INSERTABLE: return OrmPackage.ABSTRACT_XML_BASE_COLUMN__INSERTABLE; + case OrmPackage.XML_BASE_COLUMN__NULLABLE: return OrmPackage.ABSTRACT_XML_BASE_COLUMN__NULLABLE; + case OrmPackage.XML_BASE_COLUMN__TABLE: return OrmPackage.ABSTRACT_XML_BASE_COLUMN__TABLE; + case OrmPackage.XML_BASE_COLUMN__UNIQUE: return OrmPackage.ABSTRACT_XML_BASE_COLUMN__UNIQUE; + case OrmPackage.XML_BASE_COLUMN__UPDATABLE: return OrmPackage.ABSTRACT_XML_BASE_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 getTableTextRange() { + return getAttributeTextRange(JPA.TABLE); + } + + // ********** translators ********** + + protected static Translator buildUniqueTranslator() { + return new BooleanTranslator(JPA.UNIQUE, OrmPackage.eINSTANCE.getXmlBaseColumn_Unique(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildNullableTranslator() { + return new BooleanTranslator(JPA.NULLABLE, OrmPackage.eINSTANCE.getXmlBaseColumn_Nullable(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildInsertableTranslator() { + return new BooleanTranslator(JPA.INSERTABLE, OrmPackage.eINSTANCE.getXmlBaseColumn_Insertable(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildUpdatableTranslator() { + return new BooleanTranslator(JPA.UPDATABLE, OrmPackage.eINSTANCE.getXmlBaseColumn_Updatable(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildTableTranslator() { + return new Translator(JPA.TABLE, OrmPackage.eINSTANCE.getXmlBaseColumn_Table(), Translator.DOM_ATTRIBUTE); + } + + // ************ content assist ************ + + private TextRange getTableCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.TABLE); + } + + public boolean tableTouches(int pos) { + TextRange textRange = this.getTableCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } + +} // AbstractXmlAbstractColumn diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseDiscriminatorColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseDiscriminatorColumn.java new file mode 100644 index 0000000000..dd1d0fb92c --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlBaseDiscriminatorColumn.java @@ -0,0 +1,305 @@ +/******************************************************************************* + * Copyright (c) 2011 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.jpa.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.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Abstract Xml Discriminator Column</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlBaseDiscriminatorColumn() + * @model kind="class" abstract="true" + * @generated + */ +public abstract class AbstractXmlBaseDiscriminatorColumn extends AbstractXmlNamedColumn implements XmlBaseDiscriminatorColumn +{ + /** + * 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 DiscriminatorType DISCRIMINATOR_TYPE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getDiscriminatorType() <em>Discriminator Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDiscriminatorType() + * @generated + * @ordered + */ + protected DiscriminatorType discriminatorType = DISCRIMINATOR_TYPE_EDEFAULT; + + /** + * The default value of the '{@link #getLength() <em>Length</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLength() + * @generated + * @ordered + */ + protected static final Integer LENGTH_EDEFAULT = null; + + /** + * The cached value of the '{@link #getLength() <em>Length</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLength() + * @generated + * @ordered + */ + protected Integer length = LENGTH_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AbstractXmlBaseDiscriminatorColumn() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN; + } + + /** + * 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.jpa.core.resource.orm.DiscriminatorType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Discriminator Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Discriminator Type</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType + * @see #setDiscriminatorType(DiscriminatorType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn_DiscriminatorType() + * @model default="STRING" + * @generated + */ + public DiscriminatorType getDiscriminatorType() + { + return discriminatorType; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn#getDiscriminatorType <em>Discriminator Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Discriminator Type</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType + * @see #getDiscriminatorType() + * @generated + */ + public void setDiscriminatorType(DiscriminatorType newDiscriminatorType) + { + DiscriminatorType oldDiscriminatorType = discriminatorType; + discriminatorType = newDiscriminatorType == null ? DISCRIMINATOR_TYPE_EDEFAULT : newDiscriminatorType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE, oldDiscriminatorType, discriminatorType)); + } + + /** + * Returns the value of the '<em><b>Length</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Length</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Length</em>' attribute. + * @see #setLength(Integer) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn_Length() + * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject" + * @generated + */ + public Integer getLength() + { + return length; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn#getLength <em>Length</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Length</em>' attribute. + * @see #getLength() + * @generated + */ + public void setLength(Integer newLength) + { + Integer oldLength = length; + length = newLength; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH, oldLength, length)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE: + return getDiscriminatorType(); + case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH: + return getLength(); + } + 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_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE: + setDiscriminatorType((DiscriminatorType)newValue); + return; + case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH: + setLength((Integer)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_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE: + setDiscriminatorType(DISCRIMINATOR_TYPE_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH: + setLength(LENGTH_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE: + return discriminatorType != DISCRIMINATOR_TYPE_EDEFAULT; + case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH: + return LENGTH_EDEFAULT == null ? length != null : !LENGTH_EDEFAULT.equals(length); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlBaseDiscriminatorColumn.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE: return OrmPackage.XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE; + case OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH: return OrmPackage.XML_BASE_DISCRIMINATOR_COLUMN__LENGTH; + 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 == XmlBaseDiscriminatorColumn.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE: return OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE; + case OrmPackage.XML_BASE_DISCRIMINATOR_COLUMN__LENGTH: return OrmPackage.ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH; + 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(" (discriminatorType: "); + result.append(discriminatorType); + result.append(", length: "); + result.append(length); + result.append(')'); + return result.toString(); + } + + + // ********** translators ********** + + protected static Translator buildDiscriminatorTypeTranslator() { + return new Translator(JPA.DISCRIMINATOR_TYPE, OrmPackage.eINSTANCE.getXmlBaseDiscriminatorColumn_DiscriminatorType(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildLengthTranslator() { + return new Translator(JPA.LENGTH, OrmPackage.eINSTANCE.getXmlBaseDiscriminatorColumn_Length(), Translator.DOM_ATTRIBUTE); + } +} // AbstractXmlDiscriminatorColumn diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlEmbedded.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlEmbedded.java new file mode 100644 index 0000000000..f464f8f385 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlEmbedded.java @@ -0,0 +1,220 @@ +/******************************************************************************* + * Copyright (c) 2008, 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Base Xml Embedded</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.jpa.core.resource.orm.OrmPackage#getAbstractXmlEmbedded() + * @model kind="class" abstract="true" + * @generated + */ +public abstract class AbstractXmlEmbedded extends AbstractXmlAttributeMapping implements XmlAttributeOverrideContainer +{ + /** + * The cached value of the '{@link #getAttributeOverrides() <em>Attribute Overrides</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAttributeOverrides() + * @generated + * @ordered + */ + protected EList<XmlAttributeOverride> attributeOverrides; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AbstractXmlEmbedded() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ABSTRACT_XML_EMBEDDED; + } + + /** + * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Attribute Overrides</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Attribute Overrides</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer_AttributeOverrides() + * @model containment="true" + * @generated + */ + public EList<XmlAttributeOverride> getAttributeOverrides() { + if (attributeOverrides == null) + { + attributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES); + } + return attributeOverrides; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES: + return ((InternalEList<?>)getAttributeOverrides()).basicRemove(otherEnd, 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.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES: + return getAttributeOverrides(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES: + getAttributeOverrides().clear(); + getAttributeOverrides().addAll((Collection<? extends XmlAttributeOverride>)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_EMBEDDED__ATTRIBUTE_OVERRIDES: + getAttributeOverrides().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES: + return attributeOverrides != null && !attributeOverrides.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlAttributeOverrideContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES; + 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 == XmlAttributeOverrideContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES: return OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES; + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + + // ********** translators ********** + + protected static Translator buildAttributeOverrideTranslator() { + return XmlAttributeOverride.buildTranslator(JPA.ATTRIBUTE_OVERRIDE, OrmPackage.eINSTANCE.getXmlAttributeOverrideContainer_AttributeOverrides()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlMultiRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlMultiRelationshipMapping.java new file mode 100644 index 0000000000..8654b43834 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlMultiRelationshipMapping.java @@ -0,0 +1,1137 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jdt.core.IType; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0; +import org.eclipse.text.edits.ReplaceEdit; +import org.eclipse.wst.common.internal.emf.resource.Translator; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Multi Relationship Mapping</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.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKey <em>Map Key</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlMultiRelationshipMapping() + * @model kind="class" abstract="true" + * @generated + */ +public abstract class AbstractXmlMultiRelationshipMapping extends AbstractXmlRelationshipMapping implements XmlMappedByMapping, XmlJoinTableContainer, XmlOrderable, XmlMultiRelationshipMapping_2_0 +{ + /** + * The default value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMappedBy() + * @generated + * @ordered + */ + protected static final String MAPPED_BY_EDEFAULT = null; + /** + * The cached value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMappedBy() + * @generated + * @ordered + */ + protected String mappedBy = MAPPED_BY_EDEFAULT; + /** + * The cached value of the '{@link #getJoinTable() <em>Join Table</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getJoinTable() + * @generated + * @ordered + */ + protected XmlJoinTable joinTable; + /** + * The cached value of the '{@link #getOrderColumn() <em>Order Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOrderColumn() + * @generated + * @ordered + */ + protected XmlOrderColumn orderColumn; + /** + * The default value of the '{@link #getOrderBy() <em>Order By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOrderBy() + * @generated + * @ordered + */ + protected static final String ORDER_BY_EDEFAULT = null; + /** + * The cached value of the '{@link #getOrderBy() <em>Order By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOrderBy() + * @generated + * @ordered + */ + protected String orderBy = ORDER_BY_EDEFAULT; + /** + * The cached value of the '{@link #getMapKeyAttributeOverrides() <em>Map Key Attribute Overrides</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyAttributeOverrides() + * @generated + * @ordered + */ + protected EList<XmlAttributeOverride> mapKeyAttributeOverrides; + /** + * 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 MAP_KEY_TEMPORAL_EDEFAULT = null; + /** + * The cached value of the '{@link #getMapKeyTemporal() <em>Map Key Temporal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyTemporal() + * @generated + * @ordered + */ + protected TemporalType mapKeyTemporal = MAP_KEY_TEMPORAL_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 EnumType MAP_KEY_ENUMERATED_EDEFAULT = null; + /** + * The cached value of the '{@link #getMapKeyEnumerated() <em>Map Key Enumerated</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyEnumerated() + * @generated + * @ordered + */ + protected EnumType mapKeyEnumerated = MAP_KEY_ENUMERATED_EDEFAULT; + /** + * The cached value of the '{@link #getMapKeyClass() <em>Map Key Class</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyClass() + * @generated + * @ordered + */ + protected XmlClassReference mapKeyClass; + /** + * The cached value of the '{@link #getMapKeyColumn() <em>Map Key Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyColumn() + * @generated + * @ordered + */ + protected XmlColumn mapKeyColumn; + /** + * The cached value of the '{@link #getMapKeyJoinColumns() <em>Map Key Join Columns</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyJoinColumns() + * @generated + * @ordered + */ + protected EList<XmlJoinColumn> mapKeyJoinColumns; + /** + * The cached value of the '{@link #getMapKey() <em>Map Key</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKey() + * @generated + * @ordered + */ + protected MapKey mapKey; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AbstractXmlMultiRelationshipMapping() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING; + } + + /** + * Returns the value of the '<em><b>Mapped By</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Mapped By</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Mapped By</em>' attribute. + * @see #setMappedBy(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedByMapping_MappedBy() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getMappedBy() + { + return mappedBy; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMappedBy <em>Mapped By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Mapped By</em>' attribute. + * @see #getMappedBy() + * @generated + */ + public void setMappedBy(String newMappedBy) + { + String oldMappedBy = mappedBy; + mappedBy = newMappedBy; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY, oldMappedBy, mappedBy)); + } + + /** + * Returns the value of the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Join Table</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>Join Table</em>' containment reference. + * @see #setJoinTable(XmlJoinTable) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer_JoinTable() + * @model containment="true" + * @generated + */ + public XmlJoinTable getJoinTable() + { + return joinTable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetJoinTable(XmlJoinTable newJoinTable, NotificationChain msgs) + { + XmlJoinTable oldJoinTable = joinTable; + joinTable = newJoinTable; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE, oldJoinTable, newJoinTable); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getJoinTable <em>Join Table</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Join Table</em>' containment reference. + * @see #getJoinTable() + * @generated + */ + public void setJoinTable(XmlJoinTable newJoinTable) + { + if (newJoinTable != joinTable) + { + NotificationChain msgs = null; + if (joinTable != null) + msgs = ((InternalEObject)joinTable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE, null, msgs); + if (newJoinTable != null) + msgs = ((InternalEObject)newJoinTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE, null, msgs); + msgs = basicSetJoinTable(newJoinTable, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE, newJoinTable, newJoinTable)); + } + + /** + * Returns the value of the '<em><b>Order Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Order 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>Order Column</em>' containment reference. + * @see #setOrderColumn(XmlOrderColumn) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable_2_0_OrderColumn() + * @model containment="true" + * @generated + */ + public XmlOrderColumn getOrderColumn() + { + return orderColumn; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetOrderColumn(XmlOrderColumn newOrderColumn, NotificationChain msgs) + { + XmlOrderColumn oldOrderColumn = orderColumn; + orderColumn = newOrderColumn; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN, oldOrderColumn, newOrderColumn); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getOrderColumn <em>Order Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Order Column</em>' containment reference. + * @see #getOrderColumn() + * @generated + */ + public void setOrderColumn(XmlOrderColumn newOrderColumn) + { + if (newOrderColumn != orderColumn) + { + NotificationChain msgs = null; + if (orderColumn != null) + msgs = ((InternalEObject)orderColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN, null, msgs); + if (newOrderColumn != null) + msgs = ((InternalEObject)newOrderColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN, null, msgs); + msgs = basicSetOrderColumn(newOrderColumn, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN, newOrderColumn, newOrderColumn)); + } + + /** + * Returns the value of the '<em><b>Order By</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Order By</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Order By</em>' attribute. + * @see #setOrderBy(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable_OrderBy() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getOrderBy() { + return orderBy; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getOrderBy <em>Order By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Order By</em>' attribute. + * @see #getOrderBy() + * @generated + */ + public void setOrderBy(String newOrderBy) { + String oldOrderBy = orderBy; + orderBy = newOrderBy; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY, oldOrderBy, orderBy)); + } + + /** + * Returns the value of the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key Attribute Overrides</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Map Key Attribute Overrides</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides() + * @model containment="true" + * @generated + */ + public EList<XmlAttributeOverride> getMapKeyAttributeOverrides() + { + if (mapKeyAttributeOverrides == null) + { + mapKeyAttributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES); + } + return mapKeyAttributeOverrides; + } + + /** + * Returns the value of the '<em><b>Map Key Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key Class</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>Map Key Class</em>' containment reference. + * @see #setMapKeyClass(XmlClassReference) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMultiRelationshipMapping_2_0_MapKeyClass() + * @model containment="true" + * @generated + */ + public XmlClassReference getMapKeyClass() + { + return mapKeyClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetMapKeyClass(XmlClassReference newMapKeyClass, NotificationChain msgs) + { + XmlClassReference oldMapKeyClass = mapKeyClass; + mapKeyClass = newMapKeyClass; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS, oldMapKeyClass, newMapKeyClass); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKeyClass <em>Map Key Class</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Class</em>' containment reference. + * @see #getMapKeyClass() + * @generated + */ + public void setMapKeyClass(XmlClassReference newMapKeyClass) + { + if (newMapKeyClass != mapKeyClass) + { + NotificationChain msgs = null; + if (mapKeyClass != null) + msgs = ((InternalEObject)mapKeyClass).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS, null, msgs); + if (newMapKeyClass != null) + msgs = ((InternalEObject)newMapKeyClass).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS, null, msgs); + msgs = basicSetMapKeyClass(newMapKeyClass, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS, newMapKeyClass, newMapKeyClass)); + } + + /** + * Returns the value of the '<em><b>Map Key Temporal</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key 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>Map Key Temporal</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType + * @see #setMapKeyTemporal(TemporalType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal() + * @model + * @generated + */ + public TemporalType getMapKeyTemporal() + { + return mapKeyTemporal; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKeyTemporal <em>Map Key Temporal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Temporal</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType + * @see #getMapKeyTemporal() + * @generated + */ + public void setMapKeyTemporal(TemporalType newMapKeyTemporal) + { + TemporalType oldMapKeyTemporal = mapKeyTemporal; + mapKeyTemporal = newMapKeyTemporal == null ? MAP_KEY_TEMPORAL_EDEFAULT : newMapKeyTemporal; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL, oldMapKeyTemporal, mapKeyTemporal)); + } + + /** + * Returns the value of the '<em><b>Map Key Enumerated</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.EnumType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key 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>Map Key Enumerated</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType + * @see #setMapKeyEnumerated(EnumType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated() + * @model + * @generated + */ + public EnumType getMapKeyEnumerated() + { + return mapKeyEnumerated; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKeyEnumerated <em>Map Key Enumerated</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Enumerated</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType + * @see #getMapKeyEnumerated() + * @generated + */ + public void setMapKeyEnumerated(EnumType newMapKeyEnumerated) + { + EnumType oldMapKeyEnumerated = mapKeyEnumerated; + mapKeyEnumerated = newMapKeyEnumerated == null ? MAP_KEY_ENUMERATED_EDEFAULT : newMapKeyEnumerated; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED, oldMapKeyEnumerated, mapKeyEnumerated)); + } + + /** + * Returns the value of the '<em><b>Map Key Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key 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>Map Key Column</em>' containment reference. + * @see #setMapKeyColumn(XmlColumn) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMultiRelationshipMapping_2_0_MapKeyColumn() + * @model containment="true" + * @generated + */ + public XmlColumn getMapKeyColumn() + { + return mapKeyColumn; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetMapKeyColumn(XmlColumn newMapKeyColumn, NotificationChain msgs) + { + XmlColumn oldMapKeyColumn = mapKeyColumn; + mapKeyColumn = newMapKeyColumn; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN, oldMapKeyColumn, newMapKeyColumn); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKeyColumn <em>Map Key Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Column</em>' containment reference. + * @see #getMapKeyColumn() + * @generated + */ + public void setMapKeyColumn(XmlColumn newMapKeyColumn) + { + if (newMapKeyColumn != mapKeyColumn) + { + NotificationChain msgs = null; + if (mapKeyColumn != null) + msgs = ((InternalEObject)mapKeyColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN, null, msgs); + if (newMapKeyColumn != null) + msgs = ((InternalEObject)newMapKeyColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN, null, msgs); + msgs = basicSetMapKeyColumn(newMapKeyColumn, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN, newMapKeyColumn, newMapKeyColumn)); + } + + /** + * Returns the value of the '<em><b>Map Key Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Map Key Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMultiRelationshipMapping_2_0_MapKeyJoinColumns() + * @model containment="true" + * @generated + */ + public EList<XmlJoinColumn> getMapKeyJoinColumns() + { + if (mapKeyJoinColumns == null) + { + mapKeyJoinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS); + } + return mapKeyJoinColumns; + } + + /** + * Returns the value of the '<em><b>Map Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key</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>Map Key</em>' containment reference. + * @see #setMapKey(MapKey) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlMultiRelationshipMapping_MapKey() + * @model containment="true" + * @generated + */ + public MapKey getMapKey() { + return mapKey; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetMapKey(MapKey newMapKey, NotificationChain msgs) + { + MapKey oldMapKey = mapKey; + mapKey = newMapKey; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY, oldMapKey, newMapKey); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKey <em>Map Key</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key</em>' containment reference. + * @see #getMapKey() + * @generated + */ + public void setMapKey(MapKey newMapKey) { + if (newMapKey != mapKey) + { + NotificationChain msgs = null; + if (mapKey != null) + msgs = ((InternalEObject)mapKey).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY, null, msgs); + if (newMapKey != null) + msgs = ((InternalEObject)newMapKey).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY, null, msgs); + msgs = basicSetMapKey(newMapKey, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY, newMapKey, newMapKey)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE: + return basicSetJoinTable(null, msgs); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN: + return basicSetOrderColumn(null, msgs); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES: + return ((InternalEList<?>)getMapKeyAttributeOverrides()).basicRemove(otherEnd, msgs); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS: + return basicSetMapKeyClass(null, msgs); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN: + return basicSetMapKeyColumn(null, msgs); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS: + return ((InternalEList<?>)getMapKeyJoinColumns()).basicRemove(otherEnd, msgs); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY: + return basicSetMapKey(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.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY: + return getMappedBy(); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE: + return getJoinTable(); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN: + return getOrderColumn(); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY: + return getOrderBy(); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES: + return getMapKeyAttributeOverrides(); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL: + return getMapKeyTemporal(); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED: + return getMapKeyEnumerated(); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS: + return getMapKeyClass(); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN: + return getMapKeyColumn(); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS: + return getMapKeyJoinColumns(); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY: + return getMapKey(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY: + setMappedBy((String)newValue); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE: + setJoinTable((XmlJoinTable)newValue); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN: + setOrderColumn((XmlOrderColumn)newValue); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY: + setOrderBy((String)newValue); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES: + getMapKeyAttributeOverrides().clear(); + getMapKeyAttributeOverrides().addAll((Collection<? extends XmlAttributeOverride>)newValue); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL: + setMapKeyTemporal((TemporalType)newValue); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED: + setMapKeyEnumerated((EnumType)newValue); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS: + setMapKeyClass((XmlClassReference)newValue); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN: + setMapKeyColumn((XmlColumn)newValue); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS: + getMapKeyJoinColumns().clear(); + getMapKeyJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY: + setMapKey((MapKey)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_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY: + setMappedBy(MAPPED_BY_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE: + setJoinTable((XmlJoinTable)null); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN: + setOrderColumn((XmlOrderColumn)null); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY: + setOrderBy(ORDER_BY_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES: + getMapKeyAttributeOverrides().clear(); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL: + setMapKeyTemporal(MAP_KEY_TEMPORAL_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED: + setMapKeyEnumerated(MAP_KEY_ENUMERATED_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS: + setMapKeyClass((XmlClassReference)null); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN: + setMapKeyColumn((XmlColumn)null); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS: + getMapKeyJoinColumns().clear(); + return; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY: + setMapKey((MapKey)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY: + return MAPPED_BY_EDEFAULT == null ? mappedBy != null : !MAPPED_BY_EDEFAULT.equals(mappedBy); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE: + return joinTable != null; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN: + return orderColumn != null; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY: + return ORDER_BY_EDEFAULT == null ? orderBy != null : !ORDER_BY_EDEFAULT.equals(orderBy); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES: + return mapKeyAttributeOverrides != null && !mapKeyAttributeOverrides.isEmpty(); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL: + return mapKeyTemporal != MAP_KEY_TEMPORAL_EDEFAULT; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED: + return mapKeyEnumerated != MAP_KEY_ENUMERATED_EDEFAULT; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS: + return mapKeyClass != null; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN: + return mapKeyColumn != null; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS: + return mapKeyJoinColumns != null && !mapKeyJoinColumns.isEmpty(); + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY: + return mapKey != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlMappedByMapping.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY: return OrmPackage.XML_MAPPED_BY_MAPPING__MAPPED_BY; + default: return -1; + } + } + if (baseClass == XmlJoinTableContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE: return OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE; + default: return -1; + } + } + if (baseClass == XmlOrderable_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN: return OrmV2_0Package.XML_ORDERABLE_20__ORDER_COLUMN; + default: return -1; + } + } + if (baseClass == XmlOrderable.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY: return OrmPackage.XML_ORDERABLE__ORDER_BY; + default: return -1; + } + } + if (baseClass == XmlMapKeyAttributeOverrideContainer_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES: return OrmV2_0Package.XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlMapKeyConvertibleMapping_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL: return OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED: return OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED; + default: return -1; + } + } + if (baseClass == XmlMultiRelationshipMapping_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS: return OrmV2_0Package.XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN: return OrmV2_0Package.XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN; + case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS: return OrmV2_0Package.XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS; + 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 == XmlMappedByMapping.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_MAPPED_BY_MAPPING__MAPPED_BY: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY; + default: return -1; + } + } + if (baseClass == XmlJoinTableContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE; + default: return -1; + } + } + if (baseClass == XmlOrderable_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_ORDERABLE_20__ORDER_COLUMN: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN; + default: return -1; + } + } + if (baseClass == XmlOrderable.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_ORDERABLE__ORDER_BY: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY; + default: return -1; + } + } + if (baseClass == XmlMapKeyAttributeOverrideContainer_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlMapKeyConvertibleMapping_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL; + case OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED; + default: return -1; + } + } + if (baseClass == XmlMultiRelationshipMapping_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS; + case OrmV2_0Package.XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN; + case OrmV2_0Package.XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS: return OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS; + 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(" (mappedBy: "); + result.append(mappedBy); + result.append(", orderBy: "); + result.append(orderBy); + result.append(", mapKeyTemporal: "); + result.append(mapKeyTemporal); + result.append(", mapKeyEnumerated: "); + result.append(mapKeyEnumerated); + result.append(')'); + return result.toString(); + } + + public TextRange getMappedByTextRange() { + return getAttributeTextRange(JPA.MAPPED_BY); + } + + public TextRange getMapKeyEnumeratedTextRange() { + return getAttributeTextRange(JPA2_0.MAP_KEY_ENUMERATED); + } + + public TextRange getMapKeyTemporalTextRange() { + return getAttributeTextRange(JPA2_0.MAP_KEY_TEMPORAL); + } + + public TextRange getMapKeyClassTextRange() { + return getElementTextRange(JPA2_0.MAP_KEY_CLASS); + } + + // ********** refactoring ********** + + public ReplaceEdit createRenameMapKeyClassEdit(IType originalType, String newName) { + return getMapKeyClass().createRenameEdit(originalType, newName); + } + + public ReplaceEdit createRenameMapKeyClassPackageEdit(String newName) { + return getMapKeyClass().createRenamePackageEdit(newName); + } + + + // ********** translators ********** + + protected static Translator buildOrderByTranslator() { + return new Translator(JPA.ORDER_BY, OrmPackage.eINSTANCE.getXmlOrderable_OrderBy()); + } + + protected static Translator buildMapKeyTranslator() { + return MapKey.buildTranslator(JPA.MAP_KEY, OrmPackage.eINSTANCE.getAbstractXmlMultiRelationshipMapping_MapKey()); + } + + protected static Translator buildMapKeyTemporalTranslator() { + return new Translator(JPA2_0.MAP_KEY_TEMPORAL, OrmV2_0Package.eINSTANCE.getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal()); + } + + protected static Translator buildMapKeyEnumeratedTranslator() { + return new Translator(JPA2_0.MAP_KEY_ENUMERATED, OrmV2_0Package.eINSTANCE.getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated()); + } + + protected static Translator buildMapKeyClassTranslator() { + return XmlClassReference.buildTranslator(JPA2_0.MAP_KEY_CLASS, OrmV2_0Package.eINSTANCE.getXmlMultiRelationshipMapping_2_0_MapKeyClass()); + } + + protected static Translator buildMapKeyColumnTranslator() { + return XmlColumn.buildTranslator(JPA2_0.MAP_KEY_COLUMN, OrmV2_0Package.eINSTANCE.getXmlMultiRelationshipMapping_2_0_MapKeyColumn()); + } + + protected static Translator buildMapKeyJoinColumnTranslator() { + return XmlJoinColumn.buildTranslator(JPA2_0.MAP_KEY_JOIN_COLUMN, OrmV2_0Package.eINSTANCE.getXmlMultiRelationshipMapping_2_0_MapKeyJoinColumns()); + } + + protected static Translator buildMappedByTranslator() { + return new Translator(JPA.MAPPED_BY, OrmPackage.eINSTANCE.getXmlMappedByMapping_MappedBy(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildMapKeyAttributeOverrideTranslator() { + return XmlAttributeOverride.buildTranslator(JPA2_0.MAP_KEY_ATTRIBUTE_OVERRIDE, OrmV2_0Package.eINSTANCE.getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides()); + } + + protected static Translator buildJoinTableTranslator() { + return XmlJoinTable.buildTranslator(JPA.JOIN_TABLE, OrmPackage.eINSTANCE.getXmlJoinTableContainer_JoinTable()); + } + + protected static Translator buildOrderColumnTranslator() { + return XmlOrderColumn.buildTranslator(JPA2_0.ORDER_COLUMN, OrmV2_0Package.eINSTANCE.getXmlOrderable_2_0_OrderColumn()); + } + + // ********** content assist *************** + + public TextRange getMappedByCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.MAPPED_BY); + } + + public boolean mappedByTouches(int pos) { + TextRange textRange = this.getMappedByCodeAssistTextRange(); + return (textRange!= null) && textRange.touches(pos); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlNamedColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlNamedColumn.java new file mode 100644 index 0000000000..963912c241 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlNamedColumn.java @@ -0,0 +1,288 @@ +/******************************************************************************* + * Copyright (c) 2008, 2012 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.jpa.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.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- 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.jpa.core.resource.orm.OrmPackage#getAbstractXmlNamedColumn() + * @model kind="class" abstract="true" + * @generated + */ +public abstract class AbstractXmlNamedColumn extends EBaseObjectImpl 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.jpa.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.jpa.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.jpa.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.jpa.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 getNameTextRange() { + return getAttributeTextRange(JPA.NAME); + } + + // ********** translators ********** + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlNamedColumn_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildColumnDefinitionTranslator() { + return new Translator(JPA.COLUMN_DEFINITION, OrmPackage.eINSTANCE.getXmlNamedColumn_ColumnDefinition(), Translator.DOM_ATTRIBUTE); + } + + // *********** content assist *********** + + public TextRange getColumnNameCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.NAME); + } + + public boolean columnNameTouches(int pos) { + TextRange textRange = this.getColumnNameCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } + +} // AbstractXmlNamedColumn diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlReferenceTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlReferenceTable.java new file mode 100644 index 0000000000..a79e9d9222 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlReferenceTable.java @@ -0,0 +1,222 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Abstract Xml Reference Table</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.jpa.core.resource.orm.OrmPackage#getAbstractXmlReferenceTable() + * @model kind="class" abstract="true" + * @generated + */ +public abstract class AbstractXmlReferenceTable extends AbstractXmlTable implements XmlReferenceTable +{ + /** + * The cached value of the '{@link #getJoinColumns() <em>Join Columns</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getJoinColumns() + * @generated + * @ordered + */ + protected EList<XmlJoinColumn> joinColumns; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AbstractXmlReferenceTable() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ABSTRACT_XML_REFERENCE_TABLE; + } + + /** + * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlReferenceTable_JoinColumns() + * @model containment="true" + * @generated + */ + public EList<XmlJoinColumn> getJoinColumns() + { + if (joinColumns == null) + { + joinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS); + } + return joinColumns; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS: + return ((InternalEList<?>)getJoinColumns()).basicRemove(otherEnd, 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.ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS: + return getJoinColumns(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS: + getJoinColumns().clear(); + getJoinColumns().addAll((Collection<? extends XmlJoinColumn>)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_REFERENCE_TABLE__JOIN_COLUMNS: + getJoinColumns().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS: + return joinColumns != null && !joinColumns.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlReferenceTable.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS: return OrmPackage.XML_REFERENCE_TABLE__JOIN_COLUMNS; + 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 == XmlReferenceTable.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_REFERENCE_TABLE__JOIN_COLUMNS: return OrmPackage.ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS; + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + + // ********** translators ********** + + protected static Translator buildJoinColumnTranslator() { + return XmlJoinColumn.buildTranslator(JPA.JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlReferenceTable_JoinColumns()); + } + +} // AbstractXmlReferenceTable diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlRelationshipMapping.java new file mode 100644 index 0000000000..aaa62dfed4 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlRelationshipMapping.java @@ -0,0 +1,419 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.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.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jdt.core.IType; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.text.edits.ReplaceEdit; +import org.eclipse.wst.common.internal.emf.resource.Translator; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Relationship Mapping</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.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getTargetEntity <em>Target Entity</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getFetch <em>Fetch</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getCascade <em>Cascade</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlRelationshipMapping() + * @model kind="class" abstract="true" + * @generated + */ +public abstract class AbstractXmlRelationshipMapping extends AbstractXmlAttributeMapping +{ + /** + * The default value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetEntity() + * @generated + * @ordered + */ + protected static final String TARGET_ENTITY_EDEFAULT = null; + /** + * The cached value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetEntity() + * @generated + * @ordered + */ + protected String targetEntity = TARGET_ENTITY_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 FetchType FETCH_EDEFAULT = null; + /** + * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFetch() + * @generated + * @ordered + */ + protected FetchType fetch = FETCH_EDEFAULT; + /** + * The cached value of the '{@link #getCascade() <em>Cascade</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCascade() + * @generated + * @ordered + */ + protected CascadeType cascade; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AbstractXmlRelationshipMapping() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ABSTRACT_XML_RELATIONSHIP_MAPPING; + } + + /** + * Returns the value of the '<em><b>Target Entity</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Target Entity</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Target Entity</em>' attribute. + * @see #setTargetEntity(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlRelationshipMapping_TargetEntity() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getTargetEntity() { + return targetEntity; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getTargetEntity <em>Target Entity</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target Entity</em>' attribute. + * @see #getTargetEntity() + * @generated + */ + public void setTargetEntity(String newTargetEntity) { + String oldTargetEntity = targetEntity; + targetEntity = newTargetEntity; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY, oldTargetEntity, targetEntity)); + } + + /** + * Returns the value of the '<em><b>Fetch</b></em>' attribute. + * The default value is <code>"LAZY"</code>. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.FetchType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Fetch</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Fetch</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType + * @see #setFetch(FetchType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlRelationshipMapping_Fetch() + * @model default="LAZY" + * @generated + */ + public FetchType getFetch() { + return fetch; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getFetch <em>Fetch</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Fetch</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType + * @see #getFetch() + * @generated + */ + public void setFetch(FetchType newFetch) { + FetchType oldFetch = fetch; + fetch = newFetch == null ? FETCH_EDEFAULT : newFetch; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH, oldFetch, fetch)); + } + + /** + * Returns the value of the '<em><b>Cascade</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Cascade</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>Cascade</em>' containment reference. + * @see #setCascade(CascadeType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlRelationshipMapping_Cascade() + * @model containment="true" + * @generated + */ + public CascadeType getCascade() { + return cascade; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetCascade(CascadeType newCascade, NotificationChain msgs) + { + CascadeType oldCascade = cascade; + cascade = newCascade; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE, oldCascade, newCascade); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getCascade <em>Cascade</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Cascade</em>' containment reference. + * @see #getCascade() + * @generated + */ + public void setCascade(CascadeType newCascade) { + if (newCascade != cascade) + { + NotificationChain msgs = null; + if (cascade != null) + msgs = ((InternalEObject)cascade).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE, null, msgs); + if (newCascade != null) + msgs = ((InternalEObject)newCascade).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE, null, msgs); + msgs = basicSetCascade(newCascade, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE, newCascade, newCascade)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE: + return basicSetCascade(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.ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY: + return getTargetEntity(); + case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH: + return getFetch(); + case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE: + return getCascade(); + } + 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_RELATIONSHIP_MAPPING__TARGET_ENTITY: + setTargetEntity((String)newValue); + return; + case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH: + setFetch((FetchType)newValue); + return; + case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE: + setCascade((CascadeType)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_RELATIONSHIP_MAPPING__TARGET_ENTITY: + setTargetEntity(TARGET_ENTITY_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH: + setFetch(FETCH_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE: + setCascade((CascadeType)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY: + return TARGET_ENTITY_EDEFAULT == null ? targetEntity != null : !TARGET_ENTITY_EDEFAULT.equals(targetEntity); + case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH: + return fetch != FETCH_EDEFAULT; + case OrmPackage.ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE: + return cascade != null; + } + 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(" (targetEntity: "); + result.append(targetEntity); + result.append(", fetch: "); + result.append(fetch); + result.append(')'); + return result.toString(); + } + + /** + * Return the {@link TextRange} for the target-entity attribute. + */ + + public TextRange getTargetEntityTextRange() { + return getAttributeTextRange(JPA.TARGET_ENTITY); + } + + + // ********** translators ********** + + protected static Translator buildTargetEntityTranslator() { + return new Translator(JPA.TARGET_ENTITY, OrmPackage.eINSTANCE.getAbstractXmlRelationshipMapping_TargetEntity(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildFetchTranslator() { + return new Translator(JPA.FETCH, OrmPackage.eINSTANCE.getAbstractXmlRelationshipMapping_Fetch(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildCascadeTranslator() { + return CascadeType.buildTranslator(JPA.CASCADE, OrmPackage.eINSTANCE.getAbstractXmlRelationshipMapping_Cascade()); + } + + + // ********** refactoring ********** + + public ReplaceEdit createRenameTargetEntityEdit(IType originalType, String newName) { + String originalName = originalType.getElementName(); + int nameIndex = this.targetEntity.lastIndexOf(originalName); + int offset = getAttributeNode(JPA.TARGET_ENTITY).getValueRegionStartOffset() + 1; + return new ReplaceEdit(offset + nameIndex, originalName.length(), newName); + } + + public ReplaceEdit createRenameTargetEntityPackageEdit(String newPackageName) { + int packageLength = this.targetEntity.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.TARGET_ENTITY).getValueRegionStartOffset() + 1; // +1 = opening double quote + return new ReplaceEdit(offset, packageLength, newPackageName); + } + + // *********** content assist ************ + + public TextRange getTargetEntityCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.TARGET_ENTITY); + } + + public boolean targetEntityTouches(int pos) { + TextRange textRange = this.getTargetEntityCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } +} // RelationshipMapping diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlSingleRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlSingleRelationshipMapping.java new file mode 100644 index 0000000000..6ddc04736a --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlSingleRelationshipMapping.java @@ -0,0 +1,614 @@ +/******************************************************************************* + * Copyright (c) 2007, 2010 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Single Relationship Mapping</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.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#getOptional <em>Optional</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlSingleRelationshipMapping() + * @model kind="class" abstract="true" + * @generated + */ +public abstract class AbstractXmlSingleRelationshipMapping extends AbstractXmlRelationshipMapping implements XmlJoinTableContainer, XmlJoinColumnContainer, XmlSingleRelationshipMapping_2_0 +{ + /** + * The cached value of the '{@link #getJoinTable() <em>Join Table</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getJoinTable() + * @generated + * @ordered + */ + protected XmlJoinTable joinTable; + /** + * The cached value of the '{@link #getJoinColumns() <em>Join Columns</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getJoinColumns() + * @generated + * @ordered + */ + protected EList<XmlJoinColumn> joinColumns; + /** + * The default value of the '{@link #getId() <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getId() + * @generated + * @ordered + */ + protected static final Boolean ID_EDEFAULT = null; + /** + * The cached value of the '{@link #getId() <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getId() + * @generated + * @ordered + */ + protected Boolean id = ID_EDEFAULT; + /** + * The default value of the '{@link #getMapsId() <em>Maps Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapsId() + * @generated + * @ordered + */ + protected static final String MAPS_ID_EDEFAULT = null; + /** + * The cached value of the '{@link #getMapsId() <em>Maps Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapsId() + * @generated + * @ordered + */ + protected String mapsId = MAPS_ID_EDEFAULT; + /** + * The default value of the '{@link #getOptional() <em>Optional</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOptional() + * @generated + * @ordered + */ + protected static final Boolean OPTIONAL_EDEFAULT = null; + /** + * The cached value of the '{@link #getOptional() <em>Optional</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOptional() + * @generated + * @ordered + */ + protected Boolean optional = OPTIONAL_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AbstractXmlSingleRelationshipMapping() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING; + } + + /** + * Returns the value of the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Join Table</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>Join Table</em>' containment reference. + * @see #setJoinTable(XmlJoinTable) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer_JoinTable() + * @model containment="true" + * @generated + */ + public XmlJoinTable getJoinTable() + { + return joinTable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetJoinTable(XmlJoinTable newJoinTable, NotificationChain msgs) + { + XmlJoinTable oldJoinTable = joinTable; + joinTable = newJoinTable; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE, oldJoinTable, newJoinTable); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#getJoinTable <em>Join Table</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Join Table</em>' containment reference. + * @see #getJoinTable() + * @generated + */ + public void setJoinTable(XmlJoinTable newJoinTable) + { + if (newJoinTable != joinTable) + { + NotificationChain msgs = null; + if (joinTable != null) + msgs = ((InternalEObject)joinTable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE, null, msgs); + if (newJoinTable != null) + msgs = ((InternalEObject)newJoinTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE, null, msgs); + msgs = basicSetJoinTable(newJoinTable, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE, newJoinTable, newJoinTable)); + } + + /** + * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer_JoinColumns() + * @model containment="true" + * @generated + */ + public EList<XmlJoinColumn> getJoinColumns() + { + if (joinColumns == null) + { + joinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS); + } + return joinColumns; + } + + /** + * Returns the value of the '<em><b>Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Id</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Id</em>' attribute. + * @see #setId(Boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlDerivedId_2_0_Id() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + public Boolean getId() + { + return id; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#getId <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Id</em>' attribute. + * @see #getId() + * @generated + */ + public void setId(Boolean newId) + { + Boolean oldId = id; + id = newId; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID, oldId, id)); + } + + /** + * Returns the value of the '<em><b>Maps Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Maps Id</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Maps Id</em>' attribute. + * @see #setMapsId(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapsId_2_0_MapsId() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getMapsId() + { + return mapsId; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#getMapsId <em>Maps Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Maps Id</em>' attribute. + * @see #getMapsId() + * @generated + */ + public void setMapsId(String newMapsId) + { + String oldMapsId = mapsId; + mapsId = newMapsId; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID, oldMapsId, mapsId)); + } + + /** + * Returns the value of the '<em><b>Optional</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Optional</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Optional</em>' attribute. + * @see #setOptional(Boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlSingleRelationshipMapping_Optional() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + public Boolean getOptional() { + return optional; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#getOptional <em>Optional</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Optional</em>' attribute. + * @see #getOptional() + * @generated + */ + public void setOptional(Boolean newOptional) { + Boolean oldOptional = optional; + optional = newOptional; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL, oldOptional, optional)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE: + return basicSetJoinTable(null, msgs); + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS: + return ((InternalEList<?>)getJoinColumns()).basicRemove(otherEnd, 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.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE: + return getJoinTable(); + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS: + return getJoinColumns(); + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID: + return getId(); + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID: + return getMapsId(); + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL: + return getOptional(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE: + setJoinTable((XmlJoinTable)newValue); + return; + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS: + getJoinColumns().clear(); + getJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue); + return; + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID: + setId((Boolean)newValue); + return; + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID: + setMapsId((String)newValue); + return; + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL: + setOptional((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_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE: + setJoinTable((XmlJoinTable)null); + return; + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS: + getJoinColumns().clear(); + return; + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID: + setId(ID_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID: + setMapsId(MAPS_ID_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL: + setOptional(OPTIONAL_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE: + return joinTable != null; + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS: + return joinColumns != null && !joinColumns.isEmpty(); + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID: + return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id); + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID: + return MAPS_ID_EDEFAULT == null ? mapsId != null : !MAPS_ID_EDEFAULT.equals(mapsId); + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL: + return OPTIONAL_EDEFAULT == null ? optional != null : !OPTIONAL_EDEFAULT.equals(optional); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlJoinTableContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE: return OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE; + default: return -1; + } + } + if (baseClass == XmlJoinColumnContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS: return OrmPackage.XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS; + default: return -1; + } + } + if (baseClass == XmlDerivedId_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID: return OrmV2_0Package.XML_DERIVED_ID_20__ID; + default: return -1; + } + } + if (baseClass == XmlMapsId_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID: return OrmV2_0Package.XML_MAPS_ID_20__MAPS_ID; + default: return -1; + } + } + if (baseClass == XmlSingleRelationshipMapping_2_0.class) + { + switch (derivedFeatureID) + { + 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 == XmlJoinTableContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE: return OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE; + default: return -1; + } + } + if (baseClass == XmlJoinColumnContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS: return OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS; + default: return -1; + } + } + if (baseClass == XmlDerivedId_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_DERIVED_ID_20__ID: return OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID; + default: return -1; + } + } + if (baseClass == XmlMapsId_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_MAPS_ID_20__MAPS_ID: return OrmPackage.ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID; + default: return -1; + } + } + if (baseClass == XmlSingleRelationshipMapping_2_0.class) + { + switch (baseFeatureID) + { + 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(" (id: "); + result.append(id); + result.append(", mapsId: "); + result.append(mapsId); + result.append(", optional: "); + result.append(optional); + result.append(')'); + return result.toString(); + } + + + // ********** validation *********** + + public TextRange getMapsIdTextRange() { + return getAttributeTextRange(JPA2_0.MAPS_ID); + } + + public TextRange getIdTextRange() { + return getAttributeTextRange(JPA2_0.ID); + } + + + // ********** translators ********** + + protected static Translator buildOptionalTranslator() { + return new Translator(JPA.OPTIONAL, OrmPackage.eINSTANCE.getAbstractXmlSingleRelationshipMapping_Optional(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildMapsIdTranslator() { + return new Translator(JPA2_0.MAPS_ID, OrmV2_0Package.eINSTANCE.getXmlMapsId_2_0_MapsId(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildIdTranslator() { + return new Translator(JPA2_0.ID, OrmV2_0Package.eINSTANCE.getXmlDerivedId_2_0_Id(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildJoinColumnTranslator() { + return XmlJoinColumn.buildTranslator(JPA.JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlJoinColumnContainer_JoinColumns()); + } + + protected static Translator buildJoinTableTranslator() { + return XmlJoinTable.buildTranslator(JPA.JOIN_TABLE, OrmPackage.eINSTANCE.getXmlJoinTableContainer_JoinTable()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTable.java new file mode 100644 index 0000000000..b6d29499f6 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTable.java @@ -0,0 +1,467 @@ +/******************************************************************************* + * Copyright (c) 2008, 2012 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Abstract Xml Base Table</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.jpa.core.resource.orm.AbstractXmlTable#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getCatalog <em>Catalog</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getSchema <em>Schema</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getUniqueConstraints <em>Unique Constraints</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable() + * @model kind="class" abstract="true" + * @extends EBaseObject + * @generated + */ +public abstract class AbstractXmlTable extends EBaseObjectImpl implements EBaseObject +{ + /** + * 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 #getCatalog() <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCatalog() + * @generated + * @ordered + */ + protected static final String CATALOG_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCatalog() <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCatalog() + * @generated + * @ordered + */ + protected String catalog = CATALOG_EDEFAULT; + + /** + * The default value of the '{@link #getSchema() <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSchema() + * @generated + * @ordered + */ + protected static final String SCHEMA_EDEFAULT = null; + + /** + * The cached value of the '{@link #getSchema() <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSchema() + * @generated + * @ordered + */ + protected String schema = SCHEMA_EDEFAULT; + + /** + * The cached value of the '{@link #getUniqueConstraints() <em>Unique Constraints</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getUniqueConstraints() + * @generated + * @ordered + */ + protected EList<XmlUniqueConstraint> uniqueConstraints; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AbstractXmlTable() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ABSTRACT_XML_TABLE; + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable_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.jpa.core.resource.orm.AbstractXmlTable#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_TABLE__NAME, oldName, name)); + } + + /** + * Returns the value of the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Catalog</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Catalog</em>' attribute. + * @see #setCatalog(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable_Catalog() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getCatalog() + { + return catalog; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getCatalog <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Catalog</em>' attribute. + * @see #getCatalog() + * @generated + */ + public void setCatalog(String newCatalog) + { + String oldCatalog = catalog; + catalog = newCatalog; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TABLE__CATALOG, oldCatalog, catalog)); + } + + /** + * Returns the value of the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Schema</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Schema</em>' attribute. + * @see #setSchema(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable_Schema() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getSchema() + { + return schema; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getSchema <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Schema</em>' attribute. + * @see #getSchema() + * @generated + */ + public void setSchema(String newSchema) + { + String oldSchema = schema; + schema = newSchema; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TABLE__SCHEMA, oldSchema, schema)); + } + + /** + * Returns the value of the '<em><b>Unique Constraints</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Unique Constraints</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Unique Constraints</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable_UniqueConstraints() + * @model containment="true" + * @generated + */ + public EList<XmlUniqueConstraint> getUniqueConstraints() + { + if (uniqueConstraints == null) + { + uniqueConstraints = new EObjectContainmentEList<XmlUniqueConstraint>(XmlUniqueConstraint.class, this, OrmPackage.ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS); + } + return uniqueConstraints; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS: + return ((InternalEList<?>)getUniqueConstraints()).basicRemove(otherEnd, 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.ABSTRACT_XML_TABLE__NAME: + return getName(); + case OrmPackage.ABSTRACT_XML_TABLE__CATALOG: + return getCatalog(); + case OrmPackage.ABSTRACT_XML_TABLE__SCHEMA: + return getSchema(); + case OrmPackage.ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS: + return getUniqueConstraints(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_TABLE__NAME: + setName((String)newValue); + return; + case OrmPackage.ABSTRACT_XML_TABLE__CATALOG: + setCatalog((String)newValue); + return; + case OrmPackage.ABSTRACT_XML_TABLE__SCHEMA: + setSchema((String)newValue); + return; + case OrmPackage.ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS: + getUniqueConstraints().clear(); + getUniqueConstraints().addAll((Collection<? extends XmlUniqueConstraint>)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_TABLE__NAME: + setName(NAME_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_TABLE__CATALOG: + setCatalog(CATALOG_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_TABLE__SCHEMA: + setSchema(SCHEMA_EDEFAULT); + return; + case OrmPackage.ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS: + getUniqueConstraints().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_TABLE__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case OrmPackage.ABSTRACT_XML_TABLE__CATALOG: + return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog); + case OrmPackage.ABSTRACT_XML_TABLE__SCHEMA: + return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema); + case OrmPackage.ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS: + return uniqueConstraints != null && !uniqueConstraints.isEmpty(); + } + 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(" (name: "); + result.append(name); + result.append(", catalog: "); + result.append(catalog); + result.append(", schema: "); + result.append(schema); + result.append(')'); + return result.toString(); + } + + + public TextRange getNameTextRange() { + return getAttributeTextRange(JPA.NAME); + } + + public TextRange getCatalogTextRange() { + return getAttributeTextRange(JPA.CATALOG); + } + + public TextRange getSchemaTextRange() { + return getAttributeTextRange(JPA.SCHEMA); + } + + // ********** translators ********** + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getAbstractXmlTable_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildCatalogTranslator() { + return new Translator(JPA.CATALOG, OrmPackage.eINSTANCE.getAbstractXmlTable_Catalog(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildSchemaTranslator() { + return new Translator(JPA.SCHEMA, OrmPackage.eINSTANCE.getAbstractXmlTable_Schema(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildUniqueConstraintTranslator() { + return XmlUniqueConstraint.buildTranslator(JPA.UNIQUE_CONSTRAINT, OrmPackage.eINSTANCE.getAbstractXmlTable_UniqueConstraints()); + } + + //***************** content assist **************** + + public TextRange getNameCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.NAME); + } + + public TextRange getSchemaCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.SCHEMA); + } + + public TextRange getCatalogCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.CATALOG); + } + + public boolean nameTouches(int pos) { + TextRange textRange = this.getNameCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } + + public boolean schemaTouches(int pos) { + TextRange textRange = this.getSchemaCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } + + public boolean catalogTouches(int pos) { + TextRange textRange = this.getCatalogCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } +} // AbstractXmlBaseTable 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 new file mode 100644 index 0000000000..5f8d393c8e --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlTypeMapping.java @@ -0,0 +1,568 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.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.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; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Type Mapping</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.jpa.core.resource.orm.OrmPackage#getAbstractXmlTypeMapping() + * @model kind="class" abstract="true" + * @generated + */ +public abstract class AbstractXmlTypeMapping extends EBaseObjectImpl implements XmlTypeMapping +{ + + /** + * The default value of the '{@link #getAccess() <em>Access</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAccess() + * @generated + * @ordered + */ + protected static final String ACCESS_EDEFAULT = null; + + /** + * The cached value of the '{@link #getAccess() <em>Access</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAccess() + * @generated + * @ordered + */ + 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 --> + * @see #getMetadataComplete() + * @generated + * @ordered + */ + protected static final Boolean METADATA_COMPLETE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getMetadataComplete() <em>Metadata Complete</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMetadataComplete() + * @generated + * @ordered + */ + 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 --> + * @see #getAttributes() + * @generated + * @ordered + */ + protected Attributes attributes; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AbstractXmlTypeMapping() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ABSTRACT_XML_TYPE_MAPPING; + } + + /** + * 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> + * If the meaning of the '<em>Access</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Access</em>' attribute. + * @see #setAccess(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder_Access() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getAccess() + { + return access; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping#getAccess <em>Access</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Access</em>' attribute. + * @see #getAccess() + * @generated + */ + public void setAccess(String newAccess) + { + String oldAccess = access; + access = newAccess; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ACCESS, oldAccess, access)); + } + + /** + * Returns the value of the '<em><b>Metadata Complete</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Metadata Complete</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Metadata Complete</em>' attribute. + * @see #setMetadataComplete(Boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_MetadataComplete() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + public Boolean getMetadataComplete() + { + return metadataComplete; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping#getMetadataComplete <em>Metadata Complete</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Metadata Complete</em>' attribute. + * @see #getMetadataComplete() + * @generated + */ + public void setMetadataComplete(Boolean newMetadataComplete) + { + Boolean oldMetadataComplete = metadataComplete; + metadataComplete = newMetadataComplete; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE, oldMetadataComplete, metadataComplete)); + } + + /** + * 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> + * If the meaning of the '<em>Attributes</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>Attributes</em>' containment reference. + * @see #setAttributes(Attributes) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_Attributes() + * @model containment="true" + * @generated + */ + public Attributes getAttributes() + { + return attributes; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetAttributes(Attributes newAttributes, NotificationChain msgs) + { + Attributes oldAttributes = attributes; + attributes = newAttributes; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES, oldAttributes, newAttributes); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping#getAttributes <em>Attributes</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Attributes</em>' containment reference. + * @see #getAttributes() + * @generated + */ + public void setAttributes(Attributes newAttributes) + { + if (newAttributes != attributes) + { + NotificationChain msgs = null; + if (attributes != null) + msgs = ((InternalEObject)attributes).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES, null, msgs); + if (newAttributes != null) + msgs = ((InternalEObject)newAttributes).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES, null, msgs); + msgs = basicSetAttributes(newAttributes, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES, newAttributes, newAttributes)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES: + return basicSetAttributes(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.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(); + } + 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_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; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + 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; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + 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; + } + 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(" (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); + } + + public TextRange getNameTextRange(){ + return getAttributeTextRange(JPA.NAME); + } + + // ********** 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(); + } + + protected static Translator buildAccessTranslator() { + 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 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Attributes.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Attributes.java new file mode 100644 index 0000000000..dff6d699c3 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Attributes.java @@ -0,0 +1,792 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +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.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.utility.internal.collection.CollectionTools; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Attributes</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.jpa.core.resource.orm.Attributes#getIds <em>Ids</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getEmbeddedIds <em>Embedded Ids</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getBasics <em>Basics</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getVersions <em>Versions</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getManyToOnes <em>Many To Ones</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getOneToManys <em>One To Manys</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getOneToOnes <em>One To Ones</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getManyToManys <em>Many To Manys</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getEmbeddeds <em>Embeddeds</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getTransients <em>Transients</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes() + * @model kind="class" + * @generated + */ +public class Attributes extends EBaseObjectImpl implements XmlAttributes_2_0 +{ + /** + * 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 #getElementCollections() <em>Element Collections</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getElementCollections() + * @generated + * @ordered + */ + protected EList<XmlElementCollection> elementCollections; + + /** + * The cached value of the '{@link #getIds() <em>Ids</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getIds() + * @generated + * @ordered + */ + protected EList<XmlId> ids; + + /** + * The cached value of the '{@link #getEmbeddedIds() <em>Embedded Ids</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEmbeddedIds() + * @generated + * @ordered + */ + protected EList<XmlEmbeddedId> embeddedIds; + + /** + * The cached value of the '{@link #getBasics() <em>Basics</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getBasics() + * @generated + * @ordered + */ + protected EList<XmlBasic> basics; + + /** + * The cached value of the '{@link #getVersions() <em>Versions</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getVersions() + * @generated + * @ordered + */ + protected EList<XmlVersion> versions; + + /** + * The cached value of the '{@link #getManyToOnes() <em>Many To Ones</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getManyToOnes() + * @generated + * @ordered + */ + protected EList<XmlManyToOne> manyToOnes; + + /** + * The cached value of the '{@link #getOneToManys() <em>One To Manys</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOneToManys() + * @generated + * @ordered + */ + protected EList<XmlOneToMany> oneToManys; + + /** + * The cached value of the '{@link #getOneToOnes() <em>One To Ones</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOneToOnes() + * @generated + * @ordered + */ + protected EList<XmlOneToOne> oneToOnes; + + /** + * The cached value of the '{@link #getManyToManys() <em>Many To Manys</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getManyToManys() + * @generated + * @ordered + */ + protected EList<XmlManyToMany> manyToManys; + + /** + * The cached value of the '{@link #getEmbeddeds() <em>Embeddeds</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEmbeddeds() + * @generated + * @ordered + */ + protected EList<XmlEmbedded> embeddeds; + + /** + * The cached value of the '{@link #getTransients() <em>Transients</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTransients() + * @generated + * @ordered + */ + protected EList<XmlTransient> transients; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Attributes() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ATTRIBUTES; + } + + /** + * 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#getXmlAttributes_2_0_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.Attributes#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.ATTRIBUTES__DESCRIPTION, oldDescription, description)); + } + + /** + * Returns the value of the '<em><b>Element Collections</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Element Collections</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Element Collections</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributes_2_0_ElementCollections() + * @model containment="true" + * @generated + */ + public EList<XmlElementCollection> getElementCollections() + { + if (elementCollections == null) + { + elementCollections = new EObjectContainmentEList<XmlElementCollection>(XmlElementCollection.class, this, OrmPackage.ATTRIBUTES__ELEMENT_COLLECTIONS); + } + return elementCollections; + } + + /** + * Returns the value of the '<em><b>Ids</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlId}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Ids</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Ids</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_Ids() + * @model containment="true" + * @generated + */ + public EList<XmlId> getIds() + { + if (ids == null) + { + ids = new EObjectContainmentEList<XmlId>(XmlId.class, this, OrmPackage.ATTRIBUTES__IDS); + } + return ids; + } + + /** + * Returns the value of the '<em><b>Embedded Ids</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Embedded Ids</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Embedded Ids</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_EmbeddedIds() + * @model containment="true" + * @generated + */ + public EList<XmlEmbeddedId> getEmbeddedIds() + { + if (embeddedIds == null) + { + embeddedIds = new EObjectContainmentEList<XmlEmbeddedId>(XmlEmbeddedId.class, this, OrmPackage.ATTRIBUTES__EMBEDDED_IDS); + } + return embeddedIds; + } + + /** + * Returns the value of the '<em><b>Basics</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Basics</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Basics</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_Basics() + * @model containment="true" + * @generated + */ + public EList<XmlBasic> getBasics() + { + if (basics == null) + { + basics = new EObjectContainmentEList<XmlBasic>(XmlBasic.class, this, OrmPackage.ATTRIBUTES__BASICS); + } + return basics; + } + + /** + * Returns the value of the '<em><b>Versions</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Versions</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Versions</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_Versions() + * @model containment="true" + * @generated + */ + public EList<XmlVersion> getVersions() + { + if (versions == null) + { + versions = new EObjectContainmentEList<XmlVersion>(XmlVersion.class, this, OrmPackage.ATTRIBUTES__VERSIONS); + } + return versions; + } + + /** + * Returns the value of the '<em><b>Many To Ones</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Many To Ones</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Many To Ones</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_ManyToOnes() + * @model containment="true" + * @generated + */ + public EList<XmlManyToOne> getManyToOnes() + { + if (manyToOnes == null) + { + manyToOnes = new EObjectContainmentEList<XmlManyToOne>(XmlManyToOne.class, this, OrmPackage.ATTRIBUTES__MANY_TO_ONES); + } + return manyToOnes; + } + + /** + * Returns the value of the '<em><b>One To Manys</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>One To Manys</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>One To Manys</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_OneToManys() + * @model containment="true" + * @generated + */ + public EList<XmlOneToMany> getOneToManys() + { + if (oneToManys == null) + { + oneToManys = new EObjectContainmentEList<XmlOneToMany>(XmlOneToMany.class, this, OrmPackage.ATTRIBUTES__ONE_TO_MANYS); + } + return oneToManys; + } + + /** + * Returns the value of the '<em><b>One To Ones</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>One To Ones</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>One To Ones</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_OneToOnes() + * @model containment="true" + * @generated + */ + public EList<XmlOneToOne> getOneToOnes() + { + if (oneToOnes == null) + { + oneToOnes = new EObjectContainmentEList<XmlOneToOne>(XmlOneToOne.class, this, OrmPackage.ATTRIBUTES__ONE_TO_ONES); + } + return oneToOnes; + } + + /** + * Returns the value of the '<em><b>Many To Manys</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Many To Manys</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Many To Manys</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_ManyToManys() + * @model containment="true" + * @generated + */ + public EList<XmlManyToMany> getManyToManys() + { + if (manyToManys == null) + { + manyToManys = new EObjectContainmentEList<XmlManyToMany>(XmlManyToMany.class, this, OrmPackage.ATTRIBUTES__MANY_TO_MANYS); + } + return manyToManys; + } + + /** + * Returns the value of the '<em><b>Embeddeds</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Embeddeds</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Embeddeds</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_Embeddeds() + * @model containment="true" + * @generated + */ + public EList<XmlEmbedded> getEmbeddeds() + { + if (embeddeds == null) + { + embeddeds = new EObjectContainmentEList<XmlEmbedded>(XmlEmbedded.class, this, OrmPackage.ATTRIBUTES__EMBEDDEDS); + } + return embeddeds; + } + + /** + * Returns the value of the '<em><b>Transients</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlTransient}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Transients</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Transients</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes_Transients() + * @model containment="true" + * @generated + */ + public EList<XmlTransient> getTransients() + { + if (transients == null) + { + transients = new EObjectContainmentEList<XmlTransient>(XmlTransient.class, this, OrmPackage.ATTRIBUTES__TRANSIENTS); + } + return transients; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.ATTRIBUTES__ELEMENT_COLLECTIONS: + return ((InternalEList<?>)getElementCollections()).basicRemove(otherEnd, msgs); + case OrmPackage.ATTRIBUTES__IDS: + return ((InternalEList<?>)getIds()).basicRemove(otherEnd, msgs); + case OrmPackage.ATTRIBUTES__EMBEDDED_IDS: + return ((InternalEList<?>)getEmbeddedIds()).basicRemove(otherEnd, msgs); + case OrmPackage.ATTRIBUTES__BASICS: + return ((InternalEList<?>)getBasics()).basicRemove(otherEnd, msgs); + case OrmPackage.ATTRIBUTES__VERSIONS: + return ((InternalEList<?>)getVersions()).basicRemove(otherEnd, msgs); + case OrmPackage.ATTRIBUTES__MANY_TO_ONES: + return ((InternalEList<?>)getManyToOnes()).basicRemove(otherEnd, msgs); + case OrmPackage.ATTRIBUTES__ONE_TO_MANYS: + return ((InternalEList<?>)getOneToManys()).basicRemove(otherEnd, msgs); + case OrmPackage.ATTRIBUTES__ONE_TO_ONES: + return ((InternalEList<?>)getOneToOnes()).basicRemove(otherEnd, msgs); + case OrmPackage.ATTRIBUTES__MANY_TO_MANYS: + return ((InternalEList<?>)getManyToManys()).basicRemove(otherEnd, msgs); + case OrmPackage.ATTRIBUTES__EMBEDDEDS: + return ((InternalEList<?>)getEmbeddeds()).basicRemove(otherEnd, msgs); + case OrmPackage.ATTRIBUTES__TRANSIENTS: + return ((InternalEList<?>)getTransients()).basicRemove(otherEnd, 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.ATTRIBUTES__DESCRIPTION: + return getDescription(); + case OrmPackage.ATTRIBUTES__ELEMENT_COLLECTIONS: + return getElementCollections(); + case OrmPackage.ATTRIBUTES__IDS: + return getIds(); + case OrmPackage.ATTRIBUTES__EMBEDDED_IDS: + return getEmbeddedIds(); + case OrmPackage.ATTRIBUTES__BASICS: + return getBasics(); + case OrmPackage.ATTRIBUTES__VERSIONS: + return getVersions(); + case OrmPackage.ATTRIBUTES__MANY_TO_ONES: + return getManyToOnes(); + case OrmPackage.ATTRIBUTES__ONE_TO_MANYS: + return getOneToManys(); + case OrmPackage.ATTRIBUTES__ONE_TO_ONES: + return getOneToOnes(); + case OrmPackage.ATTRIBUTES__MANY_TO_MANYS: + return getManyToManys(); + case OrmPackage.ATTRIBUTES__EMBEDDEDS: + return getEmbeddeds(); + case OrmPackage.ATTRIBUTES__TRANSIENTS: + return getTransients(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.ATTRIBUTES__DESCRIPTION: + setDescription((String)newValue); + return; + case OrmPackage.ATTRIBUTES__ELEMENT_COLLECTIONS: + getElementCollections().clear(); + getElementCollections().addAll((Collection<? extends XmlElementCollection>)newValue); + return; + case OrmPackage.ATTRIBUTES__IDS: + getIds().clear(); + getIds().addAll((Collection<? extends XmlId>)newValue); + return; + case OrmPackage.ATTRIBUTES__EMBEDDED_IDS: + getEmbeddedIds().clear(); + getEmbeddedIds().addAll((Collection<? extends XmlEmbeddedId>)newValue); + return; + case OrmPackage.ATTRIBUTES__BASICS: + getBasics().clear(); + getBasics().addAll((Collection<? extends XmlBasic>)newValue); + return; + case OrmPackage.ATTRIBUTES__VERSIONS: + getVersions().clear(); + getVersions().addAll((Collection<? extends XmlVersion>)newValue); + return; + case OrmPackage.ATTRIBUTES__MANY_TO_ONES: + getManyToOnes().clear(); + getManyToOnes().addAll((Collection<? extends XmlManyToOne>)newValue); + return; + case OrmPackage.ATTRIBUTES__ONE_TO_MANYS: + getOneToManys().clear(); + getOneToManys().addAll((Collection<? extends XmlOneToMany>)newValue); + return; + case OrmPackage.ATTRIBUTES__ONE_TO_ONES: + getOneToOnes().clear(); + getOneToOnes().addAll((Collection<? extends XmlOneToOne>)newValue); + return; + case OrmPackage.ATTRIBUTES__MANY_TO_MANYS: + getManyToManys().clear(); + getManyToManys().addAll((Collection<? extends XmlManyToMany>)newValue); + return; + case OrmPackage.ATTRIBUTES__EMBEDDEDS: + getEmbeddeds().clear(); + getEmbeddeds().addAll((Collection<? extends XmlEmbedded>)newValue); + return; + case OrmPackage.ATTRIBUTES__TRANSIENTS: + getTransients().clear(); + getTransients().addAll((Collection<? extends XmlTransient>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.ATTRIBUTES__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case OrmPackage.ATTRIBUTES__ELEMENT_COLLECTIONS: + getElementCollections().clear(); + return; + case OrmPackage.ATTRIBUTES__IDS: + getIds().clear(); + return; + case OrmPackage.ATTRIBUTES__EMBEDDED_IDS: + getEmbeddedIds().clear(); + return; + case OrmPackage.ATTRIBUTES__BASICS: + getBasics().clear(); + return; + case OrmPackage.ATTRIBUTES__VERSIONS: + getVersions().clear(); + return; + case OrmPackage.ATTRIBUTES__MANY_TO_ONES: + getManyToOnes().clear(); + return; + case OrmPackage.ATTRIBUTES__ONE_TO_MANYS: + getOneToManys().clear(); + return; + case OrmPackage.ATTRIBUTES__ONE_TO_ONES: + getOneToOnes().clear(); + return; + case OrmPackage.ATTRIBUTES__MANY_TO_MANYS: + getManyToManys().clear(); + return; + case OrmPackage.ATTRIBUTES__EMBEDDEDS: + getEmbeddeds().clear(); + return; + case OrmPackage.ATTRIBUTES__TRANSIENTS: + getTransients().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.ATTRIBUTES__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case OrmPackage.ATTRIBUTES__ELEMENT_COLLECTIONS: + return elementCollections != null && !elementCollections.isEmpty(); + case OrmPackage.ATTRIBUTES__IDS: + return ids != null && !ids.isEmpty(); + case OrmPackage.ATTRIBUTES__EMBEDDED_IDS: + return embeddedIds != null && !embeddedIds.isEmpty(); + case OrmPackage.ATTRIBUTES__BASICS: + return basics != null && !basics.isEmpty(); + case OrmPackage.ATTRIBUTES__VERSIONS: + return versions != null && !versions.isEmpty(); + case OrmPackage.ATTRIBUTES__MANY_TO_ONES: + return manyToOnes != null && !manyToOnes.isEmpty(); + case OrmPackage.ATTRIBUTES__ONE_TO_MANYS: + return oneToManys != null && !oneToManys.isEmpty(); + case OrmPackage.ATTRIBUTES__ONE_TO_ONES: + return oneToOnes != null && !oneToOnes.isEmpty(); + case OrmPackage.ATTRIBUTES__MANY_TO_MANYS: + return manyToManys != null && !manyToManys.isEmpty(); + case OrmPackage.ATTRIBUTES__EMBEDDEDS: + return embeddeds != null && !embeddeds.isEmpty(); + case OrmPackage.ATTRIBUTES__TRANSIENTS: + return transients != null && !transients.isEmpty(); + } + 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(" (description: "); + result.append(description); + result.append(')'); + return result.toString(); + } + + public List<XmlAttributeMapping> getAttributeMappings() { + // convert lists to arrays to avoid ConcurrentModificationException while adding to result list + ArrayList<XmlAttributeMapping> attributeMappings = new ArrayList<XmlAttributeMapping>(); + CollectionTools.addAll(attributeMappings, this.getIds().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); + CollectionTools.addAll(attributeMappings, this.getEmbeddedIds().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); + CollectionTools.addAll(attributeMappings, this.getBasics().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); + CollectionTools.addAll(attributeMappings, this.getVersions().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); + CollectionTools.addAll(attributeMappings, this.getManyToOnes().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); + CollectionTools.addAll(attributeMappings, this.getOneToManys().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); + CollectionTools.addAll(attributeMappings, this.getOneToOnes().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); + CollectionTools.addAll(attributeMappings, this.getManyToManys().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); + CollectionTools.addAll(attributeMappings, this.getElementCollections().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); + CollectionTools.addAll(attributeMappings, this.getEmbeddeds().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); + CollectionTools.addAll(attributeMappings, this.getTransients().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); + return attributeMappings; + } + + private static final XmlAttributeMapping[] EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY = new XmlAttributeMapping[0]; + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + public static Translator buildTranslator() { + return buildTranslator( + JPA.ATTRIBUTES, + OrmPackage.eINSTANCE.getXmlTypeMapping_Attributes()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + XmlId.buildTranslator(JPA.ID, OrmPackage.eINSTANCE.getAttributes_Ids()), + XmlEmbeddedId.buildTranslator(JPA.EMBEDDED_ID, OrmPackage.eINSTANCE.getAttributes_EmbeddedIds()), + XmlBasic.buildTranslator(JPA.BASIC, OrmPackage.eINSTANCE.getAttributes_Basics()), + XmlVersion.buildTranslator(JPA.VERSION, OrmPackage.eINSTANCE.getAttributes_Versions()), + XmlManyToOne.buildTranslator(JPA.MANY_TO_ONE, OrmPackage.eINSTANCE.getAttributes_ManyToOnes()), + XmlOneToMany.buildTranslator(JPA.ONE_TO_MANY, OrmPackage.eINSTANCE.getAttributes_OneToManys()), + XmlOneToOne.buildTranslator(JPA.ONE_TO_ONE, OrmPackage.eINSTANCE.getAttributes_OneToOnes()), + XmlManyToMany.buildTranslator(JPA.MANY_TO_MANY, OrmPackage.eINSTANCE.getAttributes_ManyToManys()), + XmlElementCollection.buildTranslator(JPA2_0.ELEMENT_COLLECTION, OrmV2_0Package.eINSTANCE.getXmlAttributes_2_0_ElementCollections()), + XmlEmbedded.buildTranslator(JPA.EMBEDDED, OrmPackage.eINSTANCE.getAttributes_Embeddeds()), + XmlTransient.buildTranslator(JPA.TRANSIENT, OrmPackage.eINSTANCE.getAttributes_Transients()), + }; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/CascadeType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/CascadeType.java new file mode 100644 index 0000000000..8656b85198 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/CascadeType.java @@ -0,0 +1,586 @@ +/******************************************************************************* + * Copyright (c) 2007, 2010 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.EmptyTagBooleanTranslator; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Cascade Type</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.jpa.core.resource.orm.CascadeType#isCascadeAll <em>Cascade All</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadePersist <em>Cascade Persist</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeMerge <em>Cascade Merge</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRemove <em>Cascade Remove</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRefresh <em>Cascade Refresh</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType() + * @model kind="class" + * @generated + */ +public class CascadeType extends EBaseObjectImpl implements XmlCascadeType_2_0 +{ + /** + * The default value of the '{@link #isCascadeDetach() <em>Cascade Detach</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadeDetach() + * @generated + * @ordered + */ + protected static final boolean CASCADE_DETACH_EDEFAULT = false; + + /** + * The cached value of the '{@link #isCascadeDetach() <em>Cascade Detach</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadeDetach() + * @generated + * @ordered + */ + protected boolean cascadeDetach = CASCADE_DETACH_EDEFAULT; + + /** + * The default value of the '{@link #isCascadeAll() <em>Cascade All</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadeAll() + * @generated + * @ordered + */ + protected static final boolean CASCADE_ALL_EDEFAULT = false; + + /** + * The cached value of the '{@link #isCascadeAll() <em>Cascade All</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadeAll() + * @generated + * @ordered + */ + protected boolean cascadeAll = CASCADE_ALL_EDEFAULT; + + /** + * The default value of the '{@link #isCascadePersist() <em>Cascade Persist</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadePersist() + * @generated + * @ordered + */ + protected static final boolean CASCADE_PERSIST_EDEFAULT = false; + + /** + * The cached value of the '{@link #isCascadePersist() <em>Cascade Persist</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadePersist() + * @generated + * @ordered + */ + protected boolean cascadePersist = CASCADE_PERSIST_EDEFAULT; + + /** + * The default value of the '{@link #isCascadeMerge() <em>Cascade Merge</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadeMerge() + * @generated + * @ordered + */ + protected static final boolean CASCADE_MERGE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isCascadeMerge() <em>Cascade Merge</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadeMerge() + * @generated + * @ordered + */ + protected boolean cascadeMerge = CASCADE_MERGE_EDEFAULT; + + /** + * The default value of the '{@link #isCascadeRemove() <em>Cascade Remove</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadeRemove() + * @generated + * @ordered + */ + protected static final boolean CASCADE_REMOVE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isCascadeRemove() <em>Cascade Remove</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadeRemove() + * @generated + * @ordered + */ + protected boolean cascadeRemove = CASCADE_REMOVE_EDEFAULT; + + /** + * The default value of the '{@link #isCascadeRefresh() <em>Cascade Refresh</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadeRefresh() + * @generated + * @ordered + */ + protected static final boolean CASCADE_REFRESH_EDEFAULT = false; + + /** + * The cached value of the '{@link #isCascadeRefresh() <em>Cascade Refresh</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadeRefresh() + * @generated + * @ordered + */ + protected boolean cascadeRefresh = CASCADE_REFRESH_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CascadeType() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.CASCADE_TYPE; + } + + /** + * Returns the value of the '<em><b>Cascade Detach</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Cascade Detach</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Cascade Detach</em>' attribute. + * @see #setCascadeDetach(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlCascadeType_2_0_CascadeDetach() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isCascadeDetach() + { + return cascadeDetach; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeDetach <em>Cascade Detach</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Cascade Detach</em>' attribute. + * @see #isCascadeDetach() + * @generated + */ + public void setCascadeDetach(boolean newCascadeDetach) + { + boolean oldCascadeDetach = cascadeDetach; + cascadeDetach = newCascadeDetach; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CASCADE_TYPE__CASCADE_DETACH, oldCascadeDetach, cascadeDetach)); + } + + /** + * Returns the value of the '<em><b>Cascade All</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Cascade All</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Cascade All</em>' attribute. + * @see #setCascadeAll(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType_CascadeAll() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isCascadeAll() + { + return cascadeAll; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeAll <em>Cascade All</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Cascade All</em>' attribute. + * @see #isCascadeAll() + * @generated + */ + public void setCascadeAll(boolean newCascadeAll) + { + boolean oldCascadeAll = cascadeAll; + cascadeAll = newCascadeAll; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CASCADE_TYPE__CASCADE_ALL, oldCascadeAll, cascadeAll)); + } + + /** + * Returns the value of the '<em><b>Cascade Persist</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Cascade Persist</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Cascade Persist</em>' attribute. + * @see #setCascadePersist(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType_CascadePersist() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isCascadePersist() + { + return cascadePersist; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadePersist <em>Cascade Persist</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Cascade Persist</em>' attribute. + * @see #isCascadePersist() + * @generated + */ + public void setCascadePersist(boolean newCascadePersist) + { + boolean oldCascadePersist = cascadePersist; + cascadePersist = newCascadePersist; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CASCADE_TYPE__CASCADE_PERSIST, oldCascadePersist, cascadePersist)); + } + + /** + * Returns the value of the '<em><b>Cascade Merge</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Cascade Merge</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Cascade Merge</em>' attribute. + * @see #setCascadeMerge(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType_CascadeMerge() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isCascadeMerge() + { + return cascadeMerge; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeMerge <em>Cascade Merge</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Cascade Merge</em>' attribute. + * @see #isCascadeMerge() + * @generated + */ + public void setCascadeMerge(boolean newCascadeMerge) + { + boolean oldCascadeMerge = cascadeMerge; + cascadeMerge = newCascadeMerge; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CASCADE_TYPE__CASCADE_MERGE, oldCascadeMerge, cascadeMerge)); + } + + /** + * Returns the value of the '<em><b>Cascade Remove</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Cascade Remove</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Cascade Remove</em>' attribute. + * @see #setCascadeRemove(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType_CascadeRemove() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isCascadeRemove() + { + return cascadeRemove; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRemove <em>Cascade Remove</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Cascade Remove</em>' attribute. + * @see #isCascadeRemove() + * @generated + */ + public void setCascadeRemove(boolean newCascadeRemove) + { + boolean oldCascadeRemove = cascadeRemove; + cascadeRemove = newCascadeRemove; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CASCADE_TYPE__CASCADE_REMOVE, oldCascadeRemove, cascadeRemove)); + } + + /** + * Returns the value of the '<em><b>Cascade Refresh</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Cascade Refresh</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Cascade Refresh</em>' attribute. + * @see #setCascadeRefresh(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType_CascadeRefresh() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isCascadeRefresh() + { + return cascadeRefresh; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRefresh <em>Cascade Refresh</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Cascade Refresh</em>' attribute. + * @see #isCascadeRefresh() + * @generated + */ + public void setCascadeRefresh(boolean newCascadeRefresh) + { + boolean oldCascadeRefresh = cascadeRefresh; + cascadeRefresh = newCascadeRefresh; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CASCADE_TYPE__CASCADE_REFRESH, oldCascadeRefresh, cascadeRefresh)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.CASCADE_TYPE__CASCADE_DETACH: + return isCascadeDetach(); + case OrmPackage.CASCADE_TYPE__CASCADE_ALL: + return isCascadeAll(); + case OrmPackage.CASCADE_TYPE__CASCADE_PERSIST: + return isCascadePersist(); + case OrmPackage.CASCADE_TYPE__CASCADE_MERGE: + return isCascadeMerge(); + case OrmPackage.CASCADE_TYPE__CASCADE_REMOVE: + return isCascadeRemove(); + case OrmPackage.CASCADE_TYPE__CASCADE_REFRESH: + return isCascadeRefresh(); + } + 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.CASCADE_TYPE__CASCADE_DETACH: + setCascadeDetach((Boolean)newValue); + return; + case OrmPackage.CASCADE_TYPE__CASCADE_ALL: + setCascadeAll((Boolean)newValue); + return; + case OrmPackage.CASCADE_TYPE__CASCADE_PERSIST: + setCascadePersist((Boolean)newValue); + return; + case OrmPackage.CASCADE_TYPE__CASCADE_MERGE: + setCascadeMerge((Boolean)newValue); + return; + case OrmPackage.CASCADE_TYPE__CASCADE_REMOVE: + setCascadeRemove((Boolean)newValue); + return; + case OrmPackage.CASCADE_TYPE__CASCADE_REFRESH: + setCascadeRefresh((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.CASCADE_TYPE__CASCADE_DETACH: + setCascadeDetach(CASCADE_DETACH_EDEFAULT); + return; + case OrmPackage.CASCADE_TYPE__CASCADE_ALL: + setCascadeAll(CASCADE_ALL_EDEFAULT); + return; + case OrmPackage.CASCADE_TYPE__CASCADE_PERSIST: + setCascadePersist(CASCADE_PERSIST_EDEFAULT); + return; + case OrmPackage.CASCADE_TYPE__CASCADE_MERGE: + setCascadeMerge(CASCADE_MERGE_EDEFAULT); + return; + case OrmPackage.CASCADE_TYPE__CASCADE_REMOVE: + setCascadeRemove(CASCADE_REMOVE_EDEFAULT); + return; + case OrmPackage.CASCADE_TYPE__CASCADE_REFRESH: + setCascadeRefresh(CASCADE_REFRESH_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.CASCADE_TYPE__CASCADE_DETACH: + return cascadeDetach != CASCADE_DETACH_EDEFAULT; + case OrmPackage.CASCADE_TYPE__CASCADE_ALL: + return cascadeAll != CASCADE_ALL_EDEFAULT; + case OrmPackage.CASCADE_TYPE__CASCADE_PERSIST: + return cascadePersist != CASCADE_PERSIST_EDEFAULT; + case OrmPackage.CASCADE_TYPE__CASCADE_MERGE: + return cascadeMerge != CASCADE_MERGE_EDEFAULT; + case OrmPackage.CASCADE_TYPE__CASCADE_REMOVE: + return cascadeRemove != CASCADE_REMOVE_EDEFAULT; + case OrmPackage.CASCADE_TYPE__CASCADE_REFRESH: + return cascadeRefresh != CASCADE_REFRESH_EDEFAULT; + } + 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(" (cascadeDetach: "); + result.append(cascadeDetach); + result.append(", cascadeAll: "); + result.append(cascadeAll); + result.append(", cascadePersist: "); + result.append(cascadePersist); + result.append(", cascadeMerge: "); + result.append(cascadeMerge); + result.append(", cascadeRemove: "); + result.append(cascadeRemove); + result.append(", cascadeRefresh: "); + result.append(cascadeRefresh); + result.append(')'); + return result.toString(); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildCascadeAllTranslator(), + buildCascadePersistTranslator(), + buildCascadeMergeTranslator(), + buildCascadeRemoveTranslator(), + buildCascadeRefreshTranslator(), + buildCascadeDetachTranslator() + }; + } + + protected static Translator buildCascadeAllTranslator() { + return new EmptyTagBooleanTranslator(JPA.CASCADE_ALL, OrmPackage.eINSTANCE.getCascadeType_CascadeAll()); + } + + protected static Translator buildCascadePersistTranslator() { + return new EmptyTagBooleanTranslator(JPA.CASCADE_PERSIST, OrmPackage.eINSTANCE.getCascadeType_CascadePersist()); + } + + protected static Translator buildCascadeMergeTranslator() { + return new EmptyTagBooleanTranslator(JPA.CASCADE_MERGE, OrmPackage.eINSTANCE.getCascadeType_CascadeMerge()); + } + + protected static Translator buildCascadeRemoveTranslator() { + return new EmptyTagBooleanTranslator(JPA.CASCADE_REMOVE, OrmPackage.eINSTANCE.getCascadeType_CascadeRemove()); + } + + protected static Translator buildCascadeRefreshTranslator() { + return new EmptyTagBooleanTranslator(JPA.CASCADE_REFRESH, OrmPackage.eINSTANCE.getCascadeType_CascadeRefresh()); + } + + protected static Translator buildCascadeDetachTranslator() { + return new EmptyTagBooleanTranslator(JPA.CASCADE_DETACH, OrmV2_0Package.eINSTANCE.getXmlCascadeType_2_0_CascadeDetach()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnMapping.java new file mode 100644 index 0000000000..c5fb0765e6 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnMapping.java @@ -0,0 +1,65 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Column Mapping</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.jpa.core.resource.orm.ColumnMapping#getColumn <em>Column</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnMapping() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface ColumnMapping extends EBaseObject +{ + /** + * 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.jpa.core.resource.orm.OrmPackage#getColumnMapping_Column() + * @model containment="true" + * @generated + */ + XmlColumn getColumn(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping#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 + */ + void setColumn(XmlColumn value); + +} // ColumnMapping diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnResult.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnResult.java new file mode 100644 index 0000000000..2e451b04fa --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/ColumnResult.java @@ -0,0 +1,221 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Column Result</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.jpa.core.resource.orm.ColumnResult#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnResult() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class ColumnResult extends EBaseObjectImpl implements EBaseObject +{ + /** + * 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 ColumnResult() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.COLUMN_RESULT; + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getColumnResult_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getName() + { + return name; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnResult#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_RESULT__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.COLUMN_RESULT__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.COLUMN_RESULT__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.COLUMN_RESULT__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.COLUMN_RESULT__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(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + }; + } + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getColumnResult_Name(), Translator.DOM_ATTRIBUTE); + } + +} // ColumnResult diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/DiscriminatorType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/DiscriminatorType.java new file mode 100644 index 0000000000..112880bef5 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/DiscriminatorType.java @@ -0,0 +1,262 @@ +/******************************************************************************* + * Copyright (c) 2007, 2008 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.jpa.core.resource.orm; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Discriminator Type</b></em>', + * and utility methods for working with them. + * + * 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.jpa.core.resource.orm.OrmPackage#getDiscriminatorType() + * @model + * @generated + */ +public enum DiscriminatorType implements Enumerator +{ + /** + * The '<em><b>STRING</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #STRING_VALUE + * @generated + * @ordered + */ + STRING(0, "STRING", "STRING"), + + /** + * The '<em><b>CHAR</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #CHAR_VALUE + * @generated + * @ordered + */ + CHAR(1, "CHAR", "CHAR"), + + /** + * The '<em><b>INTEGER</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #INTEGER_VALUE + * @generated + * @ordered + */ + INTEGER(2, "INTEGER", "INTEGER"); + + /** + * The '<em><b>STRING</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>STRING</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #STRING + * @model + * @generated + * @ordered + */ + public static final int STRING_VALUE = 0; + + /** + * The '<em><b>CHAR</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>CHAR</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #CHAR + * @model + * @generated + * @ordered + */ + public static final int CHAR_VALUE = 1; + + /** + * The '<em><b>INTEGER</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>INTEGER</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #INTEGER + * @model + * @generated + * @ordered + */ + public static final int INTEGER_VALUE = 2; + + /** + * An array of all the '<em><b>Discriminator Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final DiscriminatorType[] VALUES_ARRAY = + new DiscriminatorType[] + { + STRING, + CHAR, + INTEGER, + }; + + /** + * A public read-only list of all the '<em><b>Discriminator Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<DiscriminatorType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Discriminator Type</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static DiscriminatorType get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + DiscriminatorType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Discriminator Type</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static DiscriminatorType getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + DiscriminatorType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Discriminator Type</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static DiscriminatorType get(int value) + { + switch (value) + { + case STRING_VALUE: return STRING; + case CHAR_VALUE: return CHAR; + case INTEGER_VALUE: return INTEGER; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private DiscriminatorType(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //DiscriminatorType diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListener.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListener.java new file mode 100644 index 0000000000..a8c9e6a876 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListener.java @@ -0,0 +1,928 @@ +/******************************************************************************* + * 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.jpa.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.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Entity Listener</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.jpa.core.resource.orm.EntityListener#getClassName <em>Class Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListener() + * @model kind="class" + * @generated + */ +public class EntityListener extends EBaseObjectImpl implements XmlEventMethodContainer, XmlEntityListener_2_0 +{ + /** + * The cached value of the '{@link #getPrePersist() <em>Pre Persist</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPrePersist() + * @generated + * @ordered + */ + protected PrePersist prePersist; + + /** + * The cached value of the '{@link #getPostPersist() <em>Post Persist</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPostPersist() + * @generated + * @ordered + */ + protected PostPersist postPersist; + + /** + * The cached value of the '{@link #getPreRemove() <em>Pre Remove</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPreRemove() + * @generated + * @ordered + */ + protected PreRemove preRemove; + + /** + * The cached value of the '{@link #getPostRemove() <em>Post Remove</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPostRemove() + * @generated + * @ordered + */ + protected PostRemove postRemove; + + /** + * The cached value of the '{@link #getPreUpdate() <em>Pre Update</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPreUpdate() + * @generated + * @ordered + */ + protected PreUpdate preUpdate; + + /** + * The cached value of the '{@link #getPostUpdate() <em>Post Update</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPostUpdate() + * @generated + * @ordered + */ + protected PostUpdate postUpdate; + + /** + * The cached value of the '{@link #getPostLoad() <em>Post Load</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPostLoad() + * @generated + * @ordered + */ + protected PostLoad postLoad; + + /** + * 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 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; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EntityListener() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ENTITY_LISTENER; + } + + /** + * 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#getEntityListener_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.EntityListener#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.ENTITY_LISTENER__CLASS_NAME, oldClassName, className)); + } + + /** + * Returns the value of the '<em><b>Pre Persist</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Pre Persist</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>Pre Persist</em>' containment reference. + * @see #setPrePersist(PrePersist) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PrePersist() + * @model containment="true" + * @generated + */ + public PrePersist getPrePersist() + { + return prePersist; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPrePersist(PrePersist newPrePersist, NotificationChain msgs) + { + PrePersist oldPrePersist = prePersist; + prePersist = newPrePersist; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__PRE_PERSIST, oldPrePersist, newPrePersist); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPrePersist <em>Pre Persist</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Pre Persist</em>' containment reference. + * @see #getPrePersist() + * @generated + */ + public void setPrePersist(PrePersist newPrePersist) + { + if (newPrePersist != prePersist) + { + NotificationChain msgs = null; + if (prePersist != null) + msgs = ((InternalEObject)prePersist).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__PRE_PERSIST, null, msgs); + if (newPrePersist != null) + msgs = ((InternalEObject)newPrePersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__PRE_PERSIST, null, msgs); + msgs = basicSetPrePersist(newPrePersist, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__PRE_PERSIST, newPrePersist, newPrePersist)); + } + + /** + * Returns the value of the '<em><b>Post Persist</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Post Persist</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>Post Persist</em>' containment reference. + * @see #setPostPersist(PostPersist) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostPersist() + * @model containment="true" + * @generated + */ + public PostPersist getPostPersist() + { + return postPersist; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPostPersist(PostPersist newPostPersist, NotificationChain msgs) + { + PostPersist oldPostPersist = postPersist; + postPersist = newPostPersist; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_PERSIST, oldPostPersist, newPostPersist); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPostPersist <em>Post Persist</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Post Persist</em>' containment reference. + * @see #getPostPersist() + * @generated + */ + public void setPostPersist(PostPersist newPostPersist) + { + if (newPostPersist != postPersist) + { + NotificationChain msgs = null; + if (postPersist != null) + msgs = ((InternalEObject)postPersist).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_PERSIST, null, msgs); + if (newPostPersist != null) + msgs = ((InternalEObject)newPostPersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_PERSIST, null, msgs); + msgs = basicSetPostPersist(newPostPersist, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_PERSIST, newPostPersist, newPostPersist)); + } + + /** + * Returns the value of the '<em><b>Pre Remove</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Pre Remove</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>Pre Remove</em>' containment reference. + * @see #setPreRemove(PreRemove) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PreRemove() + * @model containment="true" + * @generated + */ + public PreRemove getPreRemove() + { + return preRemove; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPreRemove(PreRemove newPreRemove, NotificationChain msgs) + { + PreRemove oldPreRemove = preRemove; + preRemove = newPreRemove; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__PRE_REMOVE, oldPreRemove, newPreRemove); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPreRemove <em>Pre Remove</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Pre Remove</em>' containment reference. + * @see #getPreRemove() + * @generated + */ + public void setPreRemove(PreRemove newPreRemove) + { + if (newPreRemove != preRemove) + { + NotificationChain msgs = null; + if (preRemove != null) + msgs = ((InternalEObject)preRemove).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__PRE_REMOVE, null, msgs); + if (newPreRemove != null) + msgs = ((InternalEObject)newPreRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__PRE_REMOVE, null, msgs); + msgs = basicSetPreRemove(newPreRemove, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__PRE_REMOVE, newPreRemove, newPreRemove)); + } + + /** + * Returns the value of the '<em><b>Post Remove</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Post Remove</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>Post Remove</em>' containment reference. + * @see #setPostRemove(PostRemove) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostRemove() + * @model containment="true" + * @generated + */ + public PostRemove getPostRemove() + { + return postRemove; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPostRemove(PostRemove newPostRemove, NotificationChain msgs) + { + PostRemove oldPostRemove = postRemove; + postRemove = newPostRemove; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_REMOVE, oldPostRemove, newPostRemove); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPostRemove <em>Post Remove</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Post Remove</em>' containment reference. + * @see #getPostRemove() + * @generated + */ + public void setPostRemove(PostRemove newPostRemove) + { + if (newPostRemove != postRemove) + { + NotificationChain msgs = null; + if (postRemove != null) + msgs = ((InternalEObject)postRemove).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_REMOVE, null, msgs); + if (newPostRemove != null) + msgs = ((InternalEObject)newPostRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_REMOVE, null, msgs); + msgs = basicSetPostRemove(newPostRemove, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_REMOVE, newPostRemove, newPostRemove)); + } + + /** + * Returns the value of the '<em><b>Pre Update</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Pre Update</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>Pre Update</em>' containment reference. + * @see #setPreUpdate(PreUpdate) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PreUpdate() + * @model containment="true" + * @generated + */ + public PreUpdate getPreUpdate() + { + return preUpdate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPreUpdate(PreUpdate newPreUpdate, NotificationChain msgs) + { + PreUpdate oldPreUpdate = preUpdate; + preUpdate = newPreUpdate; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__PRE_UPDATE, oldPreUpdate, newPreUpdate); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPreUpdate <em>Pre Update</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Pre Update</em>' containment reference. + * @see #getPreUpdate() + * @generated + */ + public void setPreUpdate(PreUpdate newPreUpdate) + { + if (newPreUpdate != preUpdate) + { + NotificationChain msgs = null; + if (preUpdate != null) + msgs = ((InternalEObject)preUpdate).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__PRE_UPDATE, null, msgs); + if (newPreUpdate != null) + msgs = ((InternalEObject)newPreUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__PRE_UPDATE, null, msgs); + msgs = basicSetPreUpdate(newPreUpdate, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__PRE_UPDATE, newPreUpdate, newPreUpdate)); + } + + /** + * Returns the value of the '<em><b>Post Update</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Post Update</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>Post Update</em>' containment reference. + * @see #setPostUpdate(PostUpdate) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostUpdate() + * @model containment="true" + * @generated + */ + public PostUpdate getPostUpdate() + { + return postUpdate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPostUpdate(PostUpdate newPostUpdate, NotificationChain msgs) + { + PostUpdate oldPostUpdate = postUpdate; + postUpdate = newPostUpdate; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_UPDATE, oldPostUpdate, newPostUpdate); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPostUpdate <em>Post Update</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Post Update</em>' containment reference. + * @see #getPostUpdate() + * @generated + */ + public void setPostUpdate(PostUpdate newPostUpdate) + { + if (newPostUpdate != postUpdate) + { + NotificationChain msgs = null; + if (postUpdate != null) + msgs = ((InternalEObject)postUpdate).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_UPDATE, null, msgs); + if (newPostUpdate != null) + msgs = ((InternalEObject)newPostUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_UPDATE, null, msgs); + msgs = basicSetPostUpdate(newPostUpdate, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_UPDATE, newPostUpdate, newPostUpdate)); + } + + /** + * Returns the value of the '<em><b>Post Load</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Post Load</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>Post Load</em>' containment reference. + * @see #setPostLoad(PostLoad) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostLoad() + * @model containment="true" + * @generated + */ + public PostLoad getPostLoad() + { + return postLoad; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPostLoad(PostLoad newPostLoad, NotificationChain msgs) + { + PostLoad oldPostLoad = postLoad; + postLoad = newPostLoad; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_LOAD, oldPostLoad, newPostLoad); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getPostLoad <em>Post Load</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Post Load</em>' containment reference. + * @see #getPostLoad() + * @generated + */ + public void setPostLoad(PostLoad newPostLoad) + { + if (newPostLoad != postLoad) + { + NotificationChain msgs = null; + if (postLoad != null) + msgs = ((InternalEObject)postLoad).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_LOAD, null, msgs); + if (newPostLoad != null) + msgs = ((InternalEObject)newPostLoad).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ENTITY_LISTENER__POST_LOAD, null, msgs); + msgs = basicSetPostLoad(newPostLoad, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_LISTENER__POST_LOAD, newPostLoad, newPostLoad)); + } + + /** + * 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#getXmlEntityListener_2_0_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.EntityListener#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.ENTITY_LISTENER__DESCRIPTION, oldDescription, description)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.ENTITY_LISTENER__PRE_PERSIST: + return basicSetPrePersist(null, msgs); + case OrmPackage.ENTITY_LISTENER__POST_PERSIST: + return basicSetPostPersist(null, msgs); + case OrmPackage.ENTITY_LISTENER__PRE_REMOVE: + return basicSetPreRemove(null, msgs); + case OrmPackage.ENTITY_LISTENER__POST_REMOVE: + return basicSetPostRemove(null, msgs); + case OrmPackage.ENTITY_LISTENER__PRE_UPDATE: + return basicSetPreUpdate(null, msgs); + case OrmPackage.ENTITY_LISTENER__POST_UPDATE: + return basicSetPostUpdate(null, msgs); + case OrmPackage.ENTITY_LISTENER__POST_LOAD: + return basicSetPostLoad(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.ENTITY_LISTENER__PRE_PERSIST: + return getPrePersist(); + case OrmPackage.ENTITY_LISTENER__POST_PERSIST: + return getPostPersist(); + case OrmPackage.ENTITY_LISTENER__PRE_REMOVE: + return getPreRemove(); + case OrmPackage.ENTITY_LISTENER__POST_REMOVE: + return getPostRemove(); + case OrmPackage.ENTITY_LISTENER__PRE_UPDATE: + return getPreUpdate(); + case OrmPackage.ENTITY_LISTENER__POST_UPDATE: + return getPostUpdate(); + case OrmPackage.ENTITY_LISTENER__POST_LOAD: + return getPostLoad(); + case OrmPackage.ENTITY_LISTENER__DESCRIPTION: + return getDescription(); + case OrmPackage.ENTITY_LISTENER__CLASS_NAME: + return getClassName(); + } + 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.ENTITY_LISTENER__PRE_PERSIST: + setPrePersist((PrePersist)newValue); + return; + case OrmPackage.ENTITY_LISTENER__POST_PERSIST: + setPostPersist((PostPersist)newValue); + return; + case OrmPackage.ENTITY_LISTENER__PRE_REMOVE: + setPreRemove((PreRemove)newValue); + return; + case OrmPackage.ENTITY_LISTENER__POST_REMOVE: + setPostRemove((PostRemove)newValue); + return; + case OrmPackage.ENTITY_LISTENER__PRE_UPDATE: + setPreUpdate((PreUpdate)newValue); + return; + case OrmPackage.ENTITY_LISTENER__POST_UPDATE: + setPostUpdate((PostUpdate)newValue); + return; + case OrmPackage.ENTITY_LISTENER__POST_LOAD: + setPostLoad((PostLoad)newValue); + return; + case OrmPackage.ENTITY_LISTENER__DESCRIPTION: + setDescription((String)newValue); + return; + case OrmPackage.ENTITY_LISTENER__CLASS_NAME: + setClassName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.ENTITY_LISTENER__PRE_PERSIST: + setPrePersist((PrePersist)null); + return; + case OrmPackage.ENTITY_LISTENER__POST_PERSIST: + setPostPersist((PostPersist)null); + return; + case OrmPackage.ENTITY_LISTENER__PRE_REMOVE: + setPreRemove((PreRemove)null); + return; + case OrmPackage.ENTITY_LISTENER__POST_REMOVE: + setPostRemove((PostRemove)null); + return; + case OrmPackage.ENTITY_LISTENER__PRE_UPDATE: + setPreUpdate((PreUpdate)null); + return; + case OrmPackage.ENTITY_LISTENER__POST_UPDATE: + setPostUpdate((PostUpdate)null); + return; + case OrmPackage.ENTITY_LISTENER__POST_LOAD: + setPostLoad((PostLoad)null); + return; + case OrmPackage.ENTITY_LISTENER__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case OrmPackage.ENTITY_LISTENER__CLASS_NAME: + setClassName(CLASS_NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.ENTITY_LISTENER__PRE_PERSIST: + return prePersist != null; + case OrmPackage.ENTITY_LISTENER__POST_PERSIST: + return postPersist != null; + case OrmPackage.ENTITY_LISTENER__PRE_REMOVE: + return preRemove != null; + case OrmPackage.ENTITY_LISTENER__POST_REMOVE: + return postRemove != null; + case OrmPackage.ENTITY_LISTENER__PRE_UPDATE: + return preUpdate != null; + case OrmPackage.ENTITY_LISTENER__POST_UPDATE: + return postUpdate != null; + case OrmPackage.ENTITY_LISTENER__POST_LOAD: + return postLoad != null; + case OrmPackage.ENTITY_LISTENER__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case OrmPackage.ENTITY_LISTENER__CLASS_NAME: + return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlEntityListener_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.ENTITY_LISTENER__DESCRIPTION: return OrmV2_0Package.XML_ENTITY_LISTENER_20__DESCRIPTION; + 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 == XmlEntityListener_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_ENTITY_LISTENER_20__DESCRIPTION: return OrmPackage.ENTITY_LISTENER__DESCRIPTION; + 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(" (description: "); + result.append(description); + result.append(", className: "); + result.append(className); + result.append(')'); + return result.toString(); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildDescriptionTranslator(), + buildClassTranslator(), + PrePersist.buildTranslator(), + PostPersist.buildTranslator(), + PreRemove.buildTranslator(), + PostRemove.buildTranslator(), + PreUpdate.buildTranslator(), + PostUpdate.buildTranslator(), + PostLoad.buildTranslator() + }; + } + + protected static Translator buildDescriptionTranslator() { + return new Translator(JPA2_0.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlEntityListener_2_0_Description()); + } + + protected static Translator buildClassTranslator() { + return new Translator(JPA.CLASS, OrmPackage.eINSTANCE.getEntityListener_ClassName()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListeners.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListeners.java new file mode 100644 index 0000000000..5993dde3d3 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityListeners.java @@ -0,0 +1,200 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Entity Listeners</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.jpa.core.resource.orm.EntityListeners#getEntityListeners <em>Entity Listeners</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListeners() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class EntityListeners extends EBaseObjectImpl implements EBaseObject +{ + /** + * The cached value of the '{@link #getEntityListeners() <em>Entity Listeners</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEntityListeners() + * @generated + * @ordered + */ + protected EList<EntityListener> entityListeners; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EntityListeners() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ENTITY_LISTENERS; + } + + /** + * Returns the value of the '<em><b>Entity Listeners</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Entity Listeners</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Entity Listeners</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListeners_EntityListeners() + * @model containment="true" + * @generated + */ + public EList<EntityListener> getEntityListeners() + { + if (entityListeners == null) + { + entityListeners = new EObjectContainmentEList<EntityListener>(EntityListener.class, this, OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENERS); + } + return entityListeners; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENERS: + return ((InternalEList<?>)getEntityListeners()).basicRemove(otherEnd, 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.ENTITY_LISTENERS__ENTITY_LISTENERS: + return getEntityListeners(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENERS: + getEntityListeners().clear(); + getEntityListeners().addAll((Collection<? extends EntityListener>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENERS: + getEntityListeners().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENERS: + return entityListeners != null && !entityListeners.isEmpty(); + } + return super.eIsSet(featureID); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + EntityListener.buildTranslator(JPA.ENTITY_LISTENER, OrmPackage.eINSTANCE.getEntityListeners_EntityListeners()) + }; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityResult.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityResult.java new file mode 100644 index 0000000000..516b7238e7 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EntityResult.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +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.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Entity Result</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.jpa.core.resource.orm.EntityResult#getDiscriminatorColumn <em>Discriminator Column</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getEntityClass <em>Entity Class</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getFieldResults <em>Field Results</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityResult() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class EntityResult extends EBaseObjectImpl implements EBaseObject +{ + /** + * The default value of the '{@link #getDiscriminatorColumn() <em>Discriminator Column</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDiscriminatorColumn() + * @generated + * @ordered + */ + protected static final String DISCRIMINATOR_COLUMN_EDEFAULT = null; + + /** + * The cached value of the '{@link #getDiscriminatorColumn() <em>Discriminator Column</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDiscriminatorColumn() + * @generated + * @ordered + */ + protected String discriminatorColumn = DISCRIMINATOR_COLUMN_EDEFAULT; + + /** + * The default value of the '{@link #getEntityClass() <em>Entity Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEntityClass() + * @generated + * @ordered + */ + protected static final String ENTITY_CLASS_EDEFAULT = null; + + /** + * The cached value of the '{@link #getEntityClass() <em>Entity Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEntityClass() + * @generated + * @ordered + */ + protected String entityClass = ENTITY_CLASS_EDEFAULT; + + /** + * The cached value of the '{@link #getFieldResults() <em>Field Results</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFieldResults() + * @generated + * @ordered + */ + protected EList<FieldResult> fieldResults; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EntityResult() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.ENTITY_RESULT; + } + + /** + * Returns the value of the '<em><b>Discriminator Column</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Discriminator Column</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Discriminator Column</em>' attribute. + * @see #setDiscriminatorColumn(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityResult_DiscriminatorColumn() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getDiscriminatorColumn() + { + return discriminatorColumn; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getDiscriminatorColumn <em>Discriminator Column</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Discriminator Column</em>' attribute. + * @see #getDiscriminatorColumn() + * @generated + */ + public void setDiscriminatorColumn(String newDiscriminatorColumn) + { + String oldDiscriminatorColumn = discriminatorColumn; + discriminatorColumn = newDiscriminatorColumn; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_RESULT__DISCRIMINATOR_COLUMN, oldDiscriminatorColumn, discriminatorColumn)); + } + + /** + * Returns the value of the '<em><b>Entity Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Entity Class</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Entity Class</em>' attribute. + * @see #setEntityClass(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityResult_EntityClass() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getEntityClass() + { + return entityClass; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getEntityClass <em>Entity Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Entity Class</em>' attribute. + * @see #getEntityClass() + * @generated + */ + public void setEntityClass(String newEntityClass) + { + String oldEntityClass = entityClass; + entityClass = newEntityClass; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ENTITY_RESULT__ENTITY_CLASS, oldEntityClass, entityClass)); + } + + /** + * Returns the value of the '<em><b>Field Results</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Field Results</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Field Results</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityResult_FieldResults() + * @model containment="true" + * @generated + */ + public EList<FieldResult> getFieldResults() + { + if (fieldResults == null) + { + fieldResults = new EObjectContainmentEList<FieldResult>(FieldResult.class, this, OrmPackage.ENTITY_RESULT__FIELD_RESULTS); + } + return fieldResults; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.ENTITY_RESULT__FIELD_RESULTS: + return ((InternalEList<?>)getFieldResults()).basicRemove(otherEnd, 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.ENTITY_RESULT__DISCRIMINATOR_COLUMN: + return getDiscriminatorColumn(); + case OrmPackage.ENTITY_RESULT__ENTITY_CLASS: + return getEntityClass(); + case OrmPackage.ENTITY_RESULT__FIELD_RESULTS: + return getFieldResults(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.ENTITY_RESULT__DISCRIMINATOR_COLUMN: + setDiscriminatorColumn((String)newValue); + return; + case OrmPackage.ENTITY_RESULT__ENTITY_CLASS: + setEntityClass((String)newValue); + return; + case OrmPackage.ENTITY_RESULT__FIELD_RESULTS: + getFieldResults().clear(); + getFieldResults().addAll((Collection<? extends FieldResult>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.ENTITY_RESULT__DISCRIMINATOR_COLUMN: + setDiscriminatorColumn(DISCRIMINATOR_COLUMN_EDEFAULT); + return; + case OrmPackage.ENTITY_RESULT__ENTITY_CLASS: + setEntityClass(ENTITY_CLASS_EDEFAULT); + return; + case OrmPackage.ENTITY_RESULT__FIELD_RESULTS: + getFieldResults().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.ENTITY_RESULT__DISCRIMINATOR_COLUMN: + return DISCRIMINATOR_COLUMN_EDEFAULT == null ? discriminatorColumn != null : !DISCRIMINATOR_COLUMN_EDEFAULT.equals(discriminatorColumn); + case OrmPackage.ENTITY_RESULT__ENTITY_CLASS: + return ENTITY_CLASS_EDEFAULT == null ? entityClass != null : !ENTITY_CLASS_EDEFAULT.equals(entityClass); + case OrmPackage.ENTITY_RESULT__FIELD_RESULTS: + return fieldResults != null && !fieldResults.isEmpty(); + } + 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(" (discriminatorColumn: "); + result.append(discriminatorColumn); + result.append(", entityClass: "); + result.append(entityClass); + result.append(')'); + return result.toString(); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildEntityClassTranslator(), + buildDiscriminatorColumnTranslator(), + FieldResult.buildTranslator(JPA.FIELD_RESULT, OrmPackage.eINSTANCE.getEntityResult_FieldResults()), + }; + } + + protected static Translator buildEntityClassTranslator() { + return new Translator(JPA.ENTITY_CLASS, OrmPackage.eINSTANCE.getEntityResult_EntityClass(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildDiscriminatorColumnTranslator() { + return new Translator(JPA.DISCRIMINATOR_COLUMN, OrmPackage.eINSTANCE.getEntityResult_DiscriminatorColumn(), Translator.DOM_ATTRIBUTE); + } +} // EntityResult diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EnumType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EnumType.java new file mode 100644 index 0000000000..7b3cc29f98 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EnumType.java @@ -0,0 +1,235 @@ +/******************************************************************************* + * Copyright (c) 2007, 2008 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.jpa.core.resource.orm; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Enum Type</b></em>', + * and utility methods for working with them. + * + * 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.jpa.core.resource.orm.OrmPackage#getEnumType() + * @model + * @generated + */ +public enum EnumType implements Enumerator +{ + /** + * The '<em><b>ORDINAL</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #ORDINAL_VALUE + * @generated + * @ordered + */ + ORDINAL(0, "ORDINAL", "ORDINAL"), + + /** + * The '<em><b>STRING</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #STRING_VALUE + * @generated + * @ordered + */ + STRING(1, "STRING", "STRING"); + + /** + * The '<em><b>ORDINAL</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>ORDINAL</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #ORDINAL + * @model + * @generated + * @ordered + */ + public static final int ORDINAL_VALUE = 0; + + /** + * The '<em><b>STRING</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>STRING</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #STRING + * @model + * @generated + * @ordered + */ + public static final int STRING_VALUE = 1; + + /** + * An array of all the '<em><b>Enum Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final EnumType[] VALUES_ARRAY = + new EnumType[] + { + ORDINAL, + STRING, + }; + + /** + * A public read-only list of all the '<em><b>Enum Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<EnumType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Enum Type</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static EnumType get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + EnumType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Enum Type</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static EnumType getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + EnumType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Enum Type</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static EnumType get(int value) + { + switch (value) + { + case ORDINAL_VALUE: return ORDINAL; + case STRING_VALUE: return STRING; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EnumType(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //EnumType diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EventMethod.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EventMethod.java new file mode 100644 index 0000000000..8872df4129 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/EventMethod.java @@ -0,0 +1,285 @@ +/******************************************************************************* + * 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.jpa.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.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Event Method</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.jpa.core.resource.orm.EventMethod#getMethodName <em>Method Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEventMethod() + * @model kind="class" abstract="true" + * @generated + */ +public abstract class EventMethod extends EBaseObjectImpl implements XmlEventMethod_2_0 +{ + + /** + * 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 default value of the '{@link #getMethodName() <em>Method Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMethodName() + * @generated + * @ordered + */ + protected static final String METHOD_NAME_EDEFAULT = null; + /** + * The cached value of the '{@link #getMethodName() <em>Method Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMethodName() + * @generated + * @ordered + */ + protected String methodName = METHOD_NAME_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EventMethod() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.EVENT_METHOD; + } + + /** + * 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#getXmlEventMethod_2_0_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.EventMethod#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.EVENT_METHOD__DESCRIPTION, oldDescription, description)); + } + + /** + * Returns the value of the '<em><b>Method Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Method 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>Method Name</em>' attribute. + * @see #setMethodName(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEventMethod_MethodName() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getMethodName() { + return methodName; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.EventMethod#getMethodName <em>Method Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Method Name</em>' attribute. + * @see #getMethodName() + * @generated + */ + public void setMethodName(String newMethodName) { + String oldMethodName = methodName; + methodName = newMethodName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.EVENT_METHOD__METHOD_NAME, oldMethodName, methodName)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.EVENT_METHOD__DESCRIPTION: + return getDescription(); + case OrmPackage.EVENT_METHOD__METHOD_NAME: + return getMethodName(); + } + 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.EVENT_METHOD__DESCRIPTION: + setDescription((String)newValue); + return; + case OrmPackage.EVENT_METHOD__METHOD_NAME: + setMethodName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.EVENT_METHOD__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case OrmPackage.EVENT_METHOD__METHOD_NAME: + setMethodName(METHOD_NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.EVENT_METHOD__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case OrmPackage.EVENT_METHOD__METHOD_NAME: + return METHOD_NAME_EDEFAULT == null ? methodName != null : !METHOD_NAME_EDEFAULT.equals(methodName); + } + 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(" (description: "); + result.append(description); + result.append(", methodName: "); + result.append(methodName); + result.append(')'); + return result.toString(); + } + + + // ********** translators ********** + + protected static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildMethodNameTranslator(), + buildDescriptionTranslator() + }; + } + + protected static Translator buildMethodNameTranslator() { + return new Translator(JPA.METHOD_NAME, OrmPackage.eINSTANCE.getEventMethod_MethodName(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildDescriptionTranslator() { + return new Translator(JPA2_0.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlEventMethod_2_0_Description()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FetchType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FetchType.java new file mode 100644 index 0000000000..5f77353477 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FetchType.java @@ -0,0 +1,235 @@ +/******************************************************************************* + * Copyright (c) 2007, 2008 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.jpa.core.resource.orm; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Fetch Type</b></em>', + * and utility methods for working with them. + * + * 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.jpa.core.resource.orm.OrmPackage#getFetchType() + * @model + * @generated + */ +public enum FetchType implements Enumerator +{ + /** + * The '<em><b>LAZY</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #LAZY_VALUE + * @generated + * @ordered + */ + LAZY(0, "LAZY", "LAZY"), + + /** + * The '<em><b>EAGER</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #EAGER_VALUE + * @generated + * @ordered + */ + EAGER(1, "EAGER", "EAGER"); + + /** + * The '<em><b>LAZY</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>LAZY</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #LAZY + * @model + * @generated + * @ordered + */ + public static final int LAZY_VALUE = 0; + + /** + * The '<em><b>EAGER</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>EAGER</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #EAGER + * @model + * @generated + * @ordered + */ + public static final int EAGER_VALUE = 1; + + /** + * An array of all the '<em><b>Fetch Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final FetchType[] VALUES_ARRAY = + new FetchType[] + { + LAZY, + EAGER, + }; + + /** + * A public read-only list of all the '<em><b>Fetch Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<FetchType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Fetch Type</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static FetchType get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + FetchType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Fetch Type</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static FetchType getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + FetchType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Fetch Type</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static FetchType get(int value) + { + switch (value) + { + case LAZY_VALUE: return LAZY; + case EAGER_VALUE: return EAGER; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private FetchType(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //FetchType diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FieldResult.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FieldResult.java new file mode 100644 index 0000000000..4a39fd443a --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/FieldResult.java @@ -0,0 +1,294 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Field Result</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.jpa.core.resource.orm.FieldResult#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getColumn <em>Column</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getFieldResult() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class FieldResult extends EBaseObjectImpl implements EBaseObject +{ + /** + * 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 #getColumn() <em>Column</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getColumn() + * @generated + * @ordered + */ + protected static final String COLUMN_EDEFAULT = null; + + /** + * The cached value of the '{@link #getColumn() <em>Column</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getColumn() + * @generated + * @ordered + */ + protected String column = COLUMN_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FieldResult() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.FIELD_RESULT; + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getFieldResult_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getName() + { + return name; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult#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.FIELD_RESULT__NAME, oldName, name)); + } + + /** + * Returns the value of the '<em><b>Column</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Column</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</em>' attribute. + * @see #setColumn(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getFieldResult_Column() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getColumn() + { + return column; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getColumn <em>Column</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Column</em>' attribute. + * @see #getColumn() + * @generated + */ + public void setColumn(String newColumn) + { + String oldColumn = column; + column = newColumn; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.FIELD_RESULT__COLUMN, oldColumn, column)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.FIELD_RESULT__NAME: + return getName(); + case OrmPackage.FIELD_RESULT__COLUMN: + return getColumn(); + } + 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.FIELD_RESULT__NAME: + setName((String)newValue); + return; + case OrmPackage.FIELD_RESULT__COLUMN: + setColumn((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.FIELD_RESULT__NAME: + setName(NAME_EDEFAULT); + return; + case OrmPackage.FIELD_RESULT__COLUMN: + setColumn(COLUMN_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.FIELD_RESULT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case OrmPackage.FIELD_RESULT__COLUMN: + return COLUMN_EDEFAULT == null ? column != null : !COLUMN_EDEFAULT.equals(column); + } + 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(" (name: "); + result.append(name); + result.append(", column: "); + result.append(column); + result.append(')'); + return result.toString(); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + createColumnTranslator() + }; + } + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getFieldResult_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator createColumnTranslator() { + return new Translator(JPA.COLUMN, OrmPackage.eINSTANCE.getFieldResult_Column(), Translator.DOM_ATTRIBUTE); + } + +} // FieldResult diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/GenerationType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/GenerationType.java new file mode 100644 index 0000000000..383484cdfc --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/GenerationType.java @@ -0,0 +1,289 @@ +/******************************************************************************* + * Copyright (c) 2007, 2008 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.jpa.core.resource.orm; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Generation Type</b></em>', + * and utility methods for working with them. + * + * 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.jpa.core.resource.orm.OrmPackage#getGenerationType() + * @model + * @generated + */ +public enum GenerationType implements Enumerator +{ + /** + * The '<em><b>TABLE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #TABLE_VALUE + * @generated + * @ordered + */ + TABLE(0, "TABLE", "TABLE"), + + /** + * The '<em><b>SEQUENCE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #SEQUENCE_VALUE + * @generated + * @ordered + */ + SEQUENCE(1, "SEQUENCE", "SEQUENCE"), + + /** + * The '<em><b>IDENTITY</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #IDENTITY_VALUE + * @generated + * @ordered + */ + IDENTITY(2, "IDENTITY", "IDENTITY"), + + /** + * The '<em><b>AUTO</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #AUTO_VALUE + * @generated + * @ordered + */ + AUTO(3, "AUTO", "AUTO"); + + /** + * The '<em><b>TABLE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>TABLE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #TABLE + * @model + * @generated + * @ordered + */ + public static final int TABLE_VALUE = 0; + + /** + * The '<em><b>SEQUENCE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>SEQUENCE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #SEQUENCE + * @model + * @generated + * @ordered + */ + public static final int SEQUENCE_VALUE = 1; + + /** + * The '<em><b>IDENTITY</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>IDENTITY</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #IDENTITY + * @model + * @generated + * @ordered + */ + public static final int IDENTITY_VALUE = 2; + + /** + * The '<em><b>AUTO</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>AUTO</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #AUTO + * @model + * @generated + * @ordered + */ + public static final int AUTO_VALUE = 3; + + /** + * An array of all the '<em><b>Generation Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final GenerationType[] VALUES_ARRAY = + new GenerationType[] + { + TABLE, + SEQUENCE, + IDENTITY, + AUTO, + }; + + /** + * A public read-only list of all the '<em><b>Generation Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<GenerationType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Generation Type</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static GenerationType get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + GenerationType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Generation Type</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static GenerationType getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + GenerationType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Generation Type</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static GenerationType get(int value) + { + switch (value) + { + case TABLE_VALUE: return TABLE; + case SEQUENCE_VALUE: return SEQUENCE; + case IDENTITY_VALUE: return IDENTITY; + case AUTO_VALUE: return AUTO; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private GenerationType(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //GenerationType diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Inheritance.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Inheritance.java new file mode 100644 index 0000000000..9847c5ff8d --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Inheritance.java @@ -0,0 +1,231 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Inheritance</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.jpa.core.resource.orm.Inheritance#getStrategy <em>Strategy</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getInheritance() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class Inheritance extends EBaseObjectImpl implements EBaseObject +{ + /** + * 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 InheritanceType STRATEGY_EDEFAULT = null; + + /** + * The cached value of the '{@link #getStrategy() <em>Strategy</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStrategy() + * @generated + * @ordered + */ + protected InheritanceType strategy = STRATEGY_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Inheritance() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.INHERITANCE; + } + + /** + * Returns the value of the '<em><b>Strategy</b></em>' attribute. + * The default value is <code>"SINGLE_TABLE"</code>. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.InheritanceType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Strategy</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Strategy</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.InheritanceType + * @see #setStrategy(InheritanceType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getInheritance_Strategy() + * @model default="SINGLE_TABLE" + * @generated + */ + public InheritanceType getStrategy() + { + return strategy; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.Inheritance#getStrategy <em>Strategy</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Strategy</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.InheritanceType + * @see #getStrategy() + * @generated + */ + public void setStrategy(InheritanceType newStrategy) + { + InheritanceType oldStrategy = strategy; + strategy = newStrategy == null ? STRATEGY_EDEFAULT : newStrategy; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.INHERITANCE__STRATEGY, oldStrategy, strategy)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.INHERITANCE__STRATEGY: + return getStrategy(); + } + 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.INHERITANCE__STRATEGY: + setStrategy((InheritanceType)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.INHERITANCE__STRATEGY: + setStrategy(STRATEGY_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.INHERITANCE__STRATEGY: + return strategy != STRATEGY_EDEFAULT; + } + 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(" (strategy: "); + result.append(strategy); + result.append(')'); + return result.toString(); + } + + public TextRange getStrategyTextRange() { + return getAttributeTextRange(JPA.STRATEGY); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren() + ); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildStrategyTranslator(), + }; + } + + protected static Translator buildStrategyTranslator() { + return new Translator(JPA.STRATEGY, OrmPackage.eINSTANCE.getInheritance_Strategy(), Translator.DOM_ATTRIBUTE); + } + +} // Inheritance diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/InheritanceType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/InheritanceType.java new file mode 100644 index 0000000000..e290ddfa18 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/InheritanceType.java @@ -0,0 +1,260 @@ +/******************************************************************************* + * Copyright (c) 2007, 2008 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.jpa.core.resource.orm; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Inheritance Type</b></em>', + * and utility methods for working with them. + * + * 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.jpa.core.resource.orm.OrmPackage#getInheritanceType() + * @model + * @generated + */ +public enum InheritanceType implements Enumerator +{ + /** + * The '<em><b>SINGLE TABLE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #SINGLE_TABLE_VALUE + * @generated + * @ordered + */ + SINGLE_TABLE(0, "SINGLE_TABLE", "SINGLE_TABLE"), /** + * The '<em><b>JOINED</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #JOINED_VALUE + * @generated + * @ordered + */ + JOINED(1, "JOINED", "JOINED"), + + /** + * The '<em><b>TABLE PER CLASS</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #TABLE_PER_CLASS_VALUE + * @generated + * @ordered + */ + TABLE_PER_CLASS(2, "TABLE_PER_CLASS", "TABLE_PER_CLASS"); + + /** + * The '<em><b>SINGLE TABLE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>SINGLE TABLE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #SINGLE_TABLE + * @model + * @generated + * @ordered + */ + public static final int SINGLE_TABLE_VALUE = 0; + + /** + * The '<em><b>JOINED</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>JOINED</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #JOINED + * @model + * @generated + * @ordered + */ + public static final int JOINED_VALUE = 1; + + /** + * The '<em><b>TABLE PER CLASS</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>TABLE PER CLASS</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #TABLE_PER_CLASS + * @model + * @generated + * @ordered + */ + public static final int TABLE_PER_CLASS_VALUE = 2; + + /** + * An array of all the '<em><b>Inheritance Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final InheritanceType[] VALUES_ARRAY = + new InheritanceType[] + { + SINGLE_TABLE, + JOINED, + TABLE_PER_CLASS, + }; + + /** + * A public read-only list of all the '<em><b>Inheritance Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<InheritanceType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Inheritance Type</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static InheritanceType get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + InheritanceType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Inheritance Type</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static InheritanceType getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + InheritanceType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Inheritance Type</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static InheritanceType get(int value) + { + switch (value) + { + case SINGLE_TABLE_VALUE: return SINGLE_TABLE; + case JOINED_VALUE: return JOINED; + case TABLE_PER_CLASS_VALUE: return TABLE_PER_CLASS; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private InheritanceType(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //InheritanceType diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Lob.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Lob.java new file mode 100644 index 0000000000..a6f0ba64dc --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/Lob.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Lob</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.jpa.core.resource.orm.OrmPackage#getLob() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class Lob extends EBaseObjectImpl implements EBaseObject +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Lob() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.LOB; + } + +} // Lob diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/MapKey.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/MapKey.java new file mode 100644 index 0000000000..53abbea890 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/MapKey.java @@ -0,0 +1,232 @@ +/******************************************************************************* + * Copyright (c) 2007, 2010 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Map Key</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.jpa.core.resource.orm.MapKey#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getMapKey() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class MapKey extends EBaseObjectImpl implements EBaseObject +{ + /** + * 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 MapKey() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.MAP_KEY; + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getMapKey_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.jpa.core.resource.orm.MapKey#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.MAP_KEY__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.MAP_KEY__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.MAP_KEY__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.MAP_KEY__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.MAP_KEY__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(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + }; + } + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getMapKey_Name(), Translator.DOM_ATTRIBUTE); + } + + // ********** content assist *************** + + public TextRange getMapKeyNameCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.NAME); + } + + public boolean mapKeyNameTouches(int pos) { + TextRange textRange = this.getMapKeyNameCodeAssistTextRange(); + return (textRange != null) && textRange.touches(pos); + } +} // MapKey diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmFactory.java new file mode 100644 index 0000000000..bc6a519b1d --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmFactory.java @@ -0,0 +1,944 @@ +/******************************************************************************* + * Copyright (c) 2009, 2012 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.impl.EFactoryImpl; +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage + * @generated + */ +public class OrmFactory extends EFactoryImpl +{ + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final OrmFactory eINSTANCE = init(); + + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static OrmFactory init() + { + try + { + OrmFactory theOrmFactory = (OrmFactory)EPackage.Registry.INSTANCE.getEFactory("jpt.orm.xmi"); + if (theOrmFactory != null) + { + return theOrmFactory; + } + } + catch (Exception exception) + { + EcorePlugin.INSTANCE.log(exception); + } + return new OrmFactory(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OrmFactory() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) + { + switch (eClass.getClassifierID()) + { + case OrmPackage.XML_ASSOCIATION_OVERRIDE: return (EObject)createXmlAssociationOverride(); + case OrmPackage.XML_ATTRIBUTE_OVERRIDE: return (EObject)createXmlAttributeOverride(); + case OrmPackage.ATTRIBUTES: return (EObject)createAttributes(); + case OrmPackage.XML_BASIC: return (EObject)createXmlBasic(); + case OrmPackage.CASCADE_TYPE: return (EObject)createCascadeType(); + case OrmPackage.XML_CLASS_REFERENCE: return (EObject)createXmlClassReference(); + case OrmPackage.XML_COLLECTION_TABLE: return (EObject)createXmlCollectionTable(); + case OrmPackage.XML_COLUMN: return (EObject)createXmlColumn(); + case OrmPackage.COLUMN_RESULT: return (EObject)createColumnResult(); + case OrmPackage.XML_DISCRIMINATOR_COLUMN: return (EObject)createXmlDiscriminatorColumn(); + case OrmPackage.XML_ELEMENT_COLLECTION: return (EObject)createXmlElementCollection(); + case OrmPackage.XML_EMBEDDABLE: return (EObject)createXmlEmbeddable(); + case OrmPackage.XML_EMBEDDED: return (EObject)createXmlEmbedded(); + case OrmPackage.XML_EMBEDDED_ID: return (EObject)createXmlEmbeddedId(); + case OrmPackage.XML_ENTITY: return (EObject)createXmlEntity(); + case OrmPackage.ENTITY_LISTENER: return (EObject)createEntityListener(); + case OrmPackage.ENTITY_LISTENERS: return (EObject)createEntityListeners(); + case OrmPackage.XML_ENTITY_MAPPINGS: return (EObject)createXmlEntityMappings(); + case OrmPackage.ENTITY_RESULT: return (EObject)createEntityResult(); + case OrmPackage.FIELD_RESULT: return (EObject)createFieldResult(); + case OrmPackage.XML_GENERATED_VALUE: return (EObject)createXmlGeneratedValue(); + case OrmPackage.XML_ID: return (EObject)createXmlId(); + case OrmPackage.INHERITANCE: return (EObject)createInheritance(); + case OrmPackage.XML_JOIN_COLUMN: return (EObject)createXmlJoinColumn(); + case OrmPackage.XML_JOIN_TABLE: return (EObject)createXmlJoinTable(); + case OrmPackage.LOB: return (EObject)createLob(); + case OrmPackage.XML_MANY_TO_MANY: return (EObject)createXmlManyToMany(); + case OrmPackage.XML_MANY_TO_ONE: return (EObject)createXmlManyToOne(); + case OrmPackage.MAP_KEY: return (EObject)createMapKey(); + case OrmPackage.XML_MAPPED_SUPERCLASS: return (EObject)createXmlMappedSuperclass(); + case OrmPackage.XML_NAMED_NATIVE_QUERY: return (EObject)createXmlNamedNativeQuery(); + case OrmPackage.XML_NAMED_QUERY: return (EObject)createXmlNamedQuery(); + case OrmPackage.XML_ONE_TO_MANY: return (EObject)createXmlOneToMany(); + case OrmPackage.XML_ONE_TO_ONE: return (EObject)createXmlOneToOne(); + case OrmPackage.XML_ORDER_COLUMN: return (EObject)createXmlOrderColumn(); + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS: return (EObject)createXmlPersistenceUnitDefaults(); + case OrmPackage.XML_PERSISTENCE_UNIT_METADATA: return (EObject)createXmlPersistenceUnitMetadata(); + case OrmPackage.POST_LOAD: return (EObject)createPostLoad(); + case OrmPackage.POST_PERSIST: return (EObject)createPostPersist(); + case OrmPackage.POST_REMOVE: return (EObject)createPostRemove(); + case OrmPackage.POST_UPDATE: return (EObject)createPostUpdate(); + case OrmPackage.PRE_PERSIST: return (EObject)createPrePersist(); + case OrmPackage.PRE_REMOVE: return (EObject)createPreRemove(); + case OrmPackage.PRE_UPDATE: return (EObject)createPreUpdate(); + case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN: return (EObject)createXmlPrimaryKeyJoinColumn(); + case OrmPackage.XML_QUERY_HINT: return (EObject)createXmlQueryHint(); + case OrmPackage.XML_SECONDARY_TABLE: return (EObject)createXmlSecondaryTable(); + case OrmPackage.XML_SEQUENCE_GENERATOR: return (EObject)createXmlSequenceGenerator(); + case OrmPackage.SQL_RESULT_SET_MAPPING: return (EObject)createSqlResultSetMapping(); + case OrmPackage.XML_TABLE: return (EObject)createXmlTable(); + case OrmPackage.XML_TABLE_GENERATOR: return (EObject)createXmlTableGenerator(); + case OrmPackage.XML_TRANSIENT: return (EObject)createXmlTransient(); + case OrmPackage.XML_UNIQUE_CONSTRAINT: return (EObject)createXmlUniqueConstraint(); + case OrmPackage.XML_VERSION: return (EObject)createXmlVersion(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object createFromString(EDataType eDataType, String initialValue) + { + switch (eDataType.getClassifierID()) + { + case OrmPackage.DISCRIMINATOR_TYPE: + return createDiscriminatorTypeFromString(eDataType, initialValue); + case OrmPackage.ENUM_TYPE: + return createEnumTypeFromString(eDataType, initialValue); + case OrmPackage.FETCH_TYPE: + return createFetchTypeFromString(eDataType, initialValue); + case OrmPackage.GENERATION_TYPE: + return createGenerationTypeFromString(eDataType, initialValue); + case OrmPackage.INHERITANCE_TYPE: + return createInheritanceTypeFromString(eDataType, initialValue); + case OrmPackage.TEMPORAL_TYPE: + return createTemporalTypeFromString(eDataType, initialValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String convertToString(EDataType eDataType, Object instanceValue) + { + switch (eDataType.getClassifierID()) + { + case OrmPackage.DISCRIMINATOR_TYPE: + return convertDiscriminatorTypeToString(eDataType, instanceValue); + case OrmPackage.ENUM_TYPE: + return convertEnumTypeToString(eDataType, instanceValue); + case OrmPackage.FETCH_TYPE: + return convertFetchTypeToString(eDataType, instanceValue); + case OrmPackage.GENERATION_TYPE: + return convertGenerationTypeToString(eDataType, instanceValue); + case OrmPackage.INHERITANCE_TYPE: + return convertInheritanceTypeToString(eDataType, instanceValue); + case OrmPackage.TEMPORAL_TYPE: + return convertTemporalTypeToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlAssociationOverride createXmlAssociationOverride() + { + XmlAssociationOverride xmlAssociationOverride = new XmlAssociationOverride(); + return xmlAssociationOverride; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlAttributeOverride createXmlAttributeOverride() + { + XmlAttributeOverride xmlAttributeOverride = new XmlAttributeOverride(); + return xmlAttributeOverride; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Attributes createAttributes() + { + Attributes attributes = new Attributes(); + return attributes; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlBasic createXmlBasic() + { + XmlBasic xmlBasic = new XmlBasic(); + return xmlBasic; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CascadeType createCascadeType() + { + CascadeType cascadeType = new CascadeType(); + return cascadeType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlClassReference createXmlClassReference() + { + XmlClassReference xmlClassReference = new XmlClassReference(); + return xmlClassReference; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlCollectionTable createXmlCollectionTable() + { + XmlCollectionTable xmlCollectionTable = new XmlCollectionTable(); + return xmlCollectionTable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlColumn createXmlColumn() + { + XmlColumn xmlColumn = new XmlColumn(); + return xmlColumn; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ColumnResult createColumnResult() + { + ColumnResult columnResult = new ColumnResult(); + return columnResult; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlDiscriminatorColumn createXmlDiscriminatorColumn() + { + XmlDiscriminatorColumn xmlDiscriminatorColumn = new XmlDiscriminatorColumn(); + return xmlDiscriminatorColumn; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlElementCollection createXmlElementCollection() + { + XmlElementCollection xmlElementCollection = new XmlElementCollection(); + return xmlElementCollection; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlEmbeddable createXmlEmbeddable() + { + XmlEmbeddable xmlEmbeddable = new XmlEmbeddable(); + return xmlEmbeddable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlEmbedded createXmlEmbedded() + { + XmlEmbedded xmlEmbedded = new XmlEmbedded(); + return xmlEmbedded; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlEmbeddedId createXmlEmbeddedId() + { + XmlEmbeddedId xmlEmbeddedId = new XmlEmbeddedId(); + return xmlEmbeddedId; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlEntity createXmlEntity() + { + XmlEntity xmlEntity = new XmlEntity(); + return xmlEntity; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EntityListener createEntityListener() + { + EntityListener entityListener = new EntityListener(); + return entityListener; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EntityListeners createEntityListeners() + { + EntityListeners entityListeners = new EntityListeners(); + return entityListeners; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlEntityMappings createXmlEntityMappings() + { + XmlEntityMappings xmlEntityMappings = new XmlEntityMappings(); + return xmlEntityMappings; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EntityResult createEntityResult() + { + EntityResult entityResult = new EntityResult(); + return entityResult; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FieldResult createFieldResult() + { + FieldResult fieldResult = new FieldResult(); + return fieldResult; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlGeneratedValue createXmlGeneratedValue() + { + XmlGeneratedValue xmlGeneratedValue = new XmlGeneratedValue(); + return xmlGeneratedValue; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlId createXmlId() + { + XmlId xmlId = new XmlId(); + return xmlId; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Inheritance createInheritance() + { + Inheritance inheritance = new Inheritance(); + return inheritance; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlJoinColumn createXmlJoinColumn() + { + XmlJoinColumn xmlJoinColumn = new XmlJoinColumn(); + return xmlJoinColumn; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlJoinTable createXmlJoinTable() + { + XmlJoinTable xmlJoinTable = new XmlJoinTable(); + return xmlJoinTable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Lob createLob() + { + Lob lob = new Lob(); + return lob; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlManyToMany createXmlManyToMany() + { + XmlManyToMany xmlManyToMany = new XmlManyToMany(); + return xmlManyToMany; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlManyToOne createXmlManyToOne() + { + XmlManyToOne xmlManyToOne = new XmlManyToOne(); + return xmlManyToOne; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MapKey createMapKey() + { + MapKey mapKey = new MapKey(); + return mapKey; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlMappedSuperclass createXmlMappedSuperclass() + { + XmlMappedSuperclass xmlMappedSuperclass = new XmlMappedSuperclass(); + return xmlMappedSuperclass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlNamedNativeQuery createXmlNamedNativeQuery() + { + XmlNamedNativeQuery xmlNamedNativeQuery = new XmlNamedNativeQuery(); + return xmlNamedNativeQuery; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlNamedQuery createXmlNamedQuery() + { + XmlNamedQuery xmlNamedQuery = new XmlNamedQuery(); + return xmlNamedQuery; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlOneToMany createXmlOneToMany() + { + XmlOneToMany xmlOneToMany = new XmlOneToMany(); + return xmlOneToMany; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlOneToOne createXmlOneToOne() + { + XmlOneToOne xmlOneToOne = new XmlOneToOne(); + return xmlOneToOne; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlOrderColumn createXmlOrderColumn() + { + XmlOrderColumn xmlOrderColumn = new XmlOrderColumn(); + return xmlOrderColumn; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlPersistenceUnitDefaults createXmlPersistenceUnitDefaults() + { + XmlPersistenceUnitDefaults xmlPersistenceUnitDefaults = new XmlPersistenceUnitDefaults(); + return xmlPersistenceUnitDefaults; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlPersistenceUnitMetadata createXmlPersistenceUnitMetadata() + { + XmlPersistenceUnitMetadata xmlPersistenceUnitMetadata = new XmlPersistenceUnitMetadata(); + return xmlPersistenceUnitMetadata; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PostLoad createPostLoad() + { + PostLoad postLoad = new PostLoad(); + return postLoad; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PostPersist createPostPersist() + { + PostPersist postPersist = new PostPersist(); + return postPersist; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PostRemove createPostRemove() + { + PostRemove postRemove = new PostRemove(); + return postRemove; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PostUpdate createPostUpdate() + { + PostUpdate postUpdate = new PostUpdate(); + return postUpdate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PrePersist createPrePersist() + { + PrePersist prePersist = new PrePersist(); + return prePersist; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PreRemove createPreRemove() + { + PreRemove preRemove = new PreRemove(); + return preRemove; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PreUpdate createPreUpdate() + { + PreUpdate preUpdate = new PreUpdate(); + return preUpdate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlPrimaryKeyJoinColumn createXmlPrimaryKeyJoinColumn() + { + XmlPrimaryKeyJoinColumn xmlPrimaryKeyJoinColumn = new XmlPrimaryKeyJoinColumn(); + return xmlPrimaryKeyJoinColumn; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlQueryHint createXmlQueryHint() + { + XmlQueryHint xmlQueryHint = new XmlQueryHint(); + return xmlQueryHint; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlSecondaryTable createXmlSecondaryTable() + { + XmlSecondaryTable xmlSecondaryTable = new XmlSecondaryTable(); + return xmlSecondaryTable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlSequenceGenerator createXmlSequenceGenerator() + { + XmlSequenceGenerator xmlSequenceGenerator = new XmlSequenceGenerator(); + return xmlSequenceGenerator; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SqlResultSetMapping createSqlResultSetMapping() + { + SqlResultSetMapping sqlResultSetMapping = new SqlResultSetMapping(); + return sqlResultSetMapping; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlTable createXmlTable() + { + XmlTable xmlTable = new XmlTable(); + return xmlTable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlTableGenerator createXmlTableGenerator() + { + XmlTableGenerator xmlTableGenerator = new XmlTableGenerator(); + return xmlTableGenerator; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlTransient createXmlTransient() + { + XmlTransient xmlTransient = new XmlTransient(); + return xmlTransient; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlUniqueConstraint createXmlUniqueConstraint() + { + XmlUniqueConstraint xmlUniqueConstraint = new XmlUniqueConstraint(); + return xmlUniqueConstraint; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlVersion createXmlVersion() + { + XmlVersion xmlVersion = new XmlVersion(); + return xmlVersion; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DiscriminatorType createDiscriminatorTypeFromString(EDataType eDataType, String initialValue) + { + DiscriminatorType result = DiscriminatorType.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertDiscriminatorTypeToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EnumType createEnumTypeFromString(EDataType eDataType, String initialValue) + { + EnumType result = EnumType.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertEnumTypeToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FetchType createFetchTypeFromString(EDataType eDataType, String initialValue) + { + FetchType result = FetchType.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertFetchTypeToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GenerationType createGenerationTypeFromString(EDataType eDataType, String initialValue) + { + GenerationType result = GenerationType.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertGenerationTypeToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InheritanceType createInheritanceTypeFromString(EDataType eDataType, String initialValue) + { + InheritanceType result = InheritanceType.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertInheritanceTypeToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TemporalType createTemporalTypeFromString(EDataType eDataType, String initialValue) + { + TemporalType result = TemporalType.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertTemporalTypeToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OrmPackage getOrmPackage() + { + return (OrmPackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static OrmPackage getPackage() + { + return OrmPackage.eINSTANCE; + } + +} //OrmFactory diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmPackage.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmPackage.java new file mode 100644 index 0000000000..873c29c57c --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmPackage.java @@ -0,0 +1,12962 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecore.impl.EPackageImpl; +import org.eclipse.emf.ecore.xml.type.XMLTypePackage; +import org.eclipse.jpt.common.core.resource.xml.CommonPackage; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage; +import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmFactory + * @model kind="package" + * @generated + */ +public class OrmPackage extends EPackageImpl +{ + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String eNAME = "orm"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String eNS_URI = "jpt.orm.xmi"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String eNS_PREFIX = "org.eclipse.jpt.jpa.core.resource.orm"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final OrmPackage eINSTANCE = org.eclipse.jpt.jpa.core.resource.orm.OrmPackage.init(); + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder <em>Xml Access Holder</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder() + * @generated + */ + public static final int XML_ACCESS_HOLDER = 15; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ACCESS_HOLDER__ACCESS = 0; + + /** + * The number of structural features of the '<em>Xml Access Holder</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ACCESS_HOLDER_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping <em>Xml Attribute Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeMapping() + * @generated + */ + public static final int XML_ATTRIBUTE_MAPPING = 16; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTE_MAPPING__ACCESS = OrmV2_0Package.XML_ATTRIBUTE_MAPPING_20__ACCESS; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTE_MAPPING__NAME = OrmV2_0Package.XML_ATTRIBUTE_MAPPING_20_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml Attribute Mapping</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTE_MAPPING_FEATURE_COUNT = OrmV2_0Package.XML_ATTRIBUTE_MAPPING_20_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping <em>Abstract Xml Attribute Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlAttributeMapping() + * @generated + */ + public static final int ABSTRACT_XML_ATTRIBUTE_MAPPING = 0; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS = XML_ATTRIBUTE_MAPPING__ACCESS; + + /** + * 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_ATTRIBUTE_MAPPING__NAME = XML_ATTRIBUTE_MAPPING__NAME; + + /** + * The number of structural features of the '<em>Abstract Xml Attribute Mapping</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT = XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn <em>Xml Named Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedColumn() + * @generated + */ + public static final int XML_NAMED_COLUMN = 6; + + /** + * The feature id for the '<em><b>Column Definition</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_COLUMN__COLUMN_DEFINITION = 0; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_COLUMN__NAME = 1; + + /** + * The number of structural features of the '<em>Xml Named Column</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_COLUMN_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn <em>Xml Base Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn() + * @generated + */ + public static final int XML_BASE_COLUMN = 1; + + /** + * The feature id for the '<em><b>Column Definition</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASE_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 XML_BASE_COLUMN__NAME = 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 XML_BASE_COLUMN__INSERTABLE = 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 XML_BASE_COLUMN__NULLABLE = 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 XML_BASE_COLUMN__TABLE = 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 XML_BASE_COLUMN__UNIQUE = 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 XML_BASE_COLUMN__UPDATABLE = XML_NAMED_COLUMN_FEATURE_COUNT + 4; + + /** + * The number of structural features of the '<em>Xml Base Column</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASE_COLUMN_FEATURE_COUNT = XML_NAMED_COLUMN_FEATURE_COUNT + 5; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlNamedColumn <em>Abstract Xml Named Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlNamedColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlNamedColumn() + * @generated + */ + public static final int ABSTRACT_XML_NAMED_COLUMN = 9; + + /** + * 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.jpa.core.resource.orm.AbstractXmlBaseColumn <em>Abstract Xml Base Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlBaseColumn() + * @generated + */ + public static final int ABSTRACT_XML_BASE_COLUMN = 2; + + /** + * 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_BASE_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_BASE_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_BASE_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_BASE_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_BASE_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_BASE_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_BASE_COLUMN__UPDATABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 4; + + /** + * The number of structural features of the '<em>Abstract Xml Base Column</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 5; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn <em>Abstract Xml Base Discriminator Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlBaseDiscriminatorColumn() + * @generated + */ + public static final int ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN = 3; + + /** + * 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_BASE_DISCRIMINATOR_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_BASE_DISCRIMINATOR_COLUMN__NAME = ABSTRACT_XML_NAMED_COLUMN__NAME; + + /** + * The feature id for the '<em><b>Discriminator Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Length</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Abstract Xml Base Discriminator Column</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN_FEATURE_COUNT = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlEmbedded <em>Abstract Xml Embedded</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlEmbedded + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlEmbedded() + * @generated + */ + public static final int ABSTRACT_XML_EMBEDDED = 4; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_EMBEDDED__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS; + + /** + * 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_EMBEDDED__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME; + + /** + * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Abstract Xml Embedded</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_EMBEDDED_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping <em>Abstract Xml Relationship Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlRelationshipMapping() + * @generated + */ + public static final int ABSTRACT_XML_RELATIONSHIP_MAPPING = 10; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_RELATIONSHIP_MAPPING__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS; + + /** + * 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_RELATIONSHIP_MAPPING__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME; + + /** + * The feature id for the '<em><b>Target Entity</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Fetch</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Cascade</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Abstract Xml Relationship Mapping</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping <em>Abstract Xml Multi Relationship Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlMultiRelationshipMapping() + * @generated + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING = 5; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ACCESS = ABSTRACT_XML_RELATIONSHIP_MAPPING__ACCESS; + + /** + * 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_MULTI_RELATIONSHIP_MAPPING__NAME = ABSTRACT_XML_RELATIONSHIP_MAPPING__NAME; + + /** + * The feature id for the '<em><b>Target Entity</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__TARGET_ENTITY = ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY; + + /** + * The feature id for the '<em><b>Fetch</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__FETCH = ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH; + + /** + * The feature id for the '<em><b>Cascade</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__CASCADE = ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE; + + /** + * The feature id for the '<em><b>Mapped By</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Order Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Order By</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Map Key Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 7; + + /** + * The feature id for the '<em><b>Map Key Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 8; + + /** + * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 9; + + /** + * The feature id for the '<em><b>Map Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 10; + + /** + * The number of structural features of the '<em>Abstract Xml Multi Relationship Mapping</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 11; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn <em>Xml Base Discriminator Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn() + * @generated + */ + public static final int XML_BASE_DISCRIMINATOR_COLUMN = 7; + + /** + * The feature id for the '<em><b>Column Definition</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASE_DISCRIMINATOR_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 XML_BASE_DISCRIMINATOR_COLUMN__NAME = XML_NAMED_COLUMN__NAME; + + /** + * The feature id for the '<em><b>Discriminator Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE = XML_NAMED_COLUMN_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Length</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASE_DISCRIMINATOR_COLUMN__LENGTH = XML_NAMED_COLUMN_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Xml Base Discriminator Column</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASE_DISCRIMINATOR_COLUMN_FEATURE_COUNT = XML_NAMED_COLUMN_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn <em>Xml Base Join Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseJoinColumn() + * @generated + */ + public static final int XML_BASE_JOIN_COLUMN = 8; + + /** + * The feature id for the '<em><b>Column Definition</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASE_JOIN_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 XML_BASE_JOIN_COLUMN__NAME = XML_NAMED_COLUMN__NAME; + + /** + * The feature id for the '<em><b>Referenced Column Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASE_JOIN_COLUMN__REFERENCED_COLUMN_NAME = XML_NAMED_COLUMN_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml Base Join Column</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASE_JOIN_COLUMN_FEATURE_COUNT = XML_NAMED_COLUMN_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping <em>Abstract Xml Single Relationship Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlSingleRelationshipMapping() + * @generated + */ + public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING = 11; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ACCESS = ABSTRACT_XML_RELATIONSHIP_MAPPING__ACCESS; + + /** + * 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_SINGLE_RELATIONSHIP_MAPPING__NAME = ABSTRACT_XML_RELATIONSHIP_MAPPING__NAME; + + /** + * The feature id for the '<em><b>Target Entity</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__TARGET_ENTITY = ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY; + + /** + * The feature id for the '<em><b>Fetch</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__FETCH = ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH; + + /** + * The feature id for the '<em><b>Cascade</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__CASCADE = ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE; + + /** + * The feature id for the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Maps Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Optional</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 4; + + /** + * The number of structural features of the '<em>Abstract Xml Single Relationship Mapping</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 5; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable <em>Abstract Xml Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable() + * @generated + */ + public static final int ABSTRACT_XML_TABLE = 13; + + /** + * 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_TABLE__NAME = 0; + + /** + * The feature id for the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_TABLE__CATALOG = 1; + + /** + * The feature id for the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_TABLE__SCHEMA = 2; + + /** + * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS = 3; + + /** + * The number of structural features of the '<em>Abstract Xml Table</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_TABLE_FEATURE_COUNT = 4; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping <em>Xml Type Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping() + * @generated + */ + public static final int XML_TYPE_MAPPING = 88; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping <em>Abstract Xml Type Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTypeMapping() + * @generated + */ + public static final int ABSTRACT_XML_TYPE_MAPPING = 14; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride <em>Xml Association Override</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverride() + * @generated + */ + public static final int XML_ASSOCIATION_OVERRIDE = 17; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer <em>Xml Association Override Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer() + * @generated + */ + public static final int XML_ASSOCIATION_OVERRIDE_CONTAINER = 18; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride <em>Xml Attribute Override</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverride() + * @generated + */ + public static final int XML_ATTRIBUTE_OVERRIDE = 19; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer <em>Xml Attribute Override Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer() + * @generated + */ + public static final int XML_ATTRIBUTE_OVERRIDE_CONTAINER = 20; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes <em>Attributes</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes() + * @generated + */ + public static final int ATTRIBUTES = 21; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic <em>Xml Basic</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBasic + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBasic() + * @generated + */ + public static final int XML_BASIC = 22; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType <em>Cascade Type</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType() + * @generated + */ + public static final int CASCADE_TYPE = 23; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlReferenceTable <em>Abstract Xml Reference Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlReferenceTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlReferenceTable() + * @generated + */ + public static final int ABSTRACT_XML_REFERENCE_TABLE = 12; + + /** + * 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_REFERENCE_TABLE__NAME = ABSTRACT_XML_TABLE__NAME; + + /** + * The feature id for the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_REFERENCE_TABLE__CATALOG = ABSTRACT_XML_TABLE__CATALOG; + + /** + * The feature id for the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_REFERENCE_TABLE__SCHEMA = ABSTRACT_XML_TABLE__SCHEMA; + + /** + * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_REFERENCE_TABLE__UNIQUE_CONSTRAINTS = ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS = ABSTRACT_XML_TABLE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Abstract Xml Reference Table</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_REFERENCE_TABLE_FEATURE_COUNT = ABSTRACT_XML_TABLE_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING__ACCESS = XML_ACCESS_HOLDER__ACCESS; + + /** + * The feature id for the '<em><b>Class Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING__CLASS_NAME = XML_ACCESS_HOLDER_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Metadata Complete</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING__METADATA_COMPLETE = XML_ACCESS_HOLDER_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING__DESCRIPTION = XML_ACCESS_HOLDER_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Attributes</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING__ATTRIBUTES = XML_ACCESS_HOLDER_FEATURE_COUNT + 3; + + /** + * The number of structural features of the '<em>Xml Type Mapping</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING_FEATURE_COUNT = XML_ACCESS_HOLDER_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_TYPE_MAPPING__ACCESS = XML_TYPE_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Class Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME = XML_TYPE_MAPPING__CLASS_NAME; + + /** + * The feature id for the '<em><b>Metadata Complete</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE = XML_TYPE_MAPPING__METADATA_COMPLETE; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION = XML_TYPE_MAPPING__DESCRIPTION; + + /** + * The feature id for the '<em><b>Attributes</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES = XML_TYPE_MAPPING__ATTRIBUTES; + + /** + * The number of structural features of the '<em>Abstract Xml Type Mapping</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT = XML_TYPE_MAPPING_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOverride <em>Xml Override</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOverride + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOverride() + * @generated + */ + public static final int XML_OVERRIDE = 66; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_OVERRIDE__NAME = 0; + + /** + * The number of structural features of the '<em>Xml Override</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_OVERRIDE_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ASSOCIATION_OVERRIDE__NAME = XML_OVERRIDE__NAME; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS = XML_OVERRIDE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ASSOCIATION_OVERRIDE__JOIN_TABLE = XML_OVERRIDE_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ASSOCIATION_OVERRIDE__DESCRIPTION = XML_OVERRIDE_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Xml Association Override</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ASSOCIATION_OVERRIDE_FEATURE_COUNT = XML_OVERRIDE_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES = 0; + + /** + * The number of structural features of the '<em>Xml Association Override Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ASSOCIATION_OVERRIDE_CONTAINER_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTE_OVERRIDE__NAME = XML_OVERRIDE__NAME; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTE_OVERRIDE__DESCRIPTION = XML_OVERRIDE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTE_OVERRIDE__COLUMN = XML_OVERRIDE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Xml Attribute Override</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTE_OVERRIDE_FEATURE_COUNT = XML_OVERRIDE_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES = 0; + + /** + * The number of structural features of the '<em>Xml Attribute Override Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTE_OVERRIDE_CONTAINER_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ATTRIBUTES__DESCRIPTION = OrmV2_0Package.XML_ATTRIBUTES_20__DESCRIPTION; + + /** + * The feature id for the '<em><b>Element Collections</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ATTRIBUTES__ELEMENT_COLLECTIONS = OrmV2_0Package.XML_ATTRIBUTES_20__ELEMENT_COLLECTIONS; + + /** + * The feature id for the '<em><b>Ids</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ATTRIBUTES__IDS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Embedded Ids</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ATTRIBUTES__EMBEDDED_IDS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Basics</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ATTRIBUTES__BASICS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Versions</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ATTRIBUTES__VERSIONS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Many To Ones</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ATTRIBUTES__MANY_TO_ONES = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>One To Manys</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ATTRIBUTES__ONE_TO_MANYS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>One To Ones</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ATTRIBUTES__ONE_TO_ONES = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Many To Manys</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ATTRIBUTES__MANY_TO_MANYS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 7; + + /** + * The feature id for the '<em><b>Embeddeds</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ATTRIBUTES__EMBEDDEDS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 8; + + /** + * The feature id for the '<em><b>Transients</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ATTRIBUTES__TRANSIENTS = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 9; + + /** + * The number of structural features of the '<em>Attributes</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ATTRIBUTES_FEATURE_COUNT = OrmV2_0Package.XML_ATTRIBUTES_20_FEATURE_COUNT + 10; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASIC__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASIC__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME; + + /** + * The feature id for the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASIC__COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Lob</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASIC__LOB = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASIC__TEMPORAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASIC__ENUMERATED = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Fetch</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASIC__FETCH = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Optional</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASIC__OPTIONAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5; + + /** + * The number of structural features of the '<em>Xml Basic</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_BASIC_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Cascade Detach</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int CASCADE_TYPE__CASCADE_DETACH = OrmV2_0Package.XML_CASCADE_TYPE_20__CASCADE_DETACH; + + /** + * The feature id for the '<em><b>Cascade All</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int CASCADE_TYPE__CASCADE_ALL = OrmV2_0Package.XML_CASCADE_TYPE_20_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Cascade Persist</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int CASCADE_TYPE__CASCADE_PERSIST = OrmV2_0Package.XML_CASCADE_TYPE_20_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Cascade Merge</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int CASCADE_TYPE__CASCADE_MERGE = OrmV2_0Package.XML_CASCADE_TYPE_20_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Cascade Remove</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int CASCADE_TYPE__CASCADE_REMOVE = OrmV2_0Package.XML_CASCADE_TYPE_20_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Cascade Refresh</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int CASCADE_TYPE__CASCADE_REFRESH = OrmV2_0Package.XML_CASCADE_TYPE_20_FEATURE_COUNT + 4; + + /** + * The number of structural features of the '<em>Cascade Type</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int CASCADE_TYPE_FEATURE_COUNT = OrmV2_0Package.XML_CASCADE_TYPE_20_FEATURE_COUNT + 5; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference <em>Xml Class Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlClassReference() + * @generated + */ + public static final int XML_CLASS_REFERENCE = 24; + + /** + * The feature id for the '<em><b>Class Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_CLASS_REFERENCE__CLASS_NAME = 0; + + /** + * The number of structural features of the '<em>Xml Class Reference</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_CLASS_REFERENCE_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable <em>Xml Collection Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlCollectionTable() + * @generated + */ + public static final int XML_COLLECTION_TABLE = 25; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLLECTION_TABLE__NAME = ABSTRACT_XML_REFERENCE_TABLE__NAME; + + /** + * The feature id for the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLLECTION_TABLE__CATALOG = ABSTRACT_XML_REFERENCE_TABLE__CATALOG; + + /** + * The feature id for the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLLECTION_TABLE__SCHEMA = ABSTRACT_XML_REFERENCE_TABLE__SCHEMA; + + /** + * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLLECTION_TABLE__UNIQUE_CONSTRAINTS = ABSTRACT_XML_REFERENCE_TABLE__UNIQUE_CONSTRAINTS; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLLECTION_TABLE__JOIN_COLUMNS = ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS; + + /** + * The number of structural features of the '<em>Xml Collection Table</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLLECTION_TABLE_FEATURE_COUNT = ABSTRACT_XML_REFERENCE_TABLE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn <em>Xml Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlColumn() + * @generated + */ + public static final int XML_COLUMN = 26; + + /** + * The feature id for the '<em><b>Column Definition</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLUMN__COLUMN_DEFINITION = ABSTRACT_XML_BASE_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 XML_COLUMN__NAME = ABSTRACT_XML_BASE_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 XML_COLUMN__INSERTABLE = ABSTRACT_XML_BASE_COLUMN__INSERTABLE; + + /** + * The feature id for the '<em><b>Nullable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLUMN__NULLABLE = ABSTRACT_XML_BASE_COLUMN__NULLABLE; + + /** + * The feature id for the '<em><b>Table</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLUMN__TABLE = ABSTRACT_XML_BASE_COLUMN__TABLE; + + /** + * The feature id for the '<em><b>Unique</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLUMN__UNIQUE = ABSTRACT_XML_BASE_COLUMN__UNIQUE; + + /** + * The feature id for the '<em><b>Updatable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLUMN__UPDATABLE = ABSTRACT_XML_BASE_COLUMN__UPDATABLE; + + /** + * The feature id for the '<em><b>Length</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLUMN__LENGTH = ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Precision</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLUMN__PRECISION = ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Scale</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLUMN__SCALE = ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Xml Column</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLUMN_FEATURE_COUNT = ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping <em>Column Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnMapping() + * @generated + */ + public static final int COLUMN_MAPPING = 27; + + /** + * The feature id for the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int COLUMN_MAPPING__COLUMN = 0; + + /** + * The number of structural features of the '<em>Column Mapping</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int COLUMN_MAPPING_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnResult <em>Column Result</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnResult + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnResult() + * @generated + */ + public static final int COLUMN_RESULT = 28; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int COLUMN_RESULT__NAME = 0; + + /** + * The number of structural features of the '<em>Column Result</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int COLUMN_RESULT_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping <em>Xml Convertible Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping() + * @generated + */ + public static final int XML_CONVERTIBLE_MAPPING = 29; + + /** + * The feature id for the '<em><b>Lob</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_CONVERTIBLE_MAPPING__LOB = 0; + + /** + * The feature id for the '<em><b>Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_CONVERTIBLE_MAPPING__TEMPORAL = 1; + + /** + * The feature id for the '<em><b>Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_CONVERTIBLE_MAPPING__ENUMERATED = 2; + + /** + * The number of structural features of the '<em>Xml Convertible Mapping</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_CONVERTIBLE_MAPPING_FEATURE_COUNT = 3; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlDiscriminatorColumn <em>Xml Discriminator Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlDiscriminatorColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlDiscriminatorColumn() + * @generated + */ + public static final int XML_DISCRIMINATOR_COLUMN = 30; + + /** + * The feature id for the '<em><b>Column Definition</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_DISCRIMINATOR_COLUMN__COLUMN_DEFINITION = ABSTRACT_XML_BASE_DISCRIMINATOR_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 XML_DISCRIMINATOR_COLUMN__NAME = ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__NAME; + + /** + * The feature id for the '<em><b>Discriminator Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE = ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE; + + /** + * The feature id for the '<em><b>Length</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_DISCRIMINATOR_COLUMN__LENGTH = ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN__LENGTH; + + /** + * The number of structural features of the '<em>Xml Discriminator Column</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_DISCRIMINATOR_COLUMN_FEATURE_COUNT = ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection <em>Xml Element Collection</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection() + * @generated + */ + public static final int XML_ELEMENT_COLLECTION = 31; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME; + + /** + * The feature id for the '<em><b>Lob</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__LOB = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__TEMPORAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__ENUMERATED = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Order Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__ORDER_COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Order By</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__ORDER_BY = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 7; + + /** + * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 8; + + /** + * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 9; + + /** + * The feature id for the '<em><b>Target Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__TARGET_CLASS = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 10; + + /** + * The feature id for the '<em><b>Fetch</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__FETCH = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 11; + + /** + * The feature id for the '<em><b>Map Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__MAP_KEY = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 12; + + /** + * The feature id for the '<em><b>Map Key Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__MAP_KEY_CLASS = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 13; + + /** + * The feature id for the '<em><b>Map Key Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 14; + + /** + * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 15; + + /** + * The feature id for the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 16; + + /** + * The feature id for the '<em><b>Collection Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION__COLLECTION_TABLE = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 17; + + /** + * The number of structural features of the '<em>Xml Element Collection</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 18; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable <em>Xml Embeddable</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbeddable() + * @generated + */ + public static final int XML_EMBEDDABLE = 32; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDABLE__ACCESS = ABSTRACT_XML_TYPE_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Class Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDABLE__CLASS_NAME = ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME; + + /** + * The feature id for the '<em><b>Metadata Complete</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDABLE__METADATA_COMPLETE = ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDABLE__DESCRIPTION = ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION; + + /** + * The feature id for the '<em><b>Attributes</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDABLE__ATTRIBUTES = ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES; + + /** + * The number of structural features of the '<em>Xml Embeddable</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDABLE_FEATURE_COUNT = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded <em>Xml Embedded</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbedded() + * @generated + */ + public static final int XML_EMBEDDED = 33; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDED__ACCESS = ABSTRACT_XML_EMBEDDED__ACCESS; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDED__NAME = ABSTRACT_XML_EMBEDDED__NAME; + + /** + * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDED__ATTRIBUTE_OVERRIDES = ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES; + + /** + * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDED__ASSOCIATION_OVERRIDES = ABSTRACT_XML_EMBEDDED_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml Embedded</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDED_FEATURE_COUNT = ABSTRACT_XML_EMBEDDED_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId <em>Xml Embedded Id</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbeddedId() + * @generated + */ + public static final int XML_EMBEDDED_ID = 34; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDED_ID__ACCESS = ABSTRACT_XML_EMBEDDED__ACCESS; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDED_ID__NAME = ABSTRACT_XML_EMBEDDED__NAME; + + /** + * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDED_ID__ATTRIBUTE_OVERRIDES = ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES; + + /** + * The number of structural features of the '<em>Xml Embedded Id</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDED_ID_FEATURE_COUNT = ABSTRACT_XML_EMBEDDED_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity <em>Xml Entity</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity() + * @generated + */ + public static final int XML_ENTITY = 35; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__ACCESS = ABSTRACT_XML_TYPE_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Class Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__CLASS_NAME = ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME; + + /** + * The feature id for the '<em><b>Metadata Complete</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__METADATA_COMPLETE = ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__DESCRIPTION = ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION; + + /** + * The feature id for the '<em><b>Attributes</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__ATTRIBUTES = ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES; + + /** + * The feature id for the '<em><b>Named Queries</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__NAMED_QUERIES = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Named Native Queries</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__NAMED_NATIVE_QUERIES = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__SEQUENCE_GENERATOR = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Table Generator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__TABLE_GENERATOR = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Pre Persist</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__PRE_PERSIST = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Post Persist</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__POST_PERSIST = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Pre Remove</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__PRE_REMOVE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Post Remove</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__POST_REMOVE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 7; + + /** + * The feature id for the '<em><b>Pre Update</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__PRE_UPDATE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 8; + + /** + * The feature id for the '<em><b>Post Update</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__POST_UPDATE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 9; + + /** + * The feature id for the '<em><b>Post Load</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__POST_LOAD = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 10; + + /** + * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__ATTRIBUTE_OVERRIDES = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 11; + + /** + * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__ASSOCIATION_OVERRIDES = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 12; + + /** + * The feature id for the '<em><b>Cacheable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__CACHEABLE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 13; + + /** + * The feature id for the '<em><b>Id Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__ID_CLASS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 14; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__NAME = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 15; + + /** + * The feature id for the '<em><b>Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__TABLE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 16; + + /** + * The feature id for the '<em><b>Secondary Tables</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__SECONDARY_TABLES = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 17; + + /** + * The feature id for the '<em><b>Primary Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 18; + + /** + * The feature id for the '<em><b>Inheritance</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__INHERITANCE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 19; + + /** + * The feature id for the '<em><b>Discriminator Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__DISCRIMINATOR_VALUE = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 20; + + /** + * The feature id for the '<em><b>Discriminator Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__DISCRIMINATOR_COLUMN = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 21; + + /** + * The feature id for the '<em><b>Sql Result Set Mappings</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__SQL_RESULT_SET_MAPPINGS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 22; + + /** + * The feature id for the '<em><b>Exclude Default Listeners</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 23; + + /** + * The feature id for the '<em><b>Exclude Superclass Listeners</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 24; + + /** + * The feature id for the '<em><b>Entity Listeners</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY__ENTITY_LISTENERS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 25; + + /** + * The number of structural features of the '<em>Xml Entity</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_FEATURE_COUNT = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 26; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer <em>Xml Event Method Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer() + * @generated + */ + public static final int XML_EVENT_METHOD_CONTAINER = 41; + + /** + * The feature id for the '<em><b>Pre Persist</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EVENT_METHOD_CONTAINER__PRE_PERSIST = 0; + + /** + * The feature id for the '<em><b>Post Persist</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EVENT_METHOD_CONTAINER__POST_PERSIST = 1; + + /** + * The feature id for the '<em><b>Pre Remove</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EVENT_METHOD_CONTAINER__PRE_REMOVE = 2; + + /** + * The feature id for the '<em><b>Post Remove</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EVENT_METHOD_CONTAINER__POST_REMOVE = 3; + + /** + * The feature id for the '<em><b>Pre Update</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EVENT_METHOD_CONTAINER__PRE_UPDATE = 4; + + /** + * The feature id for the '<em><b>Post Update</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EVENT_METHOD_CONTAINER__POST_UPDATE = 5; + + /** + * The feature id for the '<em><b>Post Load</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EVENT_METHOD_CONTAINER__POST_LOAD = 6; + + /** + * The number of structural features of the '<em>Xml Event Method Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EVENT_METHOD_CONTAINER_FEATURE_COUNT = 7; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener <em>Entity Listener</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListener + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListener() + * @generated + */ + public static final int ENTITY_LISTENER = 36; + + /** + * The feature id for the '<em><b>Pre Persist</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_LISTENER__PRE_PERSIST = XML_EVENT_METHOD_CONTAINER__PRE_PERSIST; + + /** + * The feature id for the '<em><b>Post Persist</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_LISTENER__POST_PERSIST = XML_EVENT_METHOD_CONTAINER__POST_PERSIST; + + /** + * The feature id for the '<em><b>Pre Remove</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_LISTENER__PRE_REMOVE = XML_EVENT_METHOD_CONTAINER__PRE_REMOVE; + + /** + * The feature id for the '<em><b>Post Remove</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_LISTENER__POST_REMOVE = XML_EVENT_METHOD_CONTAINER__POST_REMOVE; + + /** + * The feature id for the '<em><b>Pre Update</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_LISTENER__PRE_UPDATE = XML_EVENT_METHOD_CONTAINER__PRE_UPDATE; + + /** + * The feature id for the '<em><b>Post Update</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_LISTENER__POST_UPDATE = XML_EVENT_METHOD_CONTAINER__POST_UPDATE; + + /** + * The feature id for the '<em><b>Post Load</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_LISTENER__POST_LOAD = XML_EVENT_METHOD_CONTAINER__POST_LOAD; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_LISTENER__DESCRIPTION = XML_EVENT_METHOD_CONTAINER_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Class Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_LISTENER__CLASS_NAME = XML_EVENT_METHOD_CONTAINER_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Entity Listener</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_LISTENER_FEATURE_COUNT = XML_EVENT_METHOD_CONTAINER_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListeners <em>Entity Listeners</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListeners + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListeners() + * @generated + */ + public static final int ENTITY_LISTENERS = 37; + + /** + * The feature id for the '<em><b>Entity Listeners</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_LISTENERS__ENTITY_LISTENERS = 0; + + /** + * The number of structural features of the '<em>Entity Listeners</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_LISTENERS_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings <em>Xml Entity Mappings</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings() + * @generated + */ + public static final int XML_ENTITY_MAPPINGS = 38; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult <em>Entity Result</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityResult + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityResult() + * @generated + */ + public static final int ENTITY_RESULT = 39; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EventMethod <em>Event Method</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.EventMethod + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEventMethod() + * @generated + */ + public static final int EVENT_METHOD = 40; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult <em>Field Result</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.FieldResult + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getFieldResult() + * @generated + */ + public static final int FIELD_RESULT = 42; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue <em>Xml Generated Value</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratedValue() + * @generated + */ + public static final int XML_GENERATED_VALUE = 43; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator <em>Xml Generator</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator() + * @generated + */ + public static final int XML_GENERATOR = 44; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer <em>Xml Generator Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer() + * @generated + */ + public static final int XML_GENERATOR_CONTAINER = 45; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId <em>Xml Id</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlId + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlId() + * @generated + */ + public static final int XML_ID = 46; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.Inheritance <em>Inheritance</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.Inheritance + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getInheritance() + * @generated + */ + public static final int INHERITANCE = 48; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn <em>Xml Join Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumn() + * @generated + */ + public static final int XML_JOIN_COLUMN = 49; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable <em>Xml Join Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTable() + * @generated + */ + public static final int XML_JOIN_TABLE = 51; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.Lob <em>Lob</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.Lob + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getLob() + * @generated + */ + public static final int LOB = 53; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany <em>Xml Many To Many</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlManyToMany() + * @generated + */ + public static final int XML_MANY_TO_MANY = 54; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne <em>Xml Many To One</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlManyToOne() + * @generated + */ + public static final int XML_MANY_TO_ONE = 55; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.MapKey <em>Map Key</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.MapKey + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getMapKey() + * @generated + */ + public static final int MAP_KEY = 56; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping <em>Xml Mapped By Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedByMapping() + * @generated + */ + public static final int XML_MAPPED_BY_MAPPING = 57; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass <em>Xml Mapped Superclass</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedSuperclass() + * @generated + */ + public static final int XML_MAPPED_SUPERCLASS = 58; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery <em>Xml Query</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQuery + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery() + * @generated + */ + public static final int XML_QUERY = 79; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery <em>Xml Named Native Query</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedNativeQuery() + * @generated + */ + public static final int XML_NAMED_NATIVE_QUERY = 59; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery <em>Xml Named Query</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedQuery() + * @generated + */ + public static final int XML_NAMED_QUERY = 60; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNullAttributeMapping <em>Xml Null Attribute Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNullAttributeMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNullAttributeMapping() + * @generated + */ + public static final int XML_NULL_ATTRIBUTE_MAPPING = 61; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany <em>Xml One To Many</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOneToMany() + * @generated + */ + public static final int XML_ONE_TO_MANY = 62; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne <em>Xml One To One</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOneToOne() + * @generated + */ + public static final int XML_ONE_TO_ONE = 63; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn <em>Xml Order Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderColumn() + * @generated + */ + public static final int XML_ORDER_COLUMN = 65; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults <em>Xml Persistence Unit Defaults</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults() + * @generated + */ + public static final int XML_PERSISTENCE_UNIT_DEFAULTS = 67; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata <em>Xml Persistence Unit Metadata</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitMetadata() + * @generated + */ + public static final int XML_PERSISTENCE_UNIT_METADATA = 68; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostLoad <em>Post Load</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PostLoad + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostLoad() + * @generated + */ + public static final int POST_LOAD = 70; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostPersist <em>Post Persist</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PostPersist + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostPersist() + * @generated + */ + public static final int POST_PERSIST = 71; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostRemove <em>Post Remove</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PostRemove + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostRemove() + * @generated + */ + public static final int POST_REMOVE = 72; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostUpdate <em>Post Update</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PostUpdate + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostUpdate() + * @generated + */ + public static final int POST_UPDATE = 73; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PrePersist <em>Pre Persist</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PrePersist + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPrePersist() + * @generated + */ + public static final int PRE_PERSIST = 74; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PreRemove <em>Pre Remove</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PreRemove + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPreRemove() + * @generated + */ + public static final int PRE_REMOVE = 75; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PreUpdate <em>Pre Update</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PreUpdate + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPreUpdate() + * @generated + */ + public static final int PRE_UPDATE = 76; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn <em>Xml Primary Key Join Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumn() + * @generated + */ + public static final int XML_PRIMARY_KEY_JOIN_COLUMN = 77; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer <em>Xml Query Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer() + * @generated + */ + public static final int XML_QUERY_CONTAINER = 80; + + /** + * The feature id for the '<em><b>Version</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__VERSION = CommonPackage.EROOT_OBJECT_IMPL__VERSION; + + /** + * The feature id for the '<em><b>Schema Location</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__SCHEMA_LOCATION = CommonPackage.EROOT_OBJECT_IMPL__SCHEMA_LOCATION; + + /** + * The feature id for the '<em><b>Implied Version</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__IMPLIED_VERSION = CommonPackage.EROOT_OBJECT_IMPL__IMPLIED_VERSION; + + /** + * The feature id for the '<em><b>Named Queries</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__NAMED_QUERIES = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Named Native Queries</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__ACCESS = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__DESCRIPTION = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Persistence Unit Metadata</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Package</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__PACKAGE = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__SCHEMA = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__CATALOG = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 7; + + /** + * The feature id for the '<em><b>Sequence Generators</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 8; + + /** + * The feature id for the '<em><b>Table Generators</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__TABLE_GENERATORS = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 9; + + /** + * The feature id for the '<em><b>Sql Result Set Mappings</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 10; + + /** + * The feature id for the '<em><b>Mapped Superclasses</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 11; + + /** + * The feature id for the '<em><b>Entities</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__ENTITIES = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 12; + + /** + * The feature id for the '<em><b>Embeddables</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS__EMBEDDABLES = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 13; + + /** + * The number of structural features of the '<em>Xml Entity Mappings</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_MAPPINGS_FEATURE_COUNT = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 14; + + /** + * The feature id for the '<em><b>Discriminator Column</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_RESULT__DISCRIMINATOR_COLUMN = 0; + + /** + * The feature id for the '<em><b>Entity Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_RESULT__ENTITY_CLASS = 1; + + /** + * The feature id for the '<em><b>Field Results</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_RESULT__FIELD_RESULTS = 2; + + /** + * The number of structural features of the '<em>Entity Result</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int ENTITY_RESULT_FEATURE_COUNT = 3; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int EVENT_METHOD__DESCRIPTION = OrmV2_0Package.XML_EVENT_METHOD_20__DESCRIPTION; + + /** + * The feature id for the '<em><b>Method Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int EVENT_METHOD__METHOD_NAME = OrmV2_0Package.XML_EVENT_METHOD_20_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Event Method</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int EVENT_METHOD_FEATURE_COUNT = OrmV2_0Package.XML_EVENT_METHOD_20_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int FIELD_RESULT__NAME = 0; + + /** + * The feature id for the '<em><b>Column</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int FIELD_RESULT__COLUMN = 1; + + /** + * The number of structural features of the '<em>Field Result</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int FIELD_RESULT_FEATURE_COUNT = 2; + + /** + * The feature id for the '<em><b>Generator</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_GENERATED_VALUE__GENERATOR = 0; + + /** + * The feature id for the '<em><b>Strategy</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_GENERATED_VALUE__STRATEGY = 1; + + /** + * The number of structural features of the '<em>Xml Generated Value</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_GENERATED_VALUE_FEATURE_COUNT = 2; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_GENERATOR__DESCRIPTION = OrmV2_0Package.XML_GENERATOR_20__DESCRIPTION; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_GENERATOR__NAME = OrmV2_0Package.XML_GENERATOR_20_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Initial Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_GENERATOR__INITIAL_VALUE = OrmV2_0Package.XML_GENERATOR_20_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Allocation Size</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_GENERATOR__ALLOCATION_SIZE = OrmV2_0Package.XML_GENERATOR_20_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Xml Generator</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_GENERATOR_FEATURE_COUNT = OrmV2_0Package.XML_GENERATOR_20_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR = 0; + + /** + * The feature id for the '<em><b>Table Generator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_GENERATOR_CONTAINER__TABLE_GENERATOR = 1; + + /** + * The number of structural features of the '<em>Xml Generator Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_GENERATOR_CONTAINER_FEATURE_COUNT = 2; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ID__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ID__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME; + + /** + * The feature id for the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ID__COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Lob</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ID__LOB = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ID__TEMPORAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ID__ENUMERATED = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ID__SEQUENCE_GENERATOR = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Table Generator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ID__TABLE_GENERATOR = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Generated Value</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ID__GENERATED_VALUE = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 6; + + /** + * The number of structural features of the '<em>Xml Id</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ID_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 7; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer <em>Xml Id Class Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlIdClassContainer() + * @generated + */ + public static final int XML_ID_CLASS_CONTAINER = 47; + + /** + * The feature id for the '<em><b>Id Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ID_CLASS_CONTAINER__ID_CLASS = 0; + + /** + * The number of structural features of the '<em>Xml Id Class Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ID_CLASS_CONTAINER_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Strategy</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int INHERITANCE__STRATEGY = 0; + + /** + * The number of structural features of the '<em>Inheritance</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int INHERITANCE_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Column Definition</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_COLUMN__COLUMN_DEFINITION = ABSTRACT_XML_BASE_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 XML_JOIN_COLUMN__NAME = ABSTRACT_XML_BASE_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 XML_JOIN_COLUMN__INSERTABLE = ABSTRACT_XML_BASE_COLUMN__INSERTABLE; + + /** + * The feature id for the '<em><b>Nullable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_COLUMN__NULLABLE = ABSTRACT_XML_BASE_COLUMN__NULLABLE; + + /** + * The feature id for the '<em><b>Table</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_COLUMN__TABLE = ABSTRACT_XML_BASE_COLUMN__TABLE; + + /** + * The feature id for the '<em><b>Unique</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_COLUMN__UNIQUE = ABSTRACT_XML_BASE_COLUMN__UNIQUE; + + /** + * The feature id for the '<em><b>Updatable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_COLUMN__UPDATABLE = ABSTRACT_XML_BASE_COLUMN__UPDATABLE; + + /** + * The feature id for the '<em><b>Referenced Column Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME = ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml Join Column</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_COLUMN_FEATURE_COUNT = ABSTRACT_XML_BASE_COLUMN_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer <em>Xml Join Column Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer() + * @generated + */ + public static final int XML_JOIN_COLUMN_CONTAINER = 50; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS = 0; + + /** + * The number of structural features of the '<em>Xml Join Column Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_COLUMN_CONTAINER_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable <em>Xml Reference Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlReferenceTable() + * @generated + */ + public static final int XML_REFERENCE_TABLE = 69; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_TABLE__NAME = ABSTRACT_XML_REFERENCE_TABLE__NAME; + + /** + * The feature id for the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_TABLE__CATALOG = ABSTRACT_XML_REFERENCE_TABLE__CATALOG; + + /** + * The feature id for the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_TABLE__SCHEMA = ABSTRACT_XML_REFERENCE_TABLE__SCHEMA; + + /** + * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_TABLE__UNIQUE_CONSTRAINTS = ABSTRACT_XML_REFERENCE_TABLE__UNIQUE_CONSTRAINTS; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_TABLE__JOIN_COLUMNS = ABSTRACT_XML_REFERENCE_TABLE__JOIN_COLUMNS; + + /** + * The feature id for the '<em><b>Inverse Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS = ABSTRACT_XML_REFERENCE_TABLE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml Join Table</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_TABLE_FEATURE_COUNT = ABSTRACT_XML_REFERENCE_TABLE_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer <em>Xml Join Table Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer() + * @generated + */ + public static final int XML_JOIN_TABLE_CONTAINER = 52; + + /** + * The feature id for the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_TABLE_CONTAINER__JOIN_TABLE = 0; + + /** + * The number of structural features of the '<em>Xml Join Table Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JOIN_TABLE_CONTAINER_FEATURE_COUNT = 1; + + /** + * The number of structural features of the '<em>Lob</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int LOB_FEATURE_COUNT = 0; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__ACCESS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__NAME = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__NAME; + + /** + * The feature id for the '<em><b>Target Entity</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__TARGET_ENTITY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__TARGET_ENTITY; + + /** + * The feature id for the '<em><b>Fetch</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__FETCH = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__FETCH; + + /** + * The feature id for the '<em><b>Cascade</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__CASCADE = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__CASCADE; + + /** + * The feature id for the '<em><b>Mapped By</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__MAPPED_BY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY; + + /** + * The feature id for the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__JOIN_TABLE = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE; + + /** + * The feature id for the '<em><b>Order Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__ORDER_COLUMN = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN; + + /** + * The feature id for the '<em><b>Order By</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__ORDER_BY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY; + + /** + * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__MAP_KEY_ATTRIBUTE_OVERRIDES = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES; + + /** + * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__MAP_KEY_TEMPORAL = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL; + + /** + * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__MAP_KEY_ENUMERATED = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED; + + /** + * The feature id for the '<em><b>Map Key Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__MAP_KEY_CLASS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS; + + /** + * The feature id for the '<em><b>Map Key Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__MAP_KEY_COLUMN = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN; + + /** + * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__MAP_KEY_JOIN_COLUMNS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS; + + /** + * The feature id for the '<em><b>Map Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY__MAP_KEY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY; + + /** + * The number of structural features of the '<em>Xml Many To Many</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY_FEATURE_COUNT = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_ONE__ACCESS = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_ONE__NAME = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__NAME; + + /** + * The feature id for the '<em><b>Target Entity</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_ONE__TARGET_ENTITY = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__TARGET_ENTITY; + + /** + * The feature id for the '<em><b>Fetch</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_ONE__FETCH = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__FETCH; + + /** + * The feature id for the '<em><b>Cascade</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_ONE__CASCADE = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__CASCADE; + + /** + * The feature id for the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_ONE__JOIN_TABLE = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_ONE__JOIN_COLUMNS = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS; + + /** + * The feature id for the '<em><b>Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_ONE__ID = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID; + + /** + * The feature id for the '<em><b>Maps Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_ONE__MAPS_ID = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID; + + /** + * The feature id for the '<em><b>Optional</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_ONE__OPTIONAL = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL; + + /** + * The number of structural features of the '<em>Xml Many To One</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_ONE_FEATURE_COUNT = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int MAP_KEY__NAME = 0; + + /** + * The number of structural features of the '<em>Map Key</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int MAP_KEY_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Mapped By</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_BY_MAPPING__MAPPED_BY = 0; + + /** + * The number of structural features of the '<em>Xml Mapped By Mapping</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_BY_MAPPING_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_SUPERCLASS__ACCESS = ABSTRACT_XML_TYPE_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Class Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_SUPERCLASS__CLASS_NAME = ABSTRACT_XML_TYPE_MAPPING__CLASS_NAME; + + /** + * The feature id for the '<em><b>Metadata Complete</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_SUPERCLASS__METADATA_COMPLETE = ABSTRACT_XML_TYPE_MAPPING__METADATA_COMPLETE; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_SUPERCLASS__DESCRIPTION = ABSTRACT_XML_TYPE_MAPPING__DESCRIPTION; + + /** + * The feature id for the '<em><b>Attributes</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_SUPERCLASS__ATTRIBUTES = ABSTRACT_XML_TYPE_MAPPING__ATTRIBUTES; + + /** + * The feature id for the '<em><b>Id Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_SUPERCLASS__ID_CLASS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Exclude Default Listeners</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Exclude Superclass Listeners</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Entity Listeners</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 3; + + /** + * The number of structural features of the '<em>Xml Mapped Superclass</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_SUPERCLASS_FEATURE_COUNT = ABSTRACT_XML_TYPE_MAPPING_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY__DESCRIPTION = OrmV2_0Package.XML_QUERY_20__DESCRIPTION; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY__NAME = OrmV2_0Package.XML_QUERY_20_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Query</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY__QUERY = OrmV2_0Package.XML_QUERY_20_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Hints</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY__HINTS = OrmV2_0Package.XML_QUERY_20_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Xml Query</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY_FEATURE_COUNT = OrmV2_0Package.XML_QUERY_20_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_NATIVE_QUERY__DESCRIPTION = XML_QUERY__DESCRIPTION; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_NATIVE_QUERY__NAME = XML_QUERY__NAME; + + /** + * The feature id for the '<em><b>Query</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_NATIVE_QUERY__QUERY = XML_QUERY__QUERY; + + /** + * The feature id for the '<em><b>Hints</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_NATIVE_QUERY__HINTS = XML_QUERY__HINTS; + + /** + * The feature id for the '<em><b>Result Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_NATIVE_QUERY__RESULT_CLASS = XML_QUERY_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Result Set Mapping</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING = XML_QUERY_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Xml Named Native Query</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_NATIVE_QUERY_FEATURE_COUNT = XML_QUERY_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_QUERY__DESCRIPTION = XML_QUERY__DESCRIPTION; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_QUERY__NAME = XML_QUERY__NAME; + + /** + * The feature id for the '<em><b>Query</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_QUERY__QUERY = XML_QUERY__QUERY; + + /** + * The feature id for the '<em><b>Hints</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_QUERY__HINTS = XML_QUERY__HINTS; + + /** + * The feature id for the '<em><b>Lock Mode</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_QUERY__LOCK_MODE = XML_QUERY_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml Named Query</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_QUERY_FEATURE_COUNT = XML_QUERY_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NULL_ATTRIBUTE_MAPPING__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NULL_ATTRIBUTE_MAPPING__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME; + + /** + * The number of structural features of the '<em>Xml Null Attribute Mapping</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NULL_ATTRIBUTE_MAPPING_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__ACCESS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__NAME = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__NAME; + + /** + * The feature id for the '<em><b>Target Entity</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__TARGET_ENTITY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__TARGET_ENTITY; + + /** + * The feature id for the '<em><b>Fetch</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__FETCH = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__FETCH; + + /** + * The feature id for the '<em><b>Cascade</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__CASCADE = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__CASCADE; + + /** + * The feature id for the '<em><b>Mapped By</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__MAPPED_BY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAPPED_BY; + + /** + * The feature id for the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__JOIN_TABLE = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE; + + /** + * The feature id for the '<em><b>Order Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__ORDER_COLUMN = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN; + + /** + * The feature id for the '<em><b>Order By</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__ORDER_BY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY; + + /** + * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__MAP_KEY_ATTRIBUTE_OVERRIDES = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES; + + /** + * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__MAP_KEY_TEMPORAL = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL; + + /** + * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__MAP_KEY_ENUMERATED = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ENUMERATED; + + /** + * The feature id for the '<em><b>Map Key Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__MAP_KEY_CLASS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS; + + /** + * The feature id for the '<em><b>Map Key Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__MAP_KEY_COLUMN = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_COLUMN; + + /** + * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__MAP_KEY_JOIN_COLUMNS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_JOIN_COLUMNS; + + /** + * The feature id for the '<em><b>Map Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__MAP_KEY = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__JOIN_COLUMNS = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Orphan Removal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY__ORPHAN_REMOVAL = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Xml One To Many</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY_FEATURE_COUNT = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE__ACCESS = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE__NAME = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__NAME; + + /** + * The feature id for the '<em><b>Target Entity</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE__TARGET_ENTITY = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__TARGET_ENTITY; + + /** + * The feature id for the '<em><b>Fetch</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE__FETCH = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__FETCH; + + /** + * The feature id for the '<em><b>Cascade</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE__CASCADE = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__CASCADE; + + /** + * The feature id for the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE__JOIN_TABLE = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_TABLE; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE__JOIN_COLUMNS = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__JOIN_COLUMNS; + + /** + * The feature id for the '<em><b>Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE__ID = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__ID; + + /** + * The feature id for the '<em><b>Maps Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE__MAPS_ID = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__MAPS_ID; + + /** + * The feature id for the '<em><b>Optional</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE__OPTIONAL = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL; + + /** + * The feature id for the '<em><b>Mapped By</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE__MAPPED_BY = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Primary Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Orphan Removal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE__ORPHAN_REMOVAL = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Xml One To One</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE_FEATURE_COUNT = ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint <em>Xml Query Hint</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryHint() + * @generated + */ + public static final int XML_QUERY_HINT = 81; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable <em>Xml Secondary Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSecondaryTable() + * @generated + */ + public static final int XML_SECONDARY_TABLE = 82; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator <em>Xml Sequence Generator</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSequenceGenerator() + * @generated + */ + public static final int XML_SEQUENCE_GENERATOR = 83; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping <em>Sql Result Set Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getSqlResultSetMapping() + * @generated + */ + public static final int SQL_RESULT_SET_MAPPING = 84; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTable <em>Xml Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTable() + * @generated + */ + public static final int XML_TABLE = 85; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator <em>Xml Table Generator</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator() + * @generated + */ + public static final int XML_TABLE_GENERATOR = 86; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTransient <em>Xml Transient</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTransient + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTransient() + * @generated + */ + public static final int XML_TRANSIENT = 87; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint <em>Xml Unique Constraint</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlUniqueConstraint() + * @generated + */ + public static final int XML_UNIQUE_CONSTRAINT = 89; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion <em>Xml Version</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlVersion + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlVersion() + * @generated + */ + public static final int XML_VERSION = 90; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable <em>Xml Orderable</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable() + * @generated + */ + public static final int XML_ORDERABLE = 64; + + /** + * The feature id for the '<em><b>Order Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDERABLE__ORDER_COLUMN = OrmV2_0Package.XML_ORDERABLE_20__ORDER_COLUMN; + + /** + * The feature id for the '<em><b>Order By</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDERABLE__ORDER_BY = OrmV2_0Package.XML_ORDERABLE_20_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml Orderable</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDERABLE_FEATURE_COUNT = OrmV2_0Package.XML_ORDERABLE_20_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Column Definition</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDER_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 XML_ORDER_COLUMN__NAME = ABSTRACT_XML_NAMED_COLUMN__NAME; + + /** + * The feature id for the '<em><b>Nullable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDER_COLUMN__NULLABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Insertable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDER_COLUMN__INSERTABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Updatable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDER_COLUMN__UPDATABLE = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Xml Order Column</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDER_COLUMN_FEATURE_COUNT = ABSTRACT_XML_NAMED_COLUMN_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS = XML_ACCESS_HOLDER__ACCESS; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION = XML_ACCESS_HOLDER_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Delimited Identifiers</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS = XML_ACCESS_HOLDER_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA = XML_ACCESS_HOLDER_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG = XML_ACCESS_HOLDER_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Cascade Persist</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST = XML_ACCESS_HOLDER_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Entity Listeners</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS = XML_ACCESS_HOLDER_FEATURE_COUNT + 5; + + /** + * The number of structural features of the '<em>Xml Persistence Unit Defaults</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_DEFAULTS_FEATURE_COUNT = XML_ACCESS_HOLDER_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_METADATA__DESCRIPTION = OrmV2_0Package.XML_PERSISTENCE_UNIT_METADATA_20__DESCRIPTION; + + /** + * The feature id for the '<em><b>Xml Mapping Metadata Complete</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE = OrmV2_0Package.XML_PERSISTENCE_UNIT_METADATA_20_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Persistence Unit Defaults</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS = OrmV2_0Package.XML_PERSISTENCE_UNIT_METADATA_20_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Xml Persistence Unit Metadata</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_METADATA_FEATURE_COUNT = OrmV2_0Package.XML_PERSISTENCE_UNIT_METADATA_20_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_REFERENCE_TABLE__JOIN_COLUMNS = 0; + + /** + * The number of structural features of the '<em>Xml Reference Table</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_REFERENCE_TABLE_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int POST_LOAD__DESCRIPTION = EVENT_METHOD__DESCRIPTION; + + /** + * The feature id for the '<em><b>Method Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int POST_LOAD__METHOD_NAME = EVENT_METHOD__METHOD_NAME; + + /** + * The number of structural features of the '<em>Post Load</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int POST_LOAD_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int POST_PERSIST__DESCRIPTION = EVENT_METHOD__DESCRIPTION; + + /** + * The feature id for the '<em><b>Method Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int POST_PERSIST__METHOD_NAME = EVENT_METHOD__METHOD_NAME; + + /** + * The number of structural features of the '<em>Post Persist</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int POST_PERSIST_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int POST_REMOVE__DESCRIPTION = EVENT_METHOD__DESCRIPTION; + + /** + * The feature id for the '<em><b>Method Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int POST_REMOVE__METHOD_NAME = EVENT_METHOD__METHOD_NAME; + + /** + * The number of structural features of the '<em>Post Remove</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int POST_REMOVE_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int POST_UPDATE__DESCRIPTION = EVENT_METHOD__DESCRIPTION; + + /** + * The feature id for the '<em><b>Method Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int POST_UPDATE__METHOD_NAME = EVENT_METHOD__METHOD_NAME; + + /** + * The number of structural features of the '<em>Post Update</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int POST_UPDATE_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int PRE_PERSIST__DESCRIPTION = EVENT_METHOD__DESCRIPTION; + + /** + * The feature id for the '<em><b>Method Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int PRE_PERSIST__METHOD_NAME = EVENT_METHOD__METHOD_NAME; + + /** + * The number of structural features of the '<em>Pre Persist</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int PRE_PERSIST_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int PRE_REMOVE__DESCRIPTION = EVENT_METHOD__DESCRIPTION; + + /** + * The feature id for the '<em><b>Method Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int PRE_REMOVE__METHOD_NAME = EVENT_METHOD__METHOD_NAME; + + /** + * The number of structural features of the '<em>Pre Remove</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int PRE_REMOVE_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int PRE_UPDATE__DESCRIPTION = EVENT_METHOD__DESCRIPTION; + + /** + * The feature id for the '<em><b>Method Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int PRE_UPDATE__METHOD_NAME = EVENT_METHOD__METHOD_NAME; + + /** + * The number of structural features of the '<em>Pre Update</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int PRE_UPDATE_FEATURE_COUNT = EVENT_METHOD_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Column Definition</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + 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. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + 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. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + 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. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + 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.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer <em>Xml Primary Key Join Column Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumnContainer() + * @generated + */ + public static final int XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER = 78; + + /** + * The feature id for the '<em><b>Primary Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER__PRIMARY_KEY_JOIN_COLUMNS = 0; + + /** + * The number of structural features of the '<em>Xml Primary Key Join Column Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Named Queries</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY_CONTAINER__NAMED_QUERIES = 0; + + /** + * The feature id for the '<em><b>Named Native Queries</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES = 1; + + /** + * The number of structural features of the '<em>Xml Query Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY_CONTAINER_FEATURE_COUNT = 2; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY_HINT__DESCRIPTION = OrmV2_0Package.XML_QUERY_HINT_20__DESCRIPTION; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY_HINT__NAME = OrmV2_0Package.XML_QUERY_HINT_20_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY_HINT__VALUE = OrmV2_0Package.XML_QUERY_HINT_20_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Xml Query Hint</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY_HINT_FEATURE_COUNT = OrmV2_0Package.XML_QUERY_HINT_20_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SECONDARY_TABLE__NAME = ABSTRACT_XML_TABLE__NAME; + + /** + * The feature id for the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SECONDARY_TABLE__CATALOG = ABSTRACT_XML_TABLE__CATALOG; + + /** + * The feature id for the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SECONDARY_TABLE__SCHEMA = ABSTRACT_XML_TABLE__SCHEMA; + + /** + * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SECONDARY_TABLE__UNIQUE_CONSTRAINTS = ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS; + + /** + * The feature id for the '<em><b>Primary Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS = ABSTRACT_XML_TABLE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml Secondary Table</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SECONDARY_TABLE_FEATURE_COUNT = ABSTRACT_XML_TABLE_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SEQUENCE_GENERATOR__DESCRIPTION = XML_GENERATOR__DESCRIPTION; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SEQUENCE_GENERATOR__NAME = XML_GENERATOR__NAME; + + /** + * The feature id for the '<em><b>Initial Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SEQUENCE_GENERATOR__INITIAL_VALUE = XML_GENERATOR__INITIAL_VALUE; + + /** + * The feature id for the '<em><b>Allocation Size</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SEQUENCE_GENERATOR__ALLOCATION_SIZE = XML_GENERATOR__ALLOCATION_SIZE; + + /** + * The feature id for the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SEQUENCE_GENERATOR__CATALOG = XML_GENERATOR_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SEQUENCE_GENERATOR__SCHEMA = XML_GENERATOR_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Sequence Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SEQUENCE_GENERATOR__SEQUENCE_NAME = XML_GENERATOR_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Xml Sequence Generator</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SEQUENCE_GENERATOR_FEATURE_COUNT = XML_GENERATOR_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int SQL_RESULT_SET_MAPPING__DESCRIPTION = OrmV2_0Package.XML_SQL_RESULT_SET_MAPPING_20__DESCRIPTION; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int SQL_RESULT_SET_MAPPING__NAME = OrmV2_0Package.XML_SQL_RESULT_SET_MAPPING_20_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Entity Results</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int SQL_RESULT_SET_MAPPING__ENTITY_RESULTS = OrmV2_0Package.XML_SQL_RESULT_SET_MAPPING_20_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Column Results</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int SQL_RESULT_SET_MAPPING__COLUMN_RESULTS = OrmV2_0Package.XML_SQL_RESULT_SET_MAPPING_20_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Sql Result Set Mapping</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int SQL_RESULT_SET_MAPPING_FEATURE_COUNT = OrmV2_0Package.XML_SQL_RESULT_SET_MAPPING_20_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE__NAME = ABSTRACT_XML_TABLE__NAME; + + /** + * The feature id for the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE__CATALOG = ABSTRACT_XML_TABLE__CATALOG; + + /** + * The feature id for the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE__SCHEMA = ABSTRACT_XML_TABLE__SCHEMA; + + /** + * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE__UNIQUE_CONSTRAINTS = ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS; + + /** + * The number of structural features of the '<em>Xml Table</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE_FEATURE_COUNT = ABSTRACT_XML_TABLE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE_GENERATOR__DESCRIPTION = XML_GENERATOR__DESCRIPTION; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE_GENERATOR__NAME = XML_GENERATOR__NAME; + + /** + * The feature id for the '<em><b>Initial Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE_GENERATOR__INITIAL_VALUE = XML_GENERATOR__INITIAL_VALUE; + + /** + * The feature id for the '<em><b>Allocation Size</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE_GENERATOR__ALLOCATION_SIZE = XML_GENERATOR__ALLOCATION_SIZE; + + /** + * The feature id for the '<em><b>Table</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE_GENERATOR__TABLE = XML_GENERATOR_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE_GENERATOR__CATALOG = XML_GENERATOR_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE_GENERATOR__SCHEMA = XML_GENERATOR_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Pk Column Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE_GENERATOR__PK_COLUMN_NAME = XML_GENERATOR_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Value Column Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE_GENERATOR__VALUE_COLUMN_NAME = XML_GENERATOR_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Pk Column Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE_GENERATOR__PK_COLUMN_VALUE = XML_GENERATOR_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS = XML_GENERATOR_FEATURE_COUNT + 6; + + /** + * The number of structural features of the '<em>Xml Table Generator</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TABLE_GENERATOR_FEATURE_COUNT = XML_GENERATOR_FEATURE_COUNT + 7; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TRANSIENT__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TRANSIENT__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME; + + /** + * The number of structural features of the '<em>Xml Transient</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TRANSIENT_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_UNIQUE_CONSTRAINT__NAME = OrmV2_0Package.XML_UNIQUE_CONSTRAINT_20__NAME; + + /** + * The feature id for the '<em><b>Column Names</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_UNIQUE_CONSTRAINT__COLUMN_NAMES = OrmV2_0Package.XML_UNIQUE_CONSTRAINT_20_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml Unique Constraint</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_UNIQUE_CONSTRAINT_FEATURE_COUNT = OrmV2_0Package.XML_UNIQUE_CONSTRAINT_20_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_VERSION__ACCESS = ABSTRACT_XML_ATTRIBUTE_MAPPING__ACCESS; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_VERSION__NAME = ABSTRACT_XML_ATTRIBUTE_MAPPING__NAME; + + /** + * The feature id for the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_VERSION__COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Lob</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_VERSION__LOB = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_VERSION__TEMPORAL = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_VERSION__ENUMERATED = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3; + + /** + * The number of structural features of the '<em>Xml Version</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_VERSION_FEATURE_COUNT = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType <em>Discriminator Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getDiscriminatorType() + * @generated + */ + public static final int DISCRIMINATOR_TYPE = 91; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EnumType <em>Enum Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEnumType() + * @generated + */ + public static final int ENUM_TYPE = 92; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.FetchType <em>Fetch Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getFetchType() + * @generated + */ + public static final int FETCH_TYPE = 93; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.GenerationType <em>Generation Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.GenerationType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getGenerationType() + * @generated + */ + public static final int GENERATION_TYPE = 94; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.InheritanceType <em>Inheritance Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.InheritanceType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getInheritanceType() + * @generated + */ + public static final int INHERITANCE_TYPE = 95; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType <em>Temporal Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getTemporalType() + * @generated + */ + public static final int TEMPORAL_TYPE = 96; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass abstractXmlAttributeMappingEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlBaseColumnEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass abstractXmlBaseColumnEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass abstractXmlBaseDiscriminatorColumnEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass abstractXmlEmbeddedEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass abstractXmlMultiRelationshipMappingEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlNamedColumnEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlBaseDiscriminatorColumnEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlBaseJoinColumnEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass abstractXmlNamedColumnEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass abstractXmlRelationshipMappingEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass abstractXmlSingleRelationshipMappingEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass abstractXmlTableEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass abstractXmlTypeMappingEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlAccessHolderEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlAttributeMappingEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlAssociationOverrideEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlAssociationOverrideContainerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlAttributeOverrideEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlAttributeOverrideContainerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass attributesEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlBasicEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass cascadeTypeEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlClassReferenceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlCollectionTableEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlColumnEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass columnMappingEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass columnResultEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlConvertibleMappingEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlDiscriminatorColumnEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlElementCollectionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlEmbeddableEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlEmbeddedEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlEmbeddedIdEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlEntityEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass entityListenerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass entityListenersEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlEntityMappingsEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass entityResultEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass eventMethodEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlEventMethodContainerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass fieldResultEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlGeneratedValueEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlGeneratorEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlGeneratorContainerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlIdEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlIdClassContainerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass inheritanceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlJoinColumnEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlJoinColumnContainerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlJoinTableEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlJoinTableContainerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass lobEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlManyToManyEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlManyToOneEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass mapKeyEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlMappedByMappingEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlMappedSuperclassEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlNamedNativeQueryEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlNamedQueryEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlNullAttributeMappingEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlOneToManyEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlOneToOneEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlOrderColumnEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlOverrideEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlPersistenceUnitDefaultsEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlPersistenceUnitMetadataEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass abstractXmlReferenceTableEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlReferenceTableEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass postLoadEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass postPersistEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass postRemoveEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass postUpdateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass prePersistEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass preRemoveEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass preUpdateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlPrimaryKeyJoinColumnEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlPrimaryKeyJoinColumnContainerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlQueryEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlQueryContainerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlQueryHintEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlSecondaryTableEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlSequenceGeneratorEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass sqlResultSetMappingEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlTableEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlTableGeneratorEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlTransientEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlTypeMappingEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlUniqueConstraintEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlVersionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlOrderableEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum discriminatorTypeEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum enumTypeEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum fetchTypeEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum generationTypeEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum inheritanceTypeEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum temporalTypeEEnum = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#eNS_URI + * @see #init() + * @generated + */ + private OrmPackage() + { + super(eNS_URI, OrmFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link OrmPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static OrmPackage init() + { + if (isInited) return (OrmPackage)EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI); + + // Obtain or create and register package + OrmPackage theOrmPackage = (OrmPackage)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof OrmPackage ? EPackage.Registry.INSTANCE.get(eNS_URI) : new OrmPackage()); + + isInited = true; + + // Initialize simple dependencies + CommonPackage.eINSTANCE.eClass(); + EcorePackage.eINSTANCE.eClass(); + XMLTypePackage.eINSTANCE.eClass(); + + // Obtain or create and register interdependencies + OrmV2_0Package theOrmV2_0Package = (OrmV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI) instanceof OrmV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI) : OrmV2_0Package.eINSTANCE); + PersistencePackage thePersistencePackage = (PersistencePackage)(EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI) instanceof PersistencePackage ? EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI) : PersistencePackage.eINSTANCE); + PersistenceV2_0Package thePersistenceV2_0Package = (PersistenceV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI) instanceof PersistenceV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI) : PersistenceV2_0Package.eINSTANCE); + + // Create package meta-data objects + theOrmPackage.createPackageContents(); + theOrmV2_0Package.createPackageContents(); + thePersistencePackage.createPackageContents(); + thePersistenceV2_0Package.createPackageContents(); + + // Initialize created meta-data + theOrmPackage.initializePackageContents(); + theOrmV2_0Package.initializePackageContents(); + thePersistencePackage.initializePackageContents(); + thePersistenceV2_0Package.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theOrmPackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(OrmPackage.eNS_URI, theOrmPackage); + return theOrmPackage; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping <em>Abstract Xml Attribute Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Abstract Xml Attribute Mapping</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping + * @generated + */ + public EClass getAbstractXmlAttributeMapping() + { + return abstractXmlAttributeMappingEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn <em>Xml Base Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Base Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn + * @generated + */ + public EClass getXmlBaseColumn() + { + return xmlBaseColumnEClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getInsertable <em>Insertable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Insertable</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getInsertable() + * @see #getXmlBaseColumn() + * @generated + */ + public EAttribute getXmlBaseColumn_Insertable() + { + return (EAttribute)xmlBaseColumnEClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getNullable <em>Nullable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Nullable</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getNullable() + * @see #getXmlBaseColumn() + * @generated + */ + public EAttribute getXmlBaseColumn_Nullable() + { + return (EAttribute)xmlBaseColumnEClass.getEStructuralFeatures().get(1); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getTable <em>Table</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Table</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getTable() + * @see #getXmlBaseColumn() + * @generated + */ + public EAttribute getXmlBaseColumn_Table() + { + return (EAttribute)xmlBaseColumnEClass.getEStructuralFeatures().get(2); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUnique <em>Unique</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Unique</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUnique() + * @see #getXmlBaseColumn() + * @generated + */ + public EAttribute getXmlBaseColumn_Unique() + { + return (EAttribute)xmlBaseColumnEClass.getEStructuralFeatures().get(3); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUpdatable <em>Updatable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Updatable</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUpdatable() + * @see #getXmlBaseColumn() + * @generated + */ + public EAttribute getXmlBaseColumn_Updatable() + { + return (EAttribute)xmlBaseColumnEClass.getEStructuralFeatures().get(4); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn <em>Abstract Xml Base Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Abstract Xml Base Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn + * @generated + */ + public EClass getAbstractXmlBaseColumn() + { + return abstractXmlBaseColumnEClass; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn <em>Abstract Xml Base Discriminator Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Abstract Xml Base Discriminator Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn + * @generated + */ + public EClass getAbstractXmlBaseDiscriminatorColumn() + { + return abstractXmlBaseDiscriminatorColumnEClass; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlEmbedded <em>Abstract Xml Embedded</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Abstract Xml Embedded</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlEmbedded + * @generated + */ + public EClass getAbstractXmlEmbedded() + { + return abstractXmlEmbeddedEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping <em>Abstract Xml Multi Relationship Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Abstract Xml Multi Relationship Mapping</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping + * @generated + */ + public EClass getAbstractXmlMultiRelationshipMapping() + { + return abstractXmlMultiRelationshipMappingEClass; + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKey <em>Map Key</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Map Key</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getMapKey() + * @see #getAbstractXmlMultiRelationshipMapping() + * @generated + */ + public EReference getAbstractXmlMultiRelationshipMapping_MapKey() + { + return (EReference)abstractXmlMultiRelationshipMappingEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn <em>Xml Named Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Named Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn + * @generated + */ + public EClass getXmlNamedColumn() + { + return xmlNamedColumnEClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#getColumnDefinition <em>Column Definition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Column Definition</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#getColumnDefinition() + * @see #getXmlNamedColumn() + * @generated + */ + public EAttribute getXmlNamedColumn_ColumnDefinition() + { + return (EAttribute)xmlNamedColumnEClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#getName() + * @see #getXmlNamedColumn() + * @generated + */ + public EAttribute getXmlNamedColumn_Name() + { + return (EAttribute)xmlNamedColumnEClass.getEStructuralFeatures().get(1); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn <em>Xml Base Discriminator Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Base Discriminator Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn + * @generated + */ + public EClass getXmlBaseDiscriminatorColumn() + { + return xmlBaseDiscriminatorColumnEClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getDiscriminatorType <em>Discriminator Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Discriminator Type</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getDiscriminatorType() + * @see #getXmlBaseDiscriminatorColumn() + * @generated + */ + public EAttribute getXmlBaseDiscriminatorColumn_DiscriminatorType() + { + return (EAttribute)xmlBaseDiscriminatorColumnEClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getLength <em>Length</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Length</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getLength() + * @see #getXmlBaseDiscriminatorColumn() + * @generated + */ + public EAttribute getXmlBaseDiscriminatorColumn_Length() + { + return (EAttribute)xmlBaseDiscriminatorColumnEClass.getEStructuralFeatures().get(1); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn <em>Xml Base Join Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Base Join Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn + * @generated + */ + public EClass getXmlBaseJoinColumn() + { + return xmlBaseJoinColumnEClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Referenced Column Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn#getReferencedColumnName() + * @see #getXmlBaseJoinColumn() + * @generated + */ + public EAttribute getXmlBaseJoinColumn_ReferencedColumnName() + { + return (EAttribute)xmlBaseJoinColumnEClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.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.jpa.core.resource.orm.AbstractXmlNamedColumn + * @generated + */ + public EClass getAbstractXmlNamedColumn() + { + return abstractXmlNamedColumnEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping <em>Abstract Xml Relationship Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Abstract Xml Relationship Mapping</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping + * @generated + */ + public EClass getAbstractXmlRelationshipMapping() + { + return abstractXmlRelationshipMappingEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getTargetEntity <em>Target Entity</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Target Entity</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getTargetEntity() + * @see #getAbstractXmlRelationshipMapping() + * @generated + */ + public EAttribute getAbstractXmlRelationshipMapping_TargetEntity() + { + return (EAttribute)abstractXmlRelationshipMappingEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getFetch <em>Fetch</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Fetch</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getFetch() + * @see #getAbstractXmlRelationshipMapping() + * @generated + */ + public EAttribute getAbstractXmlRelationshipMapping_Fetch() + { + return (EAttribute)abstractXmlRelationshipMappingEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getCascade <em>Cascade</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Cascade</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping#getCascade() + * @see #getAbstractXmlRelationshipMapping() + * @generated + */ + public EReference getAbstractXmlRelationshipMapping_Cascade() + { + return (EReference)abstractXmlRelationshipMappingEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping <em>Abstract Xml Single Relationship Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Abstract Xml Single Relationship Mapping</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping + * @generated + */ + public EClass getAbstractXmlSingleRelationshipMapping() + { + return abstractXmlSingleRelationshipMappingEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#getOptional <em>Optional</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Optional</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping#getOptional() + * @see #getAbstractXmlSingleRelationshipMapping() + * @generated + */ + public EAttribute getAbstractXmlSingleRelationshipMapping_Optional() + { + return (EAttribute)abstractXmlSingleRelationshipMappingEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable <em>Abstract Xml Table</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Abstract Xml Table</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable + * @generated + */ + public EClass getAbstractXmlTable() + { + return abstractXmlTableEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getName() + * @see #getAbstractXmlTable() + * @generated + */ + public EAttribute getAbstractXmlTable_Name() + { + return (EAttribute)abstractXmlTableEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getCatalog <em>Catalog</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Catalog</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getCatalog() + * @see #getAbstractXmlTable() + * @generated + */ + public EAttribute getAbstractXmlTable_Catalog() + { + return (EAttribute)abstractXmlTableEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getSchema <em>Schema</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Schema</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getSchema() + * @see #getAbstractXmlTable() + * @generated + */ + public EAttribute getAbstractXmlTable_Schema() + { + return (EAttribute)abstractXmlTableEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getUniqueConstraints <em>Unique Constraints</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Unique Constraints</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable#getUniqueConstraints() + * @see #getAbstractXmlTable() + * @generated + */ + public EReference getAbstractXmlTable_UniqueConstraints() + { + return (EReference)abstractXmlTableEClass.getEStructuralFeatures().get(3); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping <em>Abstract Xml Type Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Abstract Xml Type Mapping</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping + * @generated + */ + public EClass getAbstractXmlTypeMapping() + { + return abstractXmlTypeMappingEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder <em>Xml Access Holder</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Access Holder</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder + * @generated + */ + public EClass getXmlAccessHolder() + { + return xmlAccessHolderEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder#getAccess <em>Access</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Access</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder#getAccess() + * @see #getXmlAccessHolder() + * @generated + */ + public EAttribute getXmlAccessHolder_Access() + { + return (EAttribute)xmlAccessHolderEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping <em>Xml Attribute Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Attribute Mapping</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping + * @generated + */ + public EClass getXmlAttributeMapping() + { + return xmlAttributeMappingEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping#getName() + * @see #getXmlAttributeMapping() + * @generated + */ + public EAttribute getXmlAttributeMapping_Name() + { + return (EAttribute)xmlAttributeMappingEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride <em>Xml Association Override</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Association Override</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride + * @generated + */ + public EClass getXmlAssociationOverride() + { + return xmlAssociationOverrideEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer <em>Xml Association Override Container</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Association Override Container</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer + * @generated + */ + public EClass getXmlAssociationOverrideContainer() + { + return xmlAssociationOverrideContainerEClass; + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer#getAssociationOverrides <em>Association Overrides</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Association Overrides</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer#getAssociationOverrides() + * @see #getXmlAssociationOverrideContainer() + * @generated + */ + public EReference getXmlAssociationOverrideContainer_AssociationOverrides() + { + return (EReference)xmlAssociationOverrideContainerEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride <em>Xml Attribute Override</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Attribute Override</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride + * @generated + */ + public EClass getXmlAttributeOverride() + { + return xmlAttributeOverrideEClass; + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride#getColumn <em>Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride#getColumn() + * @see #getXmlAttributeOverride() + * @generated + */ + public EReference getXmlAttributeOverride_Column() + { + return (EReference)xmlAttributeOverrideEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer <em>Xml Attribute Override Container</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Attribute Override Container</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer + * @generated + */ + public EClass getXmlAttributeOverrideContainer() + { + return xmlAttributeOverrideContainerEClass; + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer#getAttributeOverrides <em>Attribute Overrides</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Attribute Overrides</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer#getAttributeOverrides() + * @see #getXmlAttributeOverrideContainer() + * @generated + */ + public EReference getXmlAttributeOverrideContainer_AttributeOverrides() + { + return (EReference)xmlAttributeOverrideContainerEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes <em>Attributes</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Attributes</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes + * @generated + */ + public EClass getAttributes() + { + return attributesEClass; + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getIds <em>Ids</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Ids</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getIds() + * @see #getAttributes() + * @generated + */ + public EReference getAttributes_Ids() + { + return (EReference)attributesEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getEmbeddedIds <em>Embedded Ids</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Embedded Ids</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getEmbeddedIds() + * @see #getAttributes() + * @generated + */ + public EReference getAttributes_EmbeddedIds() + { + return (EReference)attributesEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getBasics <em>Basics</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Basics</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getBasics() + * @see #getAttributes() + * @generated + */ + public EReference getAttributes_Basics() + { + return (EReference)attributesEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getVersions <em>Versions</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Versions</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getVersions() + * @see #getAttributes() + * @generated + */ + public EReference getAttributes_Versions() + { + return (EReference)attributesEClass.getEStructuralFeatures().get(3); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getManyToOnes <em>Many To Ones</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Many To Ones</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getManyToOnes() + * @see #getAttributes() + * @generated + */ + public EReference getAttributes_ManyToOnes() + { + return (EReference)attributesEClass.getEStructuralFeatures().get(4); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getOneToManys <em>One To Manys</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>One To Manys</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getOneToManys() + * @see #getAttributes() + * @generated + */ + public EReference getAttributes_OneToManys() + { + return (EReference)attributesEClass.getEStructuralFeatures().get(5); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getOneToOnes <em>One To Ones</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>One To Ones</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getOneToOnes() + * @see #getAttributes() + * @generated + */ + public EReference getAttributes_OneToOnes() + { + return (EReference)attributesEClass.getEStructuralFeatures().get(6); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getManyToManys <em>Many To Manys</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Many To Manys</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getManyToManys() + * @see #getAttributes() + * @generated + */ + public EReference getAttributes_ManyToManys() + { + return (EReference)attributesEClass.getEStructuralFeatures().get(7); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getEmbeddeds <em>Embeddeds</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Embeddeds</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getEmbeddeds() + * @see #getAttributes() + * @generated + */ + public EReference getAttributes_Embeddeds() + { + return (EReference)attributesEClass.getEStructuralFeatures().get(8); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes#getTransients <em>Transients</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Transients</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes#getTransients() + * @see #getAttributes() + * @generated + */ + public EReference getAttributes_Transients() + { + return (EReference)attributesEClass.getEStructuralFeatures().get(9); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic <em>Xml Basic</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Basic</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBasic + * @generated + */ + public EClass getXmlBasic() + { + return xmlBasicEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getFetch <em>Fetch</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Fetch</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getFetch() + * @see #getXmlBasic() + * @generated + */ + public EAttribute getXmlBasic_Fetch() + { + return (EAttribute)xmlBasicEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getOptional <em>Optional</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Optional</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getOptional() + * @see #getXmlBasic() + * @generated + */ + public EAttribute getXmlBasic_Optional() + { + return (EAttribute)xmlBasicEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType <em>Cascade Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Cascade Type</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType + * @generated + */ + public EClass getCascadeType() + { + return cascadeTypeEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeAll <em>Cascade All</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Cascade All</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeAll() + * @see #getCascadeType() + * @generated + */ + public EAttribute getCascadeType_CascadeAll() + { + return (EAttribute)cascadeTypeEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadePersist <em>Cascade Persist</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Cascade Persist</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadePersist() + * @see #getCascadeType() + * @generated + */ + public EAttribute getCascadeType_CascadePersist() + { + return (EAttribute)cascadeTypeEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeMerge <em>Cascade Merge</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Cascade Merge</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeMerge() + * @see #getCascadeType() + * @generated + */ + public EAttribute getCascadeType_CascadeMerge() + { + return (EAttribute)cascadeTypeEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRemove <em>Cascade Remove</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Cascade Remove</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRemove() + * @see #getCascadeType() + * @generated + */ + public EAttribute getCascadeType_CascadeRemove() + { + return (EAttribute)cascadeTypeEClass.getEStructuralFeatures().get(3); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRefresh <em>Cascade Refresh</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Cascade Refresh</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType#isCascadeRefresh() + * @see #getCascadeType() + * @generated + */ + public EAttribute getCascadeType_CascadeRefresh() + { + return (EAttribute)cascadeTypeEClass.getEStructuralFeatures().get(4); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference <em>Xml Class Reference</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Class Reference</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference + * @generated + */ + public EClass getXmlClassReference() + { + return xmlClassReferenceEClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference#getClassName <em>Class Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Class Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference#getClassName() + * @see #getXmlClassReference() + * @generated + */ + public EAttribute getXmlClassReference_ClassName() + { + return (EAttribute)xmlClassReferenceEClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable <em>Xml Collection Table</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Collection Table</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable + * @generated + */ + public EClass getXmlCollectionTable() + { + return xmlCollectionTableEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn <em>Xml Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlColumn + * @generated + */ + public EClass getXmlColumn() + { + return xmlColumnEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getLength <em>Length</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Length</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getLength() + * @see #getXmlColumn() + * @generated + */ + public EAttribute getXmlColumn_Length() + { + return (EAttribute)xmlColumnEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getPrecision <em>Precision</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Precision</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getPrecision() + * @see #getXmlColumn() + * @generated + */ + public EAttribute getXmlColumn_Precision() + { + return (EAttribute)xmlColumnEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getScale <em>Scale</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Scale</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getScale() + * @see #getXmlColumn() + * @generated + */ + public EAttribute getXmlColumn_Scale() + { + return (EAttribute)xmlColumnEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping <em>Column Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Column Mapping</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping + * @generated + */ + public EClass getColumnMapping() + { + return columnMappingEClass; + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping#getColumn <em>Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping#getColumn() + * @see #getColumnMapping() + * @generated + */ + public EReference getColumnMapping_Column() + { + return (EReference)columnMappingEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnResult <em>Column Result</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Column Result</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnResult + * @generated + */ + public EClass getColumnResult() + { + return columnResultEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnResult#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnResult#getName() + * @see #getColumnResult() + * @generated + */ + public EAttribute getColumnResult_Name() + { + return (EAttribute)columnResultEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping <em>Xml Convertible Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Convertible Mapping</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping + * @generated + */ + public EClass getXmlConvertibleMapping() + { + return xmlConvertibleMappingEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#isLob <em>Lob</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Lob</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#isLob() + * @see #getXmlConvertibleMapping() + * @generated + */ + public EAttribute getXmlConvertibleMapping_Lob() + { + return (EAttribute)xmlConvertibleMappingEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getTemporal <em>Temporal</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Temporal</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getTemporal() + * @see #getXmlConvertibleMapping() + * @generated + */ + public EAttribute getXmlConvertibleMapping_Temporal() + { + return (EAttribute)xmlConvertibleMappingEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getEnumerated <em>Enumerated</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Enumerated</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getEnumerated() + * @see #getXmlConvertibleMapping() + * @generated + */ + public EAttribute getXmlConvertibleMapping_Enumerated() + { + return (EAttribute)xmlConvertibleMappingEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlDiscriminatorColumn <em>Xml Discriminator Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Discriminator Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlDiscriminatorColumn + * @generated + */ + public EClass getXmlDiscriminatorColumn() + { + return xmlDiscriminatorColumnEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection <em>Xml Element Collection</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Element Collection</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection + * @generated + */ + public EClass getXmlElementCollection() + { + return xmlElementCollectionEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable <em>Xml Embeddable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Embeddable</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable + * @generated + */ + public EClass getXmlEmbeddable() + { + return xmlEmbeddableEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded <em>Xml Embedded</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Embedded</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded + * @generated + */ + public EClass getXmlEmbedded() + { + return xmlEmbeddedEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId <em>Xml Embedded Id</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Embedded Id</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId + * @generated + */ + public EClass getXmlEmbeddedId() + { + return xmlEmbeddedIdEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity <em>Xml Entity</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Entity</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity + * @generated + */ + public EClass getXmlEntity() + { + return xmlEntityEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getName() + * @see #getXmlEntity() + * @generated + */ + public EAttribute getXmlEntity_Name() + { + return (EAttribute)xmlEntityEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getTable <em>Table</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Table</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getTable() + * @see #getXmlEntity() + * @generated + */ + public EReference getXmlEntity_Table() + { + return (EReference)xmlEntityEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getSecondaryTables <em>Secondary Tables</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Secondary Tables</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getSecondaryTables() + * @see #getXmlEntity() + * @generated + */ + public EReference getXmlEntity_SecondaryTables() + { + return (EReference)xmlEntityEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Primary Key Join Columns</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPrimaryKeyJoinColumns() + * @see #getXmlEntity() + * @generated + */ + public EReference getXmlEntity_PrimaryKeyJoinColumns() + { + return (EReference)xmlEntityEClass.getEStructuralFeatures().get(3); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getInheritance <em>Inheritance</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Inheritance</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getInheritance() + * @see #getXmlEntity() + * @generated + */ + public EReference getXmlEntity_Inheritance() + { + return (EReference)xmlEntityEClass.getEStructuralFeatures().get(4); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorValue <em>Discriminator Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Discriminator Value</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorValue() + * @see #getXmlEntity() + * @generated + */ + public EAttribute getXmlEntity_DiscriminatorValue() + { + return (EAttribute)xmlEntityEClass.getEStructuralFeatures().get(5); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorColumn <em>Discriminator Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Discriminator Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorColumn() + * @see #getXmlEntity() + * @generated + */ + public EReference getXmlEntity_DiscriminatorColumn() + { + return (EReference)xmlEntityEClass.getEStructuralFeatures().get(6); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getSqlResultSetMappings <em>Sql Result Set Mappings</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Sql Result Set Mappings</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getSqlResultSetMappings() + * @see #getXmlEntity() + * @generated + */ + public EReference getXmlEntity_SqlResultSetMappings() + { + return (EReference)xmlEntityEClass.getEStructuralFeatures().get(7); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Exclude Default Listeners</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeDefaultListeners() + * @see #getXmlEntity() + * @generated + */ + public EAttribute getXmlEntity_ExcludeDefaultListeners() + { + return (EAttribute)xmlEntityEClass.getEStructuralFeatures().get(8); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Exclude Superclass Listeners</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeSuperclassListeners() + * @see #getXmlEntity() + * @generated + */ + public EAttribute getXmlEntity_ExcludeSuperclassListeners() + { + return (EAttribute)xmlEntityEClass.getEStructuralFeatures().get(9); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getEntityListeners <em>Entity Listeners</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Entity Listeners</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getEntityListeners() + * @see #getXmlEntity() + * @generated + */ + public EReference getXmlEntity_EntityListeners() + { + return (EReference)xmlEntityEClass.getEStructuralFeatures().get(10); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener <em>Entity Listener</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Entity Listener</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListener + * @generated + */ + public EClass getEntityListener() + { + return entityListenerEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getClassName <em>Class Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Class Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListener#getClassName() + * @see #getEntityListener() + * @generated + */ + public EAttribute getEntityListener_ClassName() + { + return (EAttribute)entityListenerEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListeners <em>Entity Listeners</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Entity Listeners</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListeners + * @generated + */ + public EClass getEntityListeners() + { + return entityListenersEClass; + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListeners#getEntityListeners <em>Entity Listeners</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Entity Listeners</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListeners#getEntityListeners() + * @see #getEntityListeners() + * @generated + */ + public EReference getEntityListeners_EntityListeners() + { + return (EReference)entityListenersEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings <em>Xml Entity Mappings</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Entity Mappings</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings + * @generated + */ + public EClass getXmlEntityMappings() + { + return xmlEntityMappingsEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getDescription() + * @see #getXmlEntityMappings() + * @generated + */ + public EAttribute getXmlEntityMappings_Description() + { + return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPersistenceUnitMetadata <em>Persistence Unit Metadata</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Persistence Unit Metadata</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPersistenceUnitMetadata() + * @see #getXmlEntityMappings() + * @generated + */ + public EReference getXmlEntityMappings_PersistenceUnitMetadata() + { + return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPackage <em>Package</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Package</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPackage() + * @see #getXmlEntityMappings() + * @generated + */ + public EAttribute getXmlEntityMappings_Package() + { + return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSchema <em>Schema</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Schema</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSchema() + * @see #getXmlEntityMappings() + * @generated + */ + public EAttribute getXmlEntityMappings_Schema() + { + return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(3); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getCatalog <em>Catalog</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Catalog</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getCatalog() + * @see #getXmlEntityMappings() + * @generated + */ + public EAttribute getXmlEntityMappings_Catalog() + { + return (EAttribute)xmlEntityMappingsEClass.getEStructuralFeatures().get(4); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSequenceGenerators <em>Sequence Generators</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Sequence Generators</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSequenceGenerators() + * @see #getXmlEntityMappings() + * @generated + */ + public EReference getXmlEntityMappings_SequenceGenerators() + { + return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(5); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getTableGenerators <em>Table Generators</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Table Generators</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getTableGenerators() + * @see #getXmlEntityMappings() + * @generated + */ + public EReference getXmlEntityMappings_TableGenerators() + { + return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(6); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSqlResultSetMappings <em>Sql Result Set Mappings</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Sql Result Set Mappings</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSqlResultSetMappings() + * @see #getXmlEntityMappings() + * @generated + */ + public EReference getXmlEntityMappings_SqlResultSetMappings() + { + return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(7); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getMappedSuperclasses <em>Mapped Superclasses</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Mapped Superclasses</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getMappedSuperclasses() + * @see #getXmlEntityMappings() + * @generated + */ + public EReference getXmlEntityMappings_MappedSuperclasses() + { + return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(8); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getEntities <em>Entities</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Entities</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getEntities() + * @see #getXmlEntityMappings() + * @generated + */ + public EReference getXmlEntityMappings_Entities() + { + return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(9); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getEmbeddables <em>Embeddables</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Embeddables</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getEmbeddables() + * @see #getXmlEntityMappings() + * @generated + */ + public EReference getXmlEntityMappings_Embeddables() + { + return (EReference)xmlEntityMappingsEClass.getEStructuralFeatures().get(10); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult <em>Entity Result</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Entity Result</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityResult + * @generated + */ + public EClass getEntityResult() + { + return entityResultEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getDiscriminatorColumn <em>Discriminator Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Discriminator Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getDiscriminatorColumn() + * @see #getEntityResult() + * @generated + */ + public EAttribute getEntityResult_DiscriminatorColumn() + { + return (EAttribute)entityResultEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getEntityClass <em>Entity Class</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Entity Class</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getEntityClass() + * @see #getEntityResult() + * @generated + */ + public EAttribute getEntityResult_EntityClass() + { + return (EAttribute)entityResultEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getFieldResults <em>Field Results</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Field Results</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityResult#getFieldResults() + * @see #getEntityResult() + * @generated + */ + public EReference getEntityResult_FieldResults() + { + return (EReference)entityResultEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.EventMethod <em>Event Method</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Event Method</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.EventMethod + * @generated + */ + public EClass getEventMethod() + { + return eventMethodEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.EventMethod#getMethodName <em>Method Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Method Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.EventMethod#getMethodName() + * @see #getEventMethod() + * @generated + */ + public EAttribute getEventMethod_MethodName() + { + return (EAttribute)eventMethodEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer <em>Xml Event Method Container</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Event Method Container</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer + * @generated + */ + public EClass getXmlEventMethodContainer() + { + return xmlEventMethodContainerEClass; + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPrePersist <em>Pre Persist</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Pre Persist</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPrePersist() + * @see #getXmlEventMethodContainer() + * @generated + */ + public EReference getXmlEventMethodContainer_PrePersist() + { + return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostPersist <em>Post Persist</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Post Persist</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostPersist() + * @see #getXmlEventMethodContainer() + * @generated + */ + public EReference getXmlEventMethodContainer_PostPersist() + { + return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreRemove <em>Pre Remove</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Pre Remove</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreRemove() + * @see #getXmlEventMethodContainer() + * @generated + */ + public EReference getXmlEventMethodContainer_PreRemove() + { + return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostRemove <em>Post Remove</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Post Remove</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostRemove() + * @see #getXmlEventMethodContainer() + * @generated + */ + public EReference getXmlEventMethodContainer_PostRemove() + { + return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(3); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreUpdate <em>Pre Update</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Pre Update</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreUpdate() + * @see #getXmlEventMethodContainer() + * @generated + */ + public EReference getXmlEventMethodContainer_PreUpdate() + { + return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(4); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostUpdate <em>Post Update</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Post Update</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostUpdate() + * @see #getXmlEventMethodContainer() + * @generated + */ + public EReference getXmlEventMethodContainer_PostUpdate() + { + return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(5); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostLoad <em>Post Load</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Post Load</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostLoad() + * @see #getXmlEventMethodContainer() + * @generated + */ + public EReference getXmlEventMethodContainer_PostLoad() + { + return (EReference)xmlEventMethodContainerEClass.getEStructuralFeatures().get(6); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult <em>Field Result</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Field Result</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.FieldResult + * @generated + */ + public EClass getFieldResult() + { + return fieldResultEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getName() + * @see #getFieldResult() + * @generated + */ + public EAttribute getFieldResult_Name() + { + return (EAttribute)fieldResultEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getColumn <em>Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.FieldResult#getColumn() + * @see #getFieldResult() + * @generated + */ + public EAttribute getFieldResult_Column() + { + return (EAttribute)fieldResultEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue <em>Xml Generated Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Generated Value</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue + * @generated + */ + public EClass getXmlGeneratedValue() + { + return xmlGeneratedValueEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#getGenerator <em>Generator</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Generator</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#getGenerator() + * @see #getXmlGeneratedValue() + * @generated + */ + public EAttribute getXmlGeneratedValue_Generator() + { + return (EAttribute)xmlGeneratedValueEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#getStrategy <em>Strategy</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Strategy</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#getStrategy() + * @see #getXmlGeneratedValue() + * @generated + */ + public EAttribute getXmlGeneratedValue_Strategy() + { + return (EAttribute)xmlGeneratedValueEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator <em>Xml Generator</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Generator</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator + * @generated + */ + public EClass getXmlGenerator() + { + return xmlGeneratorEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getName() + * @see #getXmlGenerator() + * @generated + */ + public EAttribute getXmlGenerator_Name() + { + return (EAttribute)xmlGeneratorEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getInitialValue <em>Initial Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Initial Value</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getInitialValue() + * @see #getXmlGenerator() + * @generated + */ + public EAttribute getXmlGenerator_InitialValue() + { + return (EAttribute)xmlGeneratorEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getAllocationSize <em>Allocation Size</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Allocation Size</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getAllocationSize() + * @see #getXmlGenerator() + * @generated + */ + public EAttribute getXmlGenerator_AllocationSize() + { + return (EAttribute)xmlGeneratorEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer <em>Xml Generator Container</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Generator Container</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer + * @generated + */ + public EClass getXmlGeneratorContainer() + { + return xmlGeneratorContainerEClass; + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#getSequenceGenerator <em>Sequence Generator</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Sequence Generator</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#getSequenceGenerator() + * @see #getXmlGeneratorContainer() + * @generated + */ + public EReference getXmlGeneratorContainer_SequenceGenerator() + { + return (EReference)xmlGeneratorContainerEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#getTableGenerator <em>Table Generator</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Table Generator</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#getTableGenerator() + * @see #getXmlGeneratorContainer() + * @generated + */ + public EReference getXmlGeneratorContainer_TableGenerator() + { + return (EReference)xmlGeneratorContainerEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId <em>Xml Id</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Id</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlId + * @generated + */ + public EClass getXmlId() + { + return xmlIdEClass; + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId#getGeneratedValue <em>Generated Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Generated Value</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlId#getGeneratedValue() + * @see #getXmlId() + * @generated + */ + public EReference getXmlId_GeneratedValue() + { + return (EReference)xmlIdEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer <em>Xml Id Class Container</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Id Class Container</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer + * @generated + */ + public EClass getXmlIdClassContainer() + { + return xmlIdClassContainerEClass; + } + + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer#getIdClass <em>Id Class</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Id Class</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer#getIdClass() + * @see #getXmlIdClassContainer() + * @generated + */ + public EReference getXmlIdClassContainer_IdClass() + { + return (EReference)xmlIdClassContainerEClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.Inheritance <em>Inheritance</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Inheritance</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Inheritance + * @generated + */ + public EClass getInheritance() + { + return inheritanceEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.Inheritance#getStrategy <em>Strategy</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Strategy</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Inheritance#getStrategy() + * @see #getInheritance() + * @generated + */ + public EAttribute getInheritance_Strategy() + { + return (EAttribute)inheritanceEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn <em>Xml Join Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Join Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn + * @generated + */ + public EClass getXmlJoinColumn() + { + return xmlJoinColumnEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer <em>Xml Join Column Container</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Join Column Container</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer + * @generated + */ + public EClass getXmlJoinColumnContainer() + { + return xmlJoinColumnContainerEClass; + } + + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer#getJoinColumns <em>Join Columns</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Join Columns</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer#getJoinColumns() + * @see #getXmlJoinColumnContainer() + * @generated + */ + public EReference getXmlJoinColumnContainer_JoinColumns() + { + return (EReference)xmlJoinColumnContainerEClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable <em>Xml Join Table</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Join Table</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable + * @generated + */ + public EClass getXmlJoinTable() + { + return xmlJoinTableEClass; + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable#getInverseJoinColumns <em>Inverse Join Columns</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Inverse Join Columns</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable#getInverseJoinColumns() + * @see #getXmlJoinTable() + * @generated + */ + public EReference getXmlJoinTable_InverseJoinColumns() + { + return (EReference)xmlJoinTableEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer <em>Xml Join Table Container</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Join Table Container</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer + * @generated + */ + public EClass getXmlJoinTableContainer() + { + return xmlJoinTableContainerEClass; + } + + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer#getJoinTable <em>Join Table</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Join Table</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer#getJoinTable() + * @see #getXmlJoinTableContainer() + * @generated + */ + public EReference getXmlJoinTableContainer_JoinTable() + { + return (EReference)xmlJoinTableContainerEClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.Lob <em>Lob</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Lob</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.Lob + * @generated + */ + public EClass getLob() + { + return lobEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany <em>Xml Many To Many</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Many To Many</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany + * @generated + */ + public EClass getXmlManyToMany() + { + return xmlManyToManyEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne <em>Xml Many To One</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Many To One</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne + * @generated + */ + public EClass getXmlManyToOne() + { + return xmlManyToOneEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.MapKey <em>Map Key</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Map Key</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.MapKey + * @generated + */ + public EClass getMapKey() + { + return mapKeyEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.MapKey#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.MapKey#getName() + * @see #getMapKey() + * @generated + */ + public EAttribute getMapKey_Name() + { + return (EAttribute)mapKeyEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping <em>Xml Mapped By Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Mapped By Mapping</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping + * @generated + */ + public EClass getXmlMappedByMapping() + { + return xmlMappedByMappingEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping#getMappedBy <em>Mapped By</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Mapped By</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping#getMappedBy() + * @see #getXmlMappedByMapping() + * @generated + */ + public EAttribute getXmlMappedByMapping_MappedBy() + { + return (EAttribute)xmlMappedByMappingEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass <em>Xml Mapped Superclass</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Mapped Superclass</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass + * @generated + */ + public EClass getXmlMappedSuperclass() + { + return xmlMappedSuperclassEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Exclude Default Listeners</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeDefaultListeners() + * @see #getXmlMappedSuperclass() + * @generated + */ + public EAttribute getXmlMappedSuperclass_ExcludeDefaultListeners() + { + return (EAttribute)xmlMappedSuperclassEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Exclude Superclass Listeners</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeSuperclassListeners() + * @see #getXmlMappedSuperclass() + * @generated + */ + public EAttribute getXmlMappedSuperclass_ExcludeSuperclassListeners() + { + return (EAttribute)xmlMappedSuperclassEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#getEntityListeners <em>Entity Listeners</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Entity Listeners</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#getEntityListeners() + * @see #getXmlMappedSuperclass() + * @generated + */ + public EReference getXmlMappedSuperclass_EntityListeners() + { + return (EReference)xmlMappedSuperclassEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery <em>Xml Named Native Query</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Named Native Query</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery + * @generated + */ + public EClass getXmlNamedNativeQuery() + { + return xmlNamedNativeQueryEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultClass <em>Result Class</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Result Class</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultClass() + * @see #getXmlNamedNativeQuery() + * @generated + */ + public EAttribute getXmlNamedNativeQuery_ResultClass() + { + return (EAttribute)xmlNamedNativeQueryEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultSetMapping <em>Result Set Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Result Set Mapping</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultSetMapping() + * @see #getXmlNamedNativeQuery() + * @generated + */ + public EAttribute getXmlNamedNativeQuery_ResultSetMapping() + { + return (EAttribute)xmlNamedNativeQueryEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery <em>Xml Named Query</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Named Query</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery + * @generated + */ + public EClass getXmlNamedQuery() + { + return xmlNamedQueryEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNullAttributeMapping <em>Xml Null Attribute Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Null Attribute Mapping</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNullAttributeMapping + * @generated + */ + public EClass getXmlNullAttributeMapping() + { + return xmlNullAttributeMappingEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany <em>Xml One To Many</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml One To Many</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany + * @generated + */ + public EClass getXmlOneToMany() + { + return xmlOneToManyEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne <em>Xml One To One</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml One To One</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne + * @generated + */ + public EClass getXmlOneToOne() + { + return xmlOneToOneEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn <em>Xml Order Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Order Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn + * @generated + */ + public EClass getXmlOrderColumn() + { + return xmlOrderColumnEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOverride <em>Xml Override</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Override</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOverride + * @generated + */ + public EClass getXmlOverride() + { + return xmlOverrideEClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOverride#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOverride#getName() + * @see #getXmlOverride() + * @generated + */ + public EAttribute getXmlOverride_Name() + { + return (EAttribute)xmlOverrideEClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults <em>Xml Persistence Unit Defaults</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Persistence Unit Defaults</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults + * @generated + */ + public EClass getXmlPersistenceUnitDefaults() + { + return xmlPersistenceUnitDefaultsEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getSchema <em>Schema</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Schema</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getSchema() + * @see #getXmlPersistenceUnitDefaults() + * @generated + */ + public EAttribute getXmlPersistenceUnitDefaults_Schema() + { + return (EAttribute)xmlPersistenceUnitDefaultsEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getCatalog <em>Catalog</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Catalog</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getCatalog() + * @see #getXmlPersistenceUnitDefaults() + * @generated + */ + public EAttribute getXmlPersistenceUnitDefaults_Catalog() + { + return (EAttribute)xmlPersistenceUnitDefaultsEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#isCascadePersist <em>Cascade Persist</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Cascade Persist</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#isCascadePersist() + * @see #getXmlPersistenceUnitDefaults() + * @generated + */ + public EAttribute getXmlPersistenceUnitDefaults_CascadePersist() + { + return (EAttribute)xmlPersistenceUnitDefaultsEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getEntityListeners <em>Entity Listeners</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Entity Listeners</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getEntityListeners() + * @see #getXmlPersistenceUnitDefaults() + * @generated + */ + public EReference getXmlPersistenceUnitDefaults_EntityListeners() + { + return (EReference)xmlPersistenceUnitDefaultsEClass.getEStructuralFeatures().get(3); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata <em>Xml Persistence Unit Metadata</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Persistence Unit Metadata</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata + * @generated + */ + public EClass getXmlPersistenceUnitMetadata() + { + return xmlPersistenceUnitMetadataEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#isXmlMappingMetadataComplete <em>Xml Mapping Metadata Complete</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Xml Mapping Metadata Complete</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#isXmlMappingMetadataComplete() + * @see #getXmlPersistenceUnitMetadata() + * @generated + */ + public EAttribute getXmlPersistenceUnitMetadata_XmlMappingMetadataComplete() + { + return (EAttribute)xmlPersistenceUnitMetadataEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#getPersistenceUnitDefaults <em>Persistence Unit Defaults</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Persistence Unit Defaults</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#getPersistenceUnitDefaults() + * @see #getXmlPersistenceUnitMetadata() + * @generated + */ + public EReference getXmlPersistenceUnitMetadata_PersistenceUnitDefaults() + { + return (EReference)xmlPersistenceUnitMetadataEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlReferenceTable <em>Abstract Xml Reference Table</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Abstract Xml Reference Table</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlReferenceTable + * @generated + */ + public EClass getAbstractXmlReferenceTable() + { + return abstractXmlReferenceTableEClass; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable <em>Xml Reference Table</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Reference Table</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable + * @generated + */ + public EClass getXmlReferenceTable() + { + return xmlReferenceTableEClass; + } + + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable#getJoinColumns <em>Join Columns</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Join Columns</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable#getJoinColumns() + * @see #getXmlReferenceTable() + * @generated + */ + public EReference getXmlReferenceTable_JoinColumns() + { + return (EReference)xmlReferenceTableEClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PostLoad <em>Post Load</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Post Load</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.PostLoad + * @generated + */ + public EClass getPostLoad() + { + return postLoadEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PostPersist <em>Post Persist</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Post Persist</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.PostPersist + * @generated + */ + public EClass getPostPersist() + { + return postPersistEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PostRemove <em>Post Remove</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Post Remove</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.PostRemove + * @generated + */ + public EClass getPostRemove() + { + return postRemoveEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PostUpdate <em>Post Update</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Post Update</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.PostUpdate + * @generated + */ + public EClass getPostUpdate() + { + return postUpdateEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PrePersist <em>Pre Persist</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Pre Persist</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.PrePersist + * @generated + */ + public EClass getPrePersist() + { + return prePersistEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PreRemove <em>Pre Remove</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Pre Remove</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.PreRemove + * @generated + */ + public EClass getPreRemove() + { + return preRemoveEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.PreUpdate <em>Pre Update</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Pre Update</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.PreUpdate + * @generated + */ + public EClass getPreUpdate() + { + return preUpdateEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn <em>Xml Primary Key Join Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Primary Key Join Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn + * @generated + */ + public EClass getXmlPrimaryKeyJoinColumn() + { + return xmlPrimaryKeyJoinColumnEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer <em>Xml Primary Key Join Column Container</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Primary Key Join Column Container</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer + * @generated + */ + public EClass getXmlPrimaryKeyJoinColumnContainer() + { + return xmlPrimaryKeyJoinColumnContainerEClass; + } + + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Primary Key Join Columns</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer#getPrimaryKeyJoinColumns() + * @see #getXmlPrimaryKeyJoinColumnContainer() + * @generated + */ + public EReference getXmlPrimaryKeyJoinColumnContainer_PrimaryKeyJoinColumns() + { + return (EReference)xmlPrimaryKeyJoinColumnContainerEClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery <em>Xml Query</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Query</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQuery + * @generated + */ + public EClass getXmlQuery() + { + return xmlQueryEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getName() + * @see #getXmlQuery() + * @generated + */ + public EAttribute getXmlQuery_Name() + { + return (EAttribute)xmlQueryEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getQuery <em>Query</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Query</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getQuery() + * @see #getXmlQuery() + * @generated + */ + public EAttribute getXmlQuery_Query() + { + return (EAttribute)xmlQueryEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getHints <em>Hints</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Hints</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getHints() + * @see #getXmlQuery() + * @generated + */ + public EReference getXmlQuery_Hints() + { + return (EReference)xmlQueryEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer <em>Xml Query Container</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Query Container</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer + * @generated + */ + public EClass getXmlQueryContainer() + { + return xmlQueryContainerEClass; + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer#getNamedQueries <em>Named Queries</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Named Queries</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer#getNamedQueries() + * @see #getXmlQueryContainer() + * @generated + */ + public EReference getXmlQueryContainer_NamedQueries() + { + return (EReference)xmlQueryContainerEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer#getNamedNativeQueries <em>Named Native Queries</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Named Native Queries</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer#getNamedNativeQueries() + * @see #getXmlQueryContainer() + * @generated + */ + public EReference getXmlQueryContainer_NamedNativeQueries() + { + return (EReference)xmlQueryContainerEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint <em>Xml Query Hint</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Query Hint</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint + * @generated + */ + public EClass getXmlQueryHint() + { + return xmlQueryHintEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getName() + * @see #getXmlQueryHint() + * @generated + */ + public EAttribute getXmlQueryHint_Name() + { + return (EAttribute)xmlQueryHintEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getValue() + * @see #getXmlQueryHint() + * @generated + */ + public EAttribute getXmlQueryHint_Value() + { + return (EAttribute)xmlQueryHintEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable <em>Xml Secondary Table</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Secondary Table</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable + * @generated + */ + public EClass getXmlSecondaryTable() + { + return xmlSecondaryTableEClass; + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Primary Key Join Columns</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable#getPrimaryKeyJoinColumns() + * @see #getXmlSecondaryTable() + * @generated + */ + public EReference getXmlSecondaryTable_PrimaryKeyJoinColumns() + { + return (EReference)xmlSecondaryTableEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator <em>Xml Sequence Generator</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Sequence Generator</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator + * @generated + */ + public EClass getXmlSequenceGenerator() + { + return xmlSequenceGeneratorEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#getSequenceName <em>Sequence Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Sequence Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#getSequenceName() + * @see #getXmlSequenceGenerator() + * @generated + */ + public EAttribute getXmlSequenceGenerator_SequenceName() + { + return (EAttribute)xmlSequenceGeneratorEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping <em>Sql Result Set Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Sql Result Set Mapping</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping + * @generated + */ + public EClass getSqlResultSetMapping() + { + return sqlResultSetMappingEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getName() + * @see #getSqlResultSetMapping() + * @generated + */ + public EAttribute getSqlResultSetMapping_Name() + { + return (EAttribute)sqlResultSetMappingEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getEntityResults <em>Entity Results</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Entity Results</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getEntityResults() + * @see #getSqlResultSetMapping() + * @generated + */ + public EReference getSqlResultSetMapping_EntityResults() + { + return (EReference)sqlResultSetMappingEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getColumnResults <em>Column Results</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Column Results</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getColumnResults() + * @see #getSqlResultSetMapping() + * @generated + */ + public EReference getSqlResultSetMapping_ColumnResults() + { + return (EReference)sqlResultSetMappingEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTable <em>Xml Table</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Table</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTable + * @generated + */ + public EClass getXmlTable() + { + return xmlTableEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator <em>Xml Table Generator</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Table Generator</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator + * @generated + */ + public EClass getXmlTableGenerator() + { + return xmlTableGeneratorEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getTable <em>Table</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Table</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getTable() + * @see #getXmlTableGenerator() + * @generated + */ + public EAttribute getXmlTableGenerator_Table() + { + return (EAttribute)xmlTableGeneratorEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getCatalog <em>Catalog</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Catalog</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getCatalog() + * @see #getXmlTableGenerator() + * @generated + */ + public EAttribute getXmlTableGenerator_Catalog() + { + return (EAttribute)xmlTableGeneratorEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getSchema <em>Schema</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Schema</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getSchema() + * @see #getXmlTableGenerator() + * @generated + */ + public EAttribute getXmlTableGenerator_Schema() + { + return (EAttribute)xmlTableGeneratorEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getPkColumnName <em>Pk Column Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Pk Column Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getPkColumnName() + * @see #getXmlTableGenerator() + * @generated + */ + public EAttribute getXmlTableGenerator_PkColumnName() + { + return (EAttribute)xmlTableGeneratorEClass.getEStructuralFeatures().get(3); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getValueColumnName <em>Value Column Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value Column Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getValueColumnName() + * @see #getXmlTableGenerator() + * @generated + */ + public EAttribute getXmlTableGenerator_ValueColumnName() + { + return (EAttribute)xmlTableGeneratorEClass.getEStructuralFeatures().get(4); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getPkColumnValue <em>Pk Column Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Pk Column Value</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getPkColumnValue() + * @see #getXmlTableGenerator() + * @generated + */ + public EAttribute getXmlTableGenerator_PkColumnValue() + { + return (EAttribute)xmlTableGeneratorEClass.getEStructuralFeatures().get(5); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getUniqueConstraints <em>Unique Constraints</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Unique Constraints</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getUniqueConstraints() + * @see #getXmlTableGenerator() + * @generated + */ + public EReference getXmlTableGenerator_UniqueConstraints() + { + return (EReference)xmlTableGeneratorEClass.getEStructuralFeatures().get(6); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTransient <em>Xml Transient</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Transient</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTransient + * @generated + */ + public EClass getXmlTransient() + { + return xmlTransientEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping <em>Xml Type Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Type Mapping</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping + * @generated + */ + public EClass getXmlTypeMapping() + { + return xmlTypeMappingEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getClassName <em>Class Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Class Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getClassName() + * @see #getXmlTypeMapping() + * @generated + */ + public EAttribute getXmlTypeMapping_ClassName() + { + return (EAttribute)xmlTypeMappingEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getMetadataComplete <em>Metadata Complete</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Metadata Complete</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getMetadataComplete() + * @see #getXmlTypeMapping() + * @generated + */ + public EAttribute getXmlTypeMapping_MetadataComplete() + { + return (EAttribute)xmlTypeMappingEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getDescription() + * @see #getXmlTypeMapping() + * @generated + */ + public EAttribute getXmlTypeMapping_Description() + { + return (EAttribute)xmlTypeMappingEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getAttributes <em>Attributes</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Attributes</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getAttributes() + * @see #getXmlTypeMapping() + * @generated + */ + public EReference getXmlTypeMapping_Attributes() + { + return (EReference)xmlTypeMappingEClass.getEStructuralFeatures().get(3); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint <em>Xml Unique Constraint</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Unique Constraint</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint + * @generated + */ + public EClass getXmlUniqueConstraint() + { + return xmlUniqueConstraintEClass; + } + + /** + * Returns the meta object for the attribute list '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint#getColumnNames <em>Column Names</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute list '<em>Column Names</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint#getColumnNames() + * @see #getXmlUniqueConstraint() + * @generated + */ + public EAttribute getXmlUniqueConstraint_ColumnNames() + { + return (EAttribute)xmlUniqueConstraintEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion <em>Xml Version</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Version</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlVersion + * @generated + */ + public EClass getXmlVersion() + { + return xmlVersionEClass; + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable <em>Xml Orderable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Orderable</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable + * @generated + */ + public EClass getXmlOrderable() + { + return xmlOrderableEClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable#getOrderBy <em>Order By</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Order By</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable#getOrderBy() + * @see #getXmlOrderable() + * @generated + */ + public EAttribute getXmlOrderable_OrderBy() + { + return (EAttribute)xmlOrderableEClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType <em>Discriminator Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Discriminator Type</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType + * @generated + */ + public EEnum getDiscriminatorType() + { + return discriminatorTypeEEnum; + } + + /** + * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.EnumType <em>Enum Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Enum Type</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType + * @generated + */ + public EEnum getEnumType() + { + return enumTypeEEnum; + } + + /** + * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.FetchType <em>Fetch Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Fetch Type</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType + * @generated + */ + public EEnum getFetchType() + { + return fetchTypeEEnum; + } + + /** + * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.GenerationType <em>Generation Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Generation Type</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.GenerationType + * @generated + */ + public EEnum getGenerationType() + { + return generationTypeEEnum; + } + + /** + * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.InheritanceType <em>Inheritance Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Inheritance Type</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.InheritanceType + * @generated + */ + public EEnum getInheritanceType() + { + return inheritanceTypeEEnum; + } + + /** + * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType <em>Temporal Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Temporal Type</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType + * @generated + */ + public EEnum getTemporalType() + { + return temporalTypeEEnum; + } + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + public OrmFactory getOrmFactory() + { + return (OrmFactory)getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() + { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + abstractXmlAttributeMappingEClass = createEClass(ABSTRACT_XML_ATTRIBUTE_MAPPING); + + xmlBaseColumnEClass = createEClass(XML_BASE_COLUMN); + createEAttribute(xmlBaseColumnEClass, XML_BASE_COLUMN__INSERTABLE); + createEAttribute(xmlBaseColumnEClass, XML_BASE_COLUMN__NULLABLE); + createEAttribute(xmlBaseColumnEClass, XML_BASE_COLUMN__TABLE); + createEAttribute(xmlBaseColumnEClass, XML_BASE_COLUMN__UNIQUE); + createEAttribute(xmlBaseColumnEClass, XML_BASE_COLUMN__UPDATABLE); + + abstractXmlBaseColumnEClass = createEClass(ABSTRACT_XML_BASE_COLUMN); + + abstractXmlBaseDiscriminatorColumnEClass = createEClass(ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN); + + abstractXmlEmbeddedEClass = createEClass(ABSTRACT_XML_EMBEDDED); + + abstractXmlMultiRelationshipMappingEClass = createEClass(ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING); + createEReference(abstractXmlMultiRelationshipMappingEClass, ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY); + + xmlNamedColumnEClass = createEClass(XML_NAMED_COLUMN); + createEAttribute(xmlNamedColumnEClass, XML_NAMED_COLUMN__COLUMN_DEFINITION); + createEAttribute(xmlNamedColumnEClass, XML_NAMED_COLUMN__NAME); + + xmlBaseDiscriminatorColumnEClass = createEClass(XML_BASE_DISCRIMINATOR_COLUMN); + createEAttribute(xmlBaseDiscriminatorColumnEClass, XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE); + createEAttribute(xmlBaseDiscriminatorColumnEClass, XML_BASE_DISCRIMINATOR_COLUMN__LENGTH); + + xmlBaseJoinColumnEClass = createEClass(XML_BASE_JOIN_COLUMN); + createEAttribute(xmlBaseJoinColumnEClass, XML_BASE_JOIN_COLUMN__REFERENCED_COLUMN_NAME); + + abstractXmlNamedColumnEClass = createEClass(ABSTRACT_XML_NAMED_COLUMN); + + abstractXmlRelationshipMappingEClass = createEClass(ABSTRACT_XML_RELATIONSHIP_MAPPING); + createEAttribute(abstractXmlRelationshipMappingEClass, ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY); + createEAttribute(abstractXmlRelationshipMappingEClass, ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH); + createEReference(abstractXmlRelationshipMappingEClass, ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE); + + abstractXmlSingleRelationshipMappingEClass = createEClass(ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING); + createEAttribute(abstractXmlSingleRelationshipMappingEClass, ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL); + + abstractXmlReferenceTableEClass = createEClass(ABSTRACT_XML_REFERENCE_TABLE); + + abstractXmlTableEClass = createEClass(ABSTRACT_XML_TABLE); + createEAttribute(abstractXmlTableEClass, ABSTRACT_XML_TABLE__NAME); + createEAttribute(abstractXmlTableEClass, ABSTRACT_XML_TABLE__CATALOG); + createEAttribute(abstractXmlTableEClass, ABSTRACT_XML_TABLE__SCHEMA); + createEReference(abstractXmlTableEClass, ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS); + + abstractXmlTypeMappingEClass = createEClass(ABSTRACT_XML_TYPE_MAPPING); + + xmlAccessHolderEClass = createEClass(XML_ACCESS_HOLDER); + createEAttribute(xmlAccessHolderEClass, XML_ACCESS_HOLDER__ACCESS); + + xmlAttributeMappingEClass = createEClass(XML_ATTRIBUTE_MAPPING); + createEAttribute(xmlAttributeMappingEClass, XML_ATTRIBUTE_MAPPING__NAME); + + xmlAssociationOverrideEClass = createEClass(XML_ASSOCIATION_OVERRIDE); + + xmlAssociationOverrideContainerEClass = createEClass(XML_ASSOCIATION_OVERRIDE_CONTAINER); + createEReference(xmlAssociationOverrideContainerEClass, XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES); + + xmlAttributeOverrideEClass = createEClass(XML_ATTRIBUTE_OVERRIDE); + createEReference(xmlAttributeOverrideEClass, XML_ATTRIBUTE_OVERRIDE__COLUMN); + + xmlAttributeOverrideContainerEClass = createEClass(XML_ATTRIBUTE_OVERRIDE_CONTAINER); + createEReference(xmlAttributeOverrideContainerEClass, XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES); + + attributesEClass = createEClass(ATTRIBUTES); + createEReference(attributesEClass, ATTRIBUTES__IDS); + createEReference(attributesEClass, ATTRIBUTES__EMBEDDED_IDS); + createEReference(attributesEClass, ATTRIBUTES__BASICS); + createEReference(attributesEClass, ATTRIBUTES__VERSIONS); + createEReference(attributesEClass, ATTRIBUTES__MANY_TO_ONES); + createEReference(attributesEClass, ATTRIBUTES__ONE_TO_MANYS); + createEReference(attributesEClass, ATTRIBUTES__ONE_TO_ONES); + createEReference(attributesEClass, ATTRIBUTES__MANY_TO_MANYS); + createEReference(attributesEClass, ATTRIBUTES__EMBEDDEDS); + createEReference(attributesEClass, ATTRIBUTES__TRANSIENTS); + + xmlBasicEClass = createEClass(XML_BASIC); + createEAttribute(xmlBasicEClass, XML_BASIC__FETCH); + createEAttribute(xmlBasicEClass, XML_BASIC__OPTIONAL); + + cascadeTypeEClass = createEClass(CASCADE_TYPE); + createEAttribute(cascadeTypeEClass, CASCADE_TYPE__CASCADE_ALL); + createEAttribute(cascadeTypeEClass, CASCADE_TYPE__CASCADE_PERSIST); + createEAttribute(cascadeTypeEClass, CASCADE_TYPE__CASCADE_MERGE); + createEAttribute(cascadeTypeEClass, CASCADE_TYPE__CASCADE_REMOVE); + createEAttribute(cascadeTypeEClass, CASCADE_TYPE__CASCADE_REFRESH); + + xmlClassReferenceEClass = createEClass(XML_CLASS_REFERENCE); + createEAttribute(xmlClassReferenceEClass, XML_CLASS_REFERENCE__CLASS_NAME); + + xmlCollectionTableEClass = createEClass(XML_COLLECTION_TABLE); + + xmlColumnEClass = createEClass(XML_COLUMN); + createEAttribute(xmlColumnEClass, XML_COLUMN__LENGTH); + createEAttribute(xmlColumnEClass, XML_COLUMN__PRECISION); + createEAttribute(xmlColumnEClass, XML_COLUMN__SCALE); + + columnMappingEClass = createEClass(COLUMN_MAPPING); + createEReference(columnMappingEClass, COLUMN_MAPPING__COLUMN); + + columnResultEClass = createEClass(COLUMN_RESULT); + createEAttribute(columnResultEClass, COLUMN_RESULT__NAME); + + xmlConvertibleMappingEClass = createEClass(XML_CONVERTIBLE_MAPPING); + createEAttribute(xmlConvertibleMappingEClass, XML_CONVERTIBLE_MAPPING__LOB); + createEAttribute(xmlConvertibleMappingEClass, XML_CONVERTIBLE_MAPPING__TEMPORAL); + createEAttribute(xmlConvertibleMappingEClass, XML_CONVERTIBLE_MAPPING__ENUMERATED); + + xmlDiscriminatorColumnEClass = createEClass(XML_DISCRIMINATOR_COLUMN); + + xmlElementCollectionEClass = createEClass(XML_ELEMENT_COLLECTION); + + xmlEmbeddableEClass = createEClass(XML_EMBEDDABLE); + + xmlEmbeddedEClass = createEClass(XML_EMBEDDED); + + xmlEmbeddedIdEClass = createEClass(XML_EMBEDDED_ID); + + xmlEntityEClass = createEClass(XML_ENTITY); + createEAttribute(xmlEntityEClass, XML_ENTITY__NAME); + createEReference(xmlEntityEClass, XML_ENTITY__TABLE); + createEReference(xmlEntityEClass, XML_ENTITY__SECONDARY_TABLES); + createEReference(xmlEntityEClass, XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS); + createEReference(xmlEntityEClass, XML_ENTITY__INHERITANCE); + createEAttribute(xmlEntityEClass, XML_ENTITY__DISCRIMINATOR_VALUE); + createEReference(xmlEntityEClass, XML_ENTITY__DISCRIMINATOR_COLUMN); + createEReference(xmlEntityEClass, XML_ENTITY__SQL_RESULT_SET_MAPPINGS); + createEAttribute(xmlEntityEClass, XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS); + createEAttribute(xmlEntityEClass, XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS); + createEReference(xmlEntityEClass, XML_ENTITY__ENTITY_LISTENERS); + + entityListenerEClass = createEClass(ENTITY_LISTENER); + createEAttribute(entityListenerEClass, ENTITY_LISTENER__CLASS_NAME); + + entityListenersEClass = createEClass(ENTITY_LISTENERS); + createEReference(entityListenersEClass, ENTITY_LISTENERS__ENTITY_LISTENERS); + + xmlEntityMappingsEClass = createEClass(XML_ENTITY_MAPPINGS); + createEAttribute(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__DESCRIPTION); + createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA); + createEAttribute(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__PACKAGE); + createEAttribute(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__SCHEMA); + createEAttribute(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__CATALOG); + createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS); + createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__TABLE_GENERATORS); + createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS); + createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES); + createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__ENTITIES); + createEReference(xmlEntityMappingsEClass, XML_ENTITY_MAPPINGS__EMBEDDABLES); + + entityResultEClass = createEClass(ENTITY_RESULT); + createEAttribute(entityResultEClass, ENTITY_RESULT__DISCRIMINATOR_COLUMN); + createEAttribute(entityResultEClass, ENTITY_RESULT__ENTITY_CLASS); + createEReference(entityResultEClass, ENTITY_RESULT__FIELD_RESULTS); + + eventMethodEClass = createEClass(EVENT_METHOD); + createEAttribute(eventMethodEClass, EVENT_METHOD__METHOD_NAME); + + xmlEventMethodContainerEClass = createEClass(XML_EVENT_METHOD_CONTAINER); + createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__PRE_PERSIST); + createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__POST_PERSIST); + createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__PRE_REMOVE); + createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__POST_REMOVE); + createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__PRE_UPDATE); + createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__POST_UPDATE); + createEReference(xmlEventMethodContainerEClass, XML_EVENT_METHOD_CONTAINER__POST_LOAD); + + fieldResultEClass = createEClass(FIELD_RESULT); + createEAttribute(fieldResultEClass, FIELD_RESULT__NAME); + createEAttribute(fieldResultEClass, FIELD_RESULT__COLUMN); + + xmlGeneratedValueEClass = createEClass(XML_GENERATED_VALUE); + createEAttribute(xmlGeneratedValueEClass, XML_GENERATED_VALUE__GENERATOR); + createEAttribute(xmlGeneratedValueEClass, XML_GENERATED_VALUE__STRATEGY); + + xmlGeneratorEClass = createEClass(XML_GENERATOR); + createEAttribute(xmlGeneratorEClass, XML_GENERATOR__NAME); + createEAttribute(xmlGeneratorEClass, XML_GENERATOR__INITIAL_VALUE); + createEAttribute(xmlGeneratorEClass, XML_GENERATOR__ALLOCATION_SIZE); + + xmlGeneratorContainerEClass = createEClass(XML_GENERATOR_CONTAINER); + createEReference(xmlGeneratorContainerEClass, XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR); + createEReference(xmlGeneratorContainerEClass, XML_GENERATOR_CONTAINER__TABLE_GENERATOR); + + xmlIdEClass = createEClass(XML_ID); + createEReference(xmlIdEClass, XML_ID__GENERATED_VALUE); + + xmlIdClassContainerEClass = createEClass(XML_ID_CLASS_CONTAINER); + createEReference(xmlIdClassContainerEClass, XML_ID_CLASS_CONTAINER__ID_CLASS); + + inheritanceEClass = createEClass(INHERITANCE); + createEAttribute(inheritanceEClass, INHERITANCE__STRATEGY); + + xmlJoinColumnEClass = createEClass(XML_JOIN_COLUMN); + + xmlJoinColumnContainerEClass = createEClass(XML_JOIN_COLUMN_CONTAINER); + createEReference(xmlJoinColumnContainerEClass, XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS); + + xmlJoinTableEClass = createEClass(XML_JOIN_TABLE); + createEReference(xmlJoinTableEClass, XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS); + + xmlJoinTableContainerEClass = createEClass(XML_JOIN_TABLE_CONTAINER); + createEReference(xmlJoinTableContainerEClass, XML_JOIN_TABLE_CONTAINER__JOIN_TABLE); + + lobEClass = createEClass(LOB); + + xmlManyToManyEClass = createEClass(XML_MANY_TO_MANY); + + xmlManyToOneEClass = createEClass(XML_MANY_TO_ONE); + + mapKeyEClass = createEClass(MAP_KEY); + createEAttribute(mapKeyEClass, MAP_KEY__NAME); + + xmlMappedByMappingEClass = createEClass(XML_MAPPED_BY_MAPPING); + createEAttribute(xmlMappedByMappingEClass, XML_MAPPED_BY_MAPPING__MAPPED_BY); + + xmlMappedSuperclassEClass = createEClass(XML_MAPPED_SUPERCLASS); + createEAttribute(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS); + createEAttribute(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS); + createEReference(xmlMappedSuperclassEClass, XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS); + + xmlNamedNativeQueryEClass = createEClass(XML_NAMED_NATIVE_QUERY); + createEAttribute(xmlNamedNativeQueryEClass, XML_NAMED_NATIVE_QUERY__RESULT_CLASS); + createEAttribute(xmlNamedNativeQueryEClass, XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING); + + xmlNamedQueryEClass = createEClass(XML_NAMED_QUERY); + + xmlNullAttributeMappingEClass = createEClass(XML_NULL_ATTRIBUTE_MAPPING); + + xmlOneToManyEClass = createEClass(XML_ONE_TO_MANY); + + xmlOneToOneEClass = createEClass(XML_ONE_TO_ONE); + + xmlOrderableEClass = createEClass(XML_ORDERABLE); + createEAttribute(xmlOrderableEClass, XML_ORDERABLE__ORDER_BY); + + xmlOrderColumnEClass = createEClass(XML_ORDER_COLUMN); + + xmlOverrideEClass = createEClass(XML_OVERRIDE); + createEAttribute(xmlOverrideEClass, XML_OVERRIDE__NAME); + + xmlPersistenceUnitDefaultsEClass = createEClass(XML_PERSISTENCE_UNIT_DEFAULTS); + createEAttribute(xmlPersistenceUnitDefaultsEClass, XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA); + createEAttribute(xmlPersistenceUnitDefaultsEClass, XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG); + createEAttribute(xmlPersistenceUnitDefaultsEClass, XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST); + createEReference(xmlPersistenceUnitDefaultsEClass, XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS); + + xmlPersistenceUnitMetadataEClass = createEClass(XML_PERSISTENCE_UNIT_METADATA); + createEAttribute(xmlPersistenceUnitMetadataEClass, XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE); + createEReference(xmlPersistenceUnitMetadataEClass, XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS); + + xmlReferenceTableEClass = createEClass(XML_REFERENCE_TABLE); + createEReference(xmlReferenceTableEClass, XML_REFERENCE_TABLE__JOIN_COLUMNS); + + postLoadEClass = createEClass(POST_LOAD); + + postPersistEClass = createEClass(POST_PERSIST); + + postRemoveEClass = createEClass(POST_REMOVE); + + postUpdateEClass = createEClass(POST_UPDATE); + + prePersistEClass = createEClass(PRE_PERSIST); + + preRemoveEClass = createEClass(PRE_REMOVE); + + preUpdateEClass = createEClass(PRE_UPDATE); + + xmlPrimaryKeyJoinColumnEClass = createEClass(XML_PRIMARY_KEY_JOIN_COLUMN); + + xmlPrimaryKeyJoinColumnContainerEClass = createEClass(XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER); + createEReference(xmlPrimaryKeyJoinColumnContainerEClass, XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER__PRIMARY_KEY_JOIN_COLUMNS); + + xmlQueryEClass = createEClass(XML_QUERY); + createEAttribute(xmlQueryEClass, XML_QUERY__NAME); + createEAttribute(xmlQueryEClass, XML_QUERY__QUERY); + createEReference(xmlQueryEClass, XML_QUERY__HINTS); + + xmlQueryContainerEClass = createEClass(XML_QUERY_CONTAINER); + createEReference(xmlQueryContainerEClass, XML_QUERY_CONTAINER__NAMED_QUERIES); + createEReference(xmlQueryContainerEClass, XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES); + + xmlQueryHintEClass = createEClass(XML_QUERY_HINT); + createEAttribute(xmlQueryHintEClass, XML_QUERY_HINT__NAME); + createEAttribute(xmlQueryHintEClass, XML_QUERY_HINT__VALUE); + + xmlSecondaryTableEClass = createEClass(XML_SECONDARY_TABLE); + createEReference(xmlSecondaryTableEClass, XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS); + + xmlSequenceGeneratorEClass = createEClass(XML_SEQUENCE_GENERATOR); + createEAttribute(xmlSequenceGeneratorEClass, XML_SEQUENCE_GENERATOR__SEQUENCE_NAME); + + sqlResultSetMappingEClass = createEClass(SQL_RESULT_SET_MAPPING); + createEAttribute(sqlResultSetMappingEClass, SQL_RESULT_SET_MAPPING__NAME); + createEReference(sqlResultSetMappingEClass, SQL_RESULT_SET_MAPPING__ENTITY_RESULTS); + createEReference(sqlResultSetMappingEClass, SQL_RESULT_SET_MAPPING__COLUMN_RESULTS); + + xmlTableEClass = createEClass(XML_TABLE); + + xmlTableGeneratorEClass = createEClass(XML_TABLE_GENERATOR); + createEAttribute(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__TABLE); + createEAttribute(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__CATALOG); + createEAttribute(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__SCHEMA); + createEAttribute(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__PK_COLUMN_NAME); + createEAttribute(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__VALUE_COLUMN_NAME); + createEAttribute(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__PK_COLUMN_VALUE); + createEReference(xmlTableGeneratorEClass, XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS); + + xmlTransientEClass = createEClass(XML_TRANSIENT); + + xmlTypeMappingEClass = createEClass(XML_TYPE_MAPPING); + createEAttribute(xmlTypeMappingEClass, XML_TYPE_MAPPING__CLASS_NAME); + createEAttribute(xmlTypeMappingEClass, XML_TYPE_MAPPING__METADATA_COMPLETE); + createEAttribute(xmlTypeMappingEClass, XML_TYPE_MAPPING__DESCRIPTION); + createEReference(xmlTypeMappingEClass, XML_TYPE_MAPPING__ATTRIBUTES); + + xmlUniqueConstraintEClass = createEClass(XML_UNIQUE_CONSTRAINT); + createEAttribute(xmlUniqueConstraintEClass, XML_UNIQUE_CONSTRAINT__COLUMN_NAMES); + + xmlVersionEClass = createEClass(XML_VERSION); + + // Create enums + discriminatorTypeEEnum = createEEnum(DISCRIMINATOR_TYPE); + enumTypeEEnum = createEEnum(ENUM_TYPE); + fetchTypeEEnum = createEEnum(FETCH_TYPE); + generationTypeEEnum = createEEnum(GENERATION_TYPE); + inheritanceTypeEEnum = createEEnum(INHERITANCE_TYPE); + temporalTypeEEnum = createEEnum(TEMPORAL_TYPE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() + { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + OrmV2_0Package theOrmV2_0Package = (OrmV2_0Package)EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI); + XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI); + CommonPackage theCommonPackage = (CommonPackage)EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI); + + // Add subpackages + getESubpackages().add(theOrmV2_0Package); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + abstractXmlAttributeMappingEClass.getESuperTypes().add(this.getXmlAttributeMapping()); + xmlBaseColumnEClass.getESuperTypes().add(this.getXmlNamedColumn()); + abstractXmlBaseColumnEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn()); + abstractXmlBaseColumnEClass.getESuperTypes().add(this.getXmlBaseColumn()); + abstractXmlBaseDiscriminatorColumnEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn()); + abstractXmlBaseDiscriminatorColumnEClass.getESuperTypes().add(this.getXmlBaseDiscriminatorColumn()); + abstractXmlEmbeddedEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping()); + abstractXmlEmbeddedEClass.getESuperTypes().add(this.getXmlAttributeOverrideContainer()); + abstractXmlMultiRelationshipMappingEClass.getESuperTypes().add(this.getAbstractXmlRelationshipMapping()); + abstractXmlMultiRelationshipMappingEClass.getESuperTypes().add(this.getXmlMappedByMapping()); + abstractXmlMultiRelationshipMappingEClass.getESuperTypes().add(this.getXmlJoinTableContainer()); + abstractXmlMultiRelationshipMappingEClass.getESuperTypes().add(this.getXmlOrderable()); + abstractXmlMultiRelationshipMappingEClass.getESuperTypes().add(theOrmV2_0Package.getXmlMultiRelationshipMapping_2_0()); + xmlBaseDiscriminatorColumnEClass.getESuperTypes().add(this.getXmlNamedColumn()); + xmlBaseJoinColumnEClass.getESuperTypes().add(this.getXmlNamedColumn()); + abstractXmlNamedColumnEClass.getESuperTypes().add(this.getXmlNamedColumn()); + abstractXmlRelationshipMappingEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping()); + abstractXmlSingleRelationshipMappingEClass.getESuperTypes().add(this.getAbstractXmlRelationshipMapping()); + abstractXmlSingleRelationshipMappingEClass.getESuperTypes().add(this.getXmlJoinTableContainer()); + abstractXmlSingleRelationshipMappingEClass.getESuperTypes().add(this.getXmlJoinColumnContainer()); + abstractXmlSingleRelationshipMappingEClass.getESuperTypes().add(theOrmV2_0Package.getXmlSingleRelationshipMapping_2_0()); + abstractXmlReferenceTableEClass.getESuperTypes().add(this.getAbstractXmlTable()); + abstractXmlReferenceTableEClass.getESuperTypes().add(this.getXmlReferenceTable()); + abstractXmlTypeMappingEClass.getESuperTypes().add(this.getXmlTypeMapping()); + xmlAttributeMappingEClass.getESuperTypes().add(theOrmV2_0Package.getXmlAttributeMapping_2_0()); + xmlAssociationOverrideEClass.getESuperTypes().add(this.getXmlOverride()); + xmlAssociationOverrideEClass.getESuperTypes().add(this.getXmlJoinColumnContainer()); + xmlAssociationOverrideEClass.getESuperTypes().add(theOrmV2_0Package.getXmlAssociationOverride_2_0()); + xmlAttributeOverrideEClass.getESuperTypes().add(this.getXmlOverride()); + xmlAttributeOverrideEClass.getESuperTypes().add(theOrmV2_0Package.getXmlAttributeOverride_2_0()); + attributesEClass.getESuperTypes().add(theOrmV2_0Package.getXmlAttributes_2_0()); + xmlBasicEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping()); + xmlBasicEClass.getESuperTypes().add(this.getColumnMapping()); + xmlBasicEClass.getESuperTypes().add(this.getXmlConvertibleMapping()); + cascadeTypeEClass.getESuperTypes().add(theOrmV2_0Package.getXmlCascadeType_2_0()); + xmlCollectionTableEClass.getESuperTypes().add(this.getAbstractXmlReferenceTable()); + xmlCollectionTableEClass.getESuperTypes().add(theOrmV2_0Package.getXmlCollectionTable_2_0()); + xmlColumnEClass.getESuperTypes().add(this.getAbstractXmlBaseColumn()); + xmlDiscriminatorColumnEClass.getESuperTypes().add(this.getAbstractXmlBaseDiscriminatorColumn()); + xmlElementCollectionEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping()); + xmlElementCollectionEClass.getESuperTypes().add(theOrmV2_0Package.getXmlElementCollection_2_0()); + xmlEmbeddableEClass.getESuperTypes().add(this.getAbstractXmlTypeMapping()); + xmlEmbeddedEClass.getESuperTypes().add(this.getAbstractXmlEmbedded()); + xmlEmbeddedEClass.getESuperTypes().add(theOrmV2_0Package.getXmlEmbedded_2_0()); + xmlEmbeddedIdEClass.getESuperTypes().add(this.getAbstractXmlEmbedded()); + xmlEntityEClass.getESuperTypes().add(this.getAbstractXmlTypeMapping()); + xmlEntityEClass.getESuperTypes().add(this.getXmlQueryContainer()); + xmlEntityEClass.getESuperTypes().add(this.getXmlGeneratorContainer()); + xmlEntityEClass.getESuperTypes().add(this.getXmlEventMethodContainer()); + xmlEntityEClass.getESuperTypes().add(this.getXmlAttributeOverrideContainer()); + xmlEntityEClass.getESuperTypes().add(this.getXmlAssociationOverrideContainer()); + xmlEntityEClass.getESuperTypes().add(theOrmV2_0Package.getXmlEntity_2_0()); + xmlEntityEClass.getESuperTypes().add(this.getXmlIdClassContainer()); + entityListenerEClass.getESuperTypes().add(this.getXmlEventMethodContainer()); + entityListenerEClass.getESuperTypes().add(theOrmV2_0Package.getXmlEntityListener_2_0()); + xmlEntityMappingsEClass.getESuperTypes().add(theCommonPackage.getERootObjectImpl()); + xmlEntityMappingsEClass.getESuperTypes().add(this.getXmlQueryContainer()); + xmlEntityMappingsEClass.getESuperTypes().add(this.getXmlAccessHolder()); + eventMethodEClass.getESuperTypes().add(theOrmV2_0Package.getXmlEventMethod_2_0()); + xmlGeneratorEClass.getESuperTypes().add(theOrmV2_0Package.getXmlGenerator_2_0()); + xmlIdEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping()); + xmlIdEClass.getESuperTypes().add(this.getColumnMapping()); + xmlIdEClass.getESuperTypes().add(this.getXmlConvertibleMapping()); + xmlIdEClass.getESuperTypes().add(this.getXmlGeneratorContainer()); + xmlJoinColumnEClass.getESuperTypes().add(this.getAbstractXmlBaseColumn()); + xmlJoinColumnEClass.getESuperTypes().add(this.getXmlBaseJoinColumn()); + xmlJoinTableEClass.getESuperTypes().add(this.getAbstractXmlReferenceTable()); + xmlManyToManyEClass.getESuperTypes().add(this.getAbstractXmlMultiRelationshipMapping()); + xmlManyToManyEClass.getESuperTypes().add(theOrmV2_0Package.getXmlManyToMany_2_0()); + xmlManyToOneEClass.getESuperTypes().add(this.getAbstractXmlSingleRelationshipMapping()); + xmlMappedSuperclassEClass.getESuperTypes().add(this.getAbstractXmlTypeMapping()); + xmlMappedSuperclassEClass.getESuperTypes().add(this.getXmlIdClassContainer()); + xmlNamedNativeQueryEClass.getESuperTypes().add(this.getXmlQuery()); + xmlNamedQueryEClass.getESuperTypes().add(this.getXmlQuery()); + xmlNamedQueryEClass.getESuperTypes().add(theOrmV2_0Package.getXmlNamedQuery_2_0()); + xmlNullAttributeMappingEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping()); + xmlOneToManyEClass.getESuperTypes().add(this.getAbstractXmlMultiRelationshipMapping()); + xmlOneToManyEClass.getESuperTypes().add(this.getXmlJoinColumnContainer()); + xmlOneToManyEClass.getESuperTypes().add(theOrmV2_0Package.getXmlOneToMany_2_0()); + xmlOneToOneEClass.getESuperTypes().add(this.getAbstractXmlSingleRelationshipMapping()); + xmlOneToOneEClass.getESuperTypes().add(this.getXmlMappedByMapping()); + xmlOneToOneEClass.getESuperTypes().add(this.getXmlPrimaryKeyJoinColumnContainer()); + xmlOneToOneEClass.getESuperTypes().add(theOrmV2_0Package.getXmlOneToOne_2_0()); + xmlOrderableEClass.getESuperTypes().add(theOrmV2_0Package.getXmlOrderable_2_0()); + xmlOrderColumnEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn()); + xmlOrderColumnEClass.getESuperTypes().add(theOrmV2_0Package.getXmlOrderColumn_2_0()); + xmlPersistenceUnitDefaultsEClass.getESuperTypes().add(this.getXmlAccessHolder()); + xmlPersistenceUnitDefaultsEClass.getESuperTypes().add(theOrmV2_0Package.getXmlPersistenceUnitDefaults_2_0()); + xmlPersistenceUnitMetadataEClass.getESuperTypes().add(theOrmV2_0Package.getXmlPersistenceUnitMetadata_2_0()); + postLoadEClass.getESuperTypes().add(this.getEventMethod()); + postPersistEClass.getESuperTypes().add(this.getEventMethod()); + postRemoveEClass.getESuperTypes().add(this.getEventMethod()); + postUpdateEClass.getESuperTypes().add(this.getEventMethod()); + prePersistEClass.getESuperTypes().add(this.getEventMethod()); + preRemoveEClass.getESuperTypes().add(this.getEventMethod()); + preUpdateEClass.getESuperTypes().add(this.getEventMethod()); + xmlPrimaryKeyJoinColumnEClass.getESuperTypes().add(this.getAbstractXmlNamedColumn()); + xmlPrimaryKeyJoinColumnEClass.getESuperTypes().add(this.getXmlBaseJoinColumn()); + xmlQueryEClass.getESuperTypes().add(theOrmV2_0Package.getXmlQuery_2_0()); + xmlQueryHintEClass.getESuperTypes().add(theOrmV2_0Package.getXmlQueryHint_2_0()); + xmlSecondaryTableEClass.getESuperTypes().add(this.getAbstractXmlTable()); + xmlSequenceGeneratorEClass.getESuperTypes().add(this.getXmlGenerator()); + xmlSequenceGeneratorEClass.getESuperTypes().add(theOrmV2_0Package.getXmlSequenceGenerator_2_0()); + sqlResultSetMappingEClass.getESuperTypes().add(theOrmV2_0Package.getXmlSqlResultSetMapping_2_0()); + xmlTableEClass.getESuperTypes().add(this.getAbstractXmlTable()); + xmlTableGeneratorEClass.getESuperTypes().add(this.getXmlGenerator()); + xmlTransientEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping()); + xmlTypeMappingEClass.getESuperTypes().add(this.getXmlAccessHolder()); + xmlUniqueConstraintEClass.getESuperTypes().add(theOrmV2_0Package.getXmlUniqueConstraint_2_0()); + xmlVersionEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping()); + xmlVersionEClass.getESuperTypes().add(this.getColumnMapping()); + xmlVersionEClass.getESuperTypes().add(this.getXmlConvertibleMapping()); + + // Initialize classes and features; add operations and parameters + initEClass(abstractXmlAttributeMappingEClass, AbstractXmlAttributeMapping.class, "AbstractXmlAttributeMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlBaseColumnEClass, XmlBaseColumn.class, "XmlBaseColumn", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlBaseColumn_Insertable(), theXMLTypePackage.getBooleanObject(), "insertable", null, 0, 1, XmlBaseColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlBaseColumn_Nullable(), theXMLTypePackage.getBooleanObject(), "nullable", null, 0, 1, XmlBaseColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlBaseColumn_Table(), theXMLTypePackage.getString(), "table", null, 0, 1, XmlBaseColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlBaseColumn_Unique(), theXMLTypePackage.getBooleanObject(), "unique", null, 0, 1, XmlBaseColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlBaseColumn_Updatable(), theXMLTypePackage.getBooleanObject(), "updatable", null, 0, 1, XmlBaseColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(abstractXmlBaseColumnEClass, AbstractXmlBaseColumn.class, "AbstractXmlBaseColumn", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(abstractXmlBaseDiscriminatorColumnEClass, AbstractXmlBaseDiscriminatorColumn.class, "AbstractXmlBaseDiscriminatorColumn", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(abstractXmlEmbeddedEClass, AbstractXmlEmbedded.class, "AbstractXmlEmbedded", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(abstractXmlMultiRelationshipMappingEClass, AbstractXmlMultiRelationshipMapping.class, "AbstractXmlMultiRelationshipMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getAbstractXmlMultiRelationshipMapping_MapKey(), this.getMapKey(), null, "mapKey", null, 0, 1, AbstractXmlMultiRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlNamedColumnEClass, XmlNamedColumn.class, "XmlNamedColumn", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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(xmlBaseDiscriminatorColumnEClass, XmlBaseDiscriminatorColumn.class, "XmlBaseDiscriminatorColumn", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlBaseDiscriminatorColumn_DiscriminatorType(), this.getDiscriminatorType(), "discriminatorType", "STRING", 0, 1, XmlBaseDiscriminatorColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlBaseDiscriminatorColumn_Length(), theXMLTypePackage.getIntObject(), "length", null, 0, 1, XmlBaseDiscriminatorColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlBaseJoinColumnEClass, XmlBaseJoinColumn.class, "XmlBaseJoinColumn", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlBaseJoinColumn_ReferencedColumnName(), theXMLTypePackage.getString(), "referencedColumnName", null, 0, 1, XmlBaseJoinColumn.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(abstractXmlRelationshipMappingEClass, AbstractXmlRelationshipMapping.class, "AbstractXmlRelationshipMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getAbstractXmlRelationshipMapping_TargetEntity(), theXMLTypePackage.getString(), "targetEntity", null, 0, 1, AbstractXmlRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getAbstractXmlRelationshipMapping_Fetch(), this.getFetchType(), "fetch", "LAZY", 0, 1, AbstractXmlRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAbstractXmlRelationshipMapping_Cascade(), this.getCascadeType(), null, "cascade", null, 0, 1, AbstractXmlRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(abstractXmlSingleRelationshipMappingEClass, AbstractXmlSingleRelationshipMapping.class, "AbstractXmlSingleRelationshipMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getAbstractXmlSingleRelationshipMapping_Optional(), theXMLTypePackage.getBooleanObject(), "optional", null, 0, 1, AbstractXmlSingleRelationshipMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(abstractXmlReferenceTableEClass, AbstractXmlReferenceTable.class, "AbstractXmlReferenceTable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(abstractXmlTableEClass, AbstractXmlTable.class, "AbstractXmlTable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getAbstractXmlTable_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, AbstractXmlTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getAbstractXmlTable_Catalog(), theXMLTypePackage.getString(), "catalog", null, 0, 1, AbstractXmlTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getAbstractXmlTable_Schema(), theXMLTypePackage.getString(), "schema", null, 0, 1, AbstractXmlTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAbstractXmlTable_UniqueConstraints(), this.getXmlUniqueConstraint(), null, "uniqueConstraints", null, 0, -1, AbstractXmlTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(abstractXmlTypeMappingEClass, AbstractXmlTypeMapping.class, "AbstractXmlTypeMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlAccessHolderEClass, XmlAccessHolder.class, "XmlAccessHolder", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlAccessHolder_Access(), theXMLTypePackage.getString(), "access", null, 0, 1, XmlAccessHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlAttributeMappingEClass, XmlAttributeMapping.class, "XmlAttributeMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlAttributeMapping_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlAttributeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlAssociationOverrideEClass, XmlAssociationOverride.class, "XmlAssociationOverride", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlAssociationOverrideContainerEClass, XmlAssociationOverrideContainer.class, "XmlAssociationOverrideContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlAssociationOverrideContainer_AssociationOverrides(), this.getXmlAssociationOverride(), null, "associationOverrides", null, 0, -1, XmlAssociationOverrideContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlAttributeOverrideEClass, XmlAttributeOverride.class, "XmlAttributeOverride", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlAttributeOverride_Column(), this.getXmlColumn(), null, "column", null, 1, 1, XmlAttributeOverride.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlAttributeOverrideContainerEClass, XmlAttributeOverrideContainer.class, "XmlAttributeOverrideContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlAttributeOverrideContainer_AttributeOverrides(), this.getXmlAttributeOverride(), null, "attributeOverrides", null, 0, -1, XmlAttributeOverrideContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(attributesEClass, Attributes.class, "Attributes", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getAttributes_Ids(), this.getXmlId(), null, "ids", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAttributes_EmbeddedIds(), this.getXmlEmbeddedId(), null, "embeddedIds", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAttributes_Basics(), this.getXmlBasic(), null, "basics", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAttributes_Versions(), this.getXmlVersion(), null, "versions", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAttributes_ManyToOnes(), this.getXmlManyToOne(), null, "manyToOnes", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAttributes_OneToManys(), this.getXmlOneToMany(), null, "oneToManys", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAttributes_OneToOnes(), this.getXmlOneToOne(), null, "oneToOnes", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAttributes_ManyToManys(), this.getXmlManyToMany(), null, "manyToManys", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAttributes_Embeddeds(), this.getXmlEmbedded(), null, "embeddeds", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAttributes_Transients(), this.getXmlTransient(), null, "transients", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlBasicEClass, XmlBasic.class, "XmlBasic", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlBasic_Fetch(), this.getFetchType(), "fetch", "LAZY", 0, 1, XmlBasic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlBasic_Optional(), theXMLTypePackage.getBooleanObject(), "optional", null, 0, 1, XmlBasic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(cascadeTypeEClass, CascadeType.class, "CascadeType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getCascadeType_CascadeAll(), theXMLTypePackage.getBoolean(), "cascadeAll", null, 0, 1, CascadeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getCascadeType_CascadePersist(), theXMLTypePackage.getBoolean(), "cascadePersist", null, 0, 1, CascadeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getCascadeType_CascadeMerge(), theXMLTypePackage.getBoolean(), "cascadeMerge", null, 0, 1, CascadeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getCascadeType_CascadeRemove(), theXMLTypePackage.getBoolean(), "cascadeRemove", null, 0, 1, CascadeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getCascadeType_CascadeRefresh(), theXMLTypePackage.getBoolean(), "cascadeRefresh", null, 0, 1, CascadeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlClassReferenceEClass, XmlClassReference.class, "XmlClassReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlClassReference_ClassName(), theXMLTypePackage.getString(), "className", null, 1, 1, XmlClassReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlCollectionTableEClass, XmlCollectionTable.class, "XmlCollectionTable", !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); + initEAttribute(getXmlColumn_Scale(), theXMLTypePackage.getIntObject(), "scale", null, 0, 1, XmlColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(columnMappingEClass, ColumnMapping.class, "ColumnMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getColumnMapping_Column(), this.getXmlColumn(), null, "column", null, 0, 1, ColumnMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(columnResultEClass, ColumnResult.class, "ColumnResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getColumnResult_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ColumnResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlConvertibleMappingEClass, XmlConvertibleMapping.class, "XmlConvertibleMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlConvertibleMapping_Lob(), theXMLTypePackage.getBoolean(), "lob", null, 0, 1, XmlConvertibleMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlConvertibleMapping_Temporal(), this.getTemporalType(), "temporal", null, 0, 1, XmlConvertibleMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlConvertibleMapping_Enumerated(), this.getEnumType(), "enumerated", null, 0, 1, XmlConvertibleMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlDiscriminatorColumnEClass, XmlDiscriminatorColumn.class, "XmlDiscriminatorColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlElementCollectionEClass, XmlElementCollection.class, "XmlElementCollection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlEmbeddableEClass, XmlEmbeddable.class, "XmlEmbeddable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlEmbeddedEClass, XmlEmbedded.class, "XmlEmbedded", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlEmbeddedIdEClass, XmlEmbeddedId.class, "XmlEmbeddedId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlEntityEClass, XmlEntity.class, "XmlEntity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlEntity_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntity_Table(), this.getXmlTable(), null, "table", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntity_SecondaryTables(), this.getXmlSecondaryTable(), null, "secondaryTables", null, 0, -1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntity_PrimaryKeyJoinColumns(), this.getXmlPrimaryKeyJoinColumn(), null, "primaryKeyJoinColumns", null, 0, -1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntity_Inheritance(), this.getInheritance(), null, "inheritance", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlEntity_DiscriminatorValue(), theXMLTypePackage.getString(), "discriminatorValue", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntity_DiscriminatorColumn(), this.getXmlDiscriminatorColumn(), null, "discriminatorColumn", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntity_SqlResultSetMappings(), this.getSqlResultSetMapping(), null, "sqlResultSetMappings", null, 0, -1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlEntity_ExcludeDefaultListeners(), theXMLTypePackage.getBoolean(), "excludeDefaultListeners", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlEntity_ExcludeSuperclassListeners(), theXMLTypePackage.getBoolean(), "excludeSuperclassListeners", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntity_EntityListeners(), this.getEntityListeners(), null, "entityListeners", null, 0, 1, XmlEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(entityListenerEClass, EntityListener.class, "EntityListener", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getEntityListener_ClassName(), theXMLTypePackage.getString(), "className", null, 1, 1, EntityListener.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(entityListenersEClass, EntityListeners.class, "EntityListeners", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getEntityListeners_EntityListeners(), this.getEntityListener(), null, "entityListeners", null, 0, -1, EntityListeners.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlEntityMappingsEClass, XmlEntityMappings.class, "XmlEntityMappings", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlEntityMappings_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntityMappings_PersistenceUnitMetadata(), this.getXmlPersistenceUnitMetadata(), null, "persistenceUnitMetadata", null, 0, 1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlEntityMappings_Package(), theXMLTypePackage.getString(), "package", null, 0, 1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlEntityMappings_Schema(), theXMLTypePackage.getString(), "schema", null, 0, 1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlEntityMappings_Catalog(), theXMLTypePackage.getString(), "catalog", null, 0, 1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntityMappings_SequenceGenerators(), this.getXmlSequenceGenerator(), null, "sequenceGenerators", null, 0, -1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntityMappings_TableGenerators(), this.getXmlTableGenerator(), null, "tableGenerators", null, 0, -1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntityMappings_SqlResultSetMappings(), this.getSqlResultSetMapping(), null, "sqlResultSetMappings", null, 0, -1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntityMappings_MappedSuperclasses(), this.getXmlMappedSuperclass(), null, "mappedSuperclasses", null, 0, -1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntityMappings_Entities(), this.getXmlEntity(), null, "entities", null, 0, -1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEntityMappings_Embeddables(), this.getXmlEmbeddable(), null, "embeddables", null, 0, -1, XmlEntityMappings.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(entityResultEClass, EntityResult.class, "EntityResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getEntityResult_DiscriminatorColumn(), theXMLTypePackage.getString(), "discriminatorColumn", null, 0, 1, EntityResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getEntityResult_EntityClass(), theXMLTypePackage.getString(), "entityClass", null, 1, 1, EntityResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getEntityResult_FieldResults(), this.getFieldResult(), null, "fieldResults", null, 0, -1, EntityResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(eventMethodEClass, EventMethod.class, "EventMethod", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getEventMethod_MethodName(), theXMLTypePackage.getString(), "methodName", null, 1, 1, EventMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlEventMethodContainerEClass, XmlEventMethodContainer.class, "XmlEventMethodContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlEventMethodContainer_PrePersist(), this.getPrePersist(), null, "prePersist", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEventMethodContainer_PostPersist(), this.getPostPersist(), null, "postPersist", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEventMethodContainer_PreRemove(), this.getPreRemove(), null, "preRemove", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEventMethodContainer_PostRemove(), this.getPostRemove(), null, "postRemove", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEventMethodContainer_PreUpdate(), this.getPreUpdate(), null, "preUpdate", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEventMethodContainer_PostUpdate(), this.getPostUpdate(), null, "postUpdate", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlEventMethodContainer_PostLoad(), this.getPostLoad(), null, "postLoad", null, 0, 1, XmlEventMethodContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(fieldResultEClass, FieldResult.class, "FieldResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getFieldResult_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, FieldResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getFieldResult_Column(), theXMLTypePackage.getString(), "column", null, 1, 1, FieldResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlGeneratedValueEClass, XmlGeneratedValue.class, "XmlGeneratedValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlGeneratedValue_Generator(), theXMLTypePackage.getString(), "generator", null, 0, 1, XmlGeneratedValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlGeneratedValue_Strategy(), this.getGenerationType(), "strategy", "TABLE", 0, 1, XmlGeneratedValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlGeneratorEClass, XmlGenerator.class, "XmlGenerator", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlGenerator_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlGenerator_InitialValue(), theXMLTypePackage.getIntObject(), "initialValue", null, 0, 1, XmlGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlGenerator_AllocationSize(), theXMLTypePackage.getIntObject(), "allocationSize", null, 0, 1, XmlGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlGeneratorContainerEClass, XmlGeneratorContainer.class, "XmlGeneratorContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlGeneratorContainer_SequenceGenerator(), this.getXmlSequenceGenerator(), null, "sequenceGenerator", null, 0, 1, XmlGeneratorContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlGeneratorContainer_TableGenerator(), this.getXmlTableGenerator(), null, "tableGenerator", null, 0, 1, XmlGeneratorContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlIdEClass, XmlId.class, "XmlId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlId_GeneratedValue(), this.getXmlGeneratedValue(), null, "generatedValue", null, 0, 1, XmlId.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlIdClassContainerEClass, XmlIdClassContainer.class, "XmlIdClassContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlIdClassContainer_IdClass(), this.getXmlClassReference(), null, "idClass", null, 0, 1, XmlIdClassContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(inheritanceEClass, Inheritance.class, "Inheritance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getInheritance_Strategy(), this.getInheritanceType(), "strategy", "SINGLE_TABLE", 0, 1, Inheritance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlJoinColumnEClass, XmlJoinColumn.class, "XmlJoinColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlJoinColumnContainerEClass, XmlJoinColumnContainer.class, "XmlJoinColumnContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlJoinColumnContainer_JoinColumns(), this.getXmlJoinColumn(), null, "joinColumns", null, 0, -1, XmlJoinColumnContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlJoinTableEClass, XmlJoinTable.class, "XmlJoinTable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlJoinTable_InverseJoinColumns(), this.getXmlJoinColumn(), null, "inverseJoinColumns", null, 0, -1, XmlJoinTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlJoinTableContainerEClass, XmlJoinTableContainer.class, "XmlJoinTableContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlJoinTableContainer_JoinTable(), this.getXmlJoinTable(), null, "joinTable", null, 0, 1, XmlJoinTableContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(lobEClass, Lob.class, "Lob", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlManyToManyEClass, XmlManyToMany.class, "XmlManyToMany", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlManyToOneEClass, XmlManyToOne.class, "XmlManyToOne", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(mapKeyEClass, MapKey.class, "MapKey", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getMapKey_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, MapKey.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlMappedByMappingEClass, XmlMappedByMapping.class, "XmlMappedByMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlMappedByMapping_MappedBy(), theXMLTypePackage.getString(), "mappedBy", null, 0, 1, XmlMappedByMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlMappedSuperclassEClass, XmlMappedSuperclass.class, "XmlMappedSuperclass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlMappedSuperclass_ExcludeDefaultListeners(), theXMLTypePackage.getBoolean(), "excludeDefaultListeners", null, 0, 1, XmlMappedSuperclass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlMappedSuperclass_ExcludeSuperclassListeners(), theXMLTypePackage.getBoolean(), "excludeSuperclassListeners", null, 0, 1, XmlMappedSuperclass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlMappedSuperclass_EntityListeners(), this.getEntityListeners(), null, "entityListeners", null, 0, 1, XmlMappedSuperclass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlNamedNativeQueryEClass, XmlNamedNativeQuery.class, "XmlNamedNativeQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlNamedNativeQuery_ResultClass(), theXMLTypePackage.getString(), "resultClass", null, 0, 1, XmlNamedNativeQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlNamedNativeQuery_ResultSetMapping(), theXMLTypePackage.getString(), "resultSetMapping", null, 0, 1, XmlNamedNativeQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlNamedQueryEClass, XmlNamedQuery.class, "XmlNamedQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlNullAttributeMappingEClass, XmlNullAttributeMapping.class, "XmlNullAttributeMapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlOneToManyEClass, XmlOneToMany.class, "XmlOneToMany", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlOneToOneEClass, XmlOneToOne.class, "XmlOneToOne", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlOrderableEClass, XmlOrderable.class, "XmlOrderable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlOrderable_OrderBy(), theXMLTypePackage.getString(), "orderBy", null, 0, 1, XmlOrderable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlOrderColumnEClass, XmlOrderColumn.class, "XmlOrderColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlOverrideEClass, XmlOverride.class, "XmlOverride", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlOverride_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlOverride.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlPersistenceUnitDefaultsEClass, XmlPersistenceUnitDefaults.class, "XmlPersistenceUnitDefaults", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlPersistenceUnitDefaults_Schema(), theXMLTypePackage.getString(), "schema", null, 0, 1, XmlPersistenceUnitDefaults.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlPersistenceUnitDefaults_Catalog(), theXMLTypePackage.getString(), "catalog", null, 0, 1, XmlPersistenceUnitDefaults.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlPersistenceUnitDefaults_CascadePersist(), theXMLTypePackage.getBoolean(), "cascadePersist", null, 0, 1, XmlPersistenceUnitDefaults.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlPersistenceUnitDefaults_EntityListeners(), this.getEntityListeners(), null, "entityListeners", null, 0, 1, XmlPersistenceUnitDefaults.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlPersistenceUnitMetadataEClass, XmlPersistenceUnitMetadata.class, "XmlPersistenceUnitMetadata", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlPersistenceUnitMetadata_XmlMappingMetadataComplete(), theXMLTypePackage.getBoolean(), "xmlMappingMetadataComplete", null, 0, 1, XmlPersistenceUnitMetadata.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlPersistenceUnitMetadata_PersistenceUnitDefaults(), this.getXmlPersistenceUnitDefaults(), null, "persistenceUnitDefaults", null, 0, 1, XmlPersistenceUnitMetadata.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlReferenceTableEClass, XmlReferenceTable.class, "XmlReferenceTable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlReferenceTable_JoinColumns(), this.getXmlJoinColumn(), null, "joinColumns", null, 0, -1, XmlReferenceTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(postLoadEClass, PostLoad.class, "PostLoad", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(postPersistEClass, PostPersist.class, "PostPersist", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(postRemoveEClass, PostRemove.class, "PostRemove", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(postUpdateEClass, PostUpdate.class, "PostUpdate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(prePersistEClass, PrePersist.class, "PrePersist", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(preRemoveEClass, PreRemove.class, "PreRemove", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(preUpdateEClass, PreUpdate.class, "PreUpdate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlPrimaryKeyJoinColumnEClass, XmlPrimaryKeyJoinColumn.class, "XmlPrimaryKeyJoinColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlPrimaryKeyJoinColumnContainerEClass, XmlPrimaryKeyJoinColumnContainer.class, "XmlPrimaryKeyJoinColumnContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlPrimaryKeyJoinColumnContainer_PrimaryKeyJoinColumns(), this.getXmlPrimaryKeyJoinColumn(), null, "primaryKeyJoinColumns", null, 0, -1, XmlPrimaryKeyJoinColumnContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlQueryEClass, XmlQuery.class, "XmlQuery", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlQuery_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlQuery_Query(), theXMLTypePackage.getString(), "query", null, 1, 1, XmlQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlQuery_Hints(), this.getXmlQueryHint(), null, "hints", null, 0, -1, XmlQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlQueryContainerEClass, XmlQueryContainer.class, "XmlQueryContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlQueryContainer_NamedQueries(), this.getXmlNamedQuery(), null, "namedQueries", null, 0, -1, XmlQueryContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlQueryContainer_NamedNativeQueries(), this.getXmlNamedNativeQuery(), null, "namedNativeQueries", null, 0, -1, XmlQueryContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlQueryHintEClass, XmlQueryHint.class, "XmlQueryHint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlQueryHint_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlQueryHint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlQueryHint_Value(), theXMLTypePackage.getString(), "value", null, 1, 1, XmlQueryHint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlSecondaryTableEClass, XmlSecondaryTable.class, "XmlSecondaryTable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlSecondaryTable_PrimaryKeyJoinColumns(), this.getXmlPrimaryKeyJoinColumn(), null, "primaryKeyJoinColumns", null, 0, -1, XmlSecondaryTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlSequenceGeneratorEClass, XmlSequenceGenerator.class, "XmlSequenceGenerator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlSequenceGenerator_SequenceName(), theXMLTypePackage.getString(), "sequenceName", null, 0, 1, XmlSequenceGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(sqlResultSetMappingEClass, SqlResultSetMapping.class, "SqlResultSetMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getSqlResultSetMapping_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, SqlResultSetMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getSqlResultSetMapping_EntityResults(), this.getEntityResult(), null, "entityResults", null, 0, -1, SqlResultSetMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getSqlResultSetMapping_ColumnResults(), this.getColumnResult(), null, "columnResults", null, 0, -1, SqlResultSetMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlTableEClass, XmlTable.class, "XmlTable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlTableGeneratorEClass, XmlTableGenerator.class, "XmlTableGenerator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlTableGenerator_Table(), theXMLTypePackage.getString(), "table", null, 0, 1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlTableGenerator_Catalog(), theXMLTypePackage.getString(), "catalog", null, 0, 1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlTableGenerator_Schema(), theXMLTypePackage.getString(), "schema", null, 0, 1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlTableGenerator_PkColumnName(), theXMLTypePackage.getString(), "pkColumnName", null, 0, 1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlTableGenerator_ValueColumnName(), theXMLTypePackage.getString(), "valueColumnName", null, 0, 1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlTableGenerator_PkColumnValue(), theXMLTypePackage.getString(), "pkColumnValue", null, 0, 1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlTableGenerator_UniqueConstraints(), this.getXmlUniqueConstraint(), null, "uniqueConstraints", null, 0, -1, XmlTableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlTransientEClass, XmlTransient.class, "XmlTransient", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlTypeMappingEClass, XmlTypeMapping.class, "XmlTypeMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlTypeMapping_ClassName(), theXMLTypePackage.getString(), "className", null, 1, 1, XmlTypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlTypeMapping_MetadataComplete(), theXMLTypePackage.getBooleanObject(), "metadataComplete", null, 0, 1, XmlTypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlTypeMapping_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlTypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlTypeMapping_Attributes(), this.getAttributes(), null, "attributes", null, 0, 1, XmlTypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlUniqueConstraintEClass, XmlUniqueConstraint.class, "XmlUniqueConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlUniqueConstraint_ColumnNames(), theXMLTypePackage.getString(), "columnNames", null, 1, -1, XmlUniqueConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlVersionEClass, XmlVersion.class, "XmlVersion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + // Initialize enums and add enum literals + initEEnum(discriminatorTypeEEnum, DiscriminatorType.class, "DiscriminatorType"); + addEEnumLiteral(discriminatorTypeEEnum, DiscriminatorType.STRING); + addEEnumLiteral(discriminatorTypeEEnum, DiscriminatorType.CHAR); + addEEnumLiteral(discriminatorTypeEEnum, DiscriminatorType.INTEGER); + + initEEnum(enumTypeEEnum, EnumType.class, "EnumType"); + addEEnumLiteral(enumTypeEEnum, EnumType.ORDINAL); + addEEnumLiteral(enumTypeEEnum, EnumType.STRING); + + initEEnum(fetchTypeEEnum, FetchType.class, "FetchType"); + addEEnumLiteral(fetchTypeEEnum, FetchType.LAZY); + addEEnumLiteral(fetchTypeEEnum, FetchType.EAGER); + + initEEnum(generationTypeEEnum, GenerationType.class, "GenerationType"); + addEEnumLiteral(generationTypeEEnum, GenerationType.TABLE); + addEEnumLiteral(generationTypeEEnum, GenerationType.SEQUENCE); + addEEnumLiteral(generationTypeEEnum, GenerationType.IDENTITY); + addEEnumLiteral(generationTypeEEnum, GenerationType.AUTO); + + initEEnum(inheritanceTypeEEnum, InheritanceType.class, "InheritanceType"); + addEEnumLiteral(inheritanceTypeEEnum, InheritanceType.SINGLE_TABLE); + addEEnumLiteral(inheritanceTypeEEnum, InheritanceType.JOINED); + addEEnumLiteral(inheritanceTypeEEnum, InheritanceType.TABLE_PER_CLASS); + + initEEnum(temporalTypeEEnum, TemporalType.class, "TemporalType"); + addEEnumLiteral(temporalTypeEEnum, TemporalType.DATE); + addEEnumLiteral(temporalTypeEEnum, TemporalType.TIME); + addEEnumLiteral(temporalTypeEEnum, TemporalType.TIMESTAMP); + + // Create resource + createResource(eNS_URI); + } + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + public interface Literals + { + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping <em>Abstract Xml Attribute Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlAttributeMapping() + * @generated + */ + public static final EClass ABSTRACT_XML_ATTRIBUTE_MAPPING = eINSTANCE.getAbstractXmlAttributeMapping(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn <em>Xml Base Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn() + * @generated + */ + public static final EClass XML_BASE_COLUMN = eINSTANCE.getXmlBaseColumn(); + + /** + * The meta object literal for the '<em><b>Insertable</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_BASE_COLUMN__INSERTABLE = eINSTANCE.getXmlBaseColumn_Insertable(); + + /** + * The meta object literal for the '<em><b>Nullable</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_BASE_COLUMN__NULLABLE = eINSTANCE.getXmlBaseColumn_Nullable(); + + /** + * The meta object literal for the '<em><b>Table</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_BASE_COLUMN__TABLE = eINSTANCE.getXmlBaseColumn_Table(); + + /** + * The meta object literal for the '<em><b>Unique</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_BASE_COLUMN__UNIQUE = eINSTANCE.getXmlBaseColumn_Unique(); + + /** + * The meta object literal for the '<em><b>Updatable</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_BASE_COLUMN__UPDATABLE = eINSTANCE.getXmlBaseColumn_Updatable(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn <em>Abstract Xml Base Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlBaseColumn() + * @generated + */ + public static final EClass ABSTRACT_XML_BASE_COLUMN = eINSTANCE.getAbstractXmlBaseColumn(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn <em>Abstract Xml Base Discriminator Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlBaseDiscriminatorColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlBaseDiscriminatorColumn() + * @generated + */ + public static final EClass ABSTRACT_XML_BASE_DISCRIMINATOR_COLUMN = eINSTANCE.getAbstractXmlBaseDiscriminatorColumn(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlEmbedded <em>Abstract Xml Embedded</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlEmbedded + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlEmbedded() + * @generated + */ + public static final EClass ABSTRACT_XML_EMBEDDED = eINSTANCE.getAbstractXmlEmbedded(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping <em>Abstract Xml Multi Relationship Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlMultiRelationshipMapping() + * @generated + */ + public static final EClass ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING = eINSTANCE.getAbstractXmlMultiRelationshipMapping(); + + /** + * The meta object literal for the '<em><b>Map Key</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY = eINSTANCE.getAbstractXmlMultiRelationshipMapping_MapKey(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn <em>Xml Named Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedColumn() + * @generated + */ + public static final EClass XML_NAMED_COLUMN = eINSTANCE.getXmlNamedColumn(); + + /** + * The meta object literal for the '<em><b>Column Definition</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_NAMED_COLUMN__COLUMN_DEFINITION = eINSTANCE.getXmlNamedColumn_ColumnDefinition(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_NAMED_COLUMN__NAME = eINSTANCE.getXmlNamedColumn_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn <em>Xml Base Discriminator Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn() + * @generated + */ + public static final EClass XML_BASE_DISCRIMINATOR_COLUMN = eINSTANCE.getXmlBaseDiscriminatorColumn(); + + /** + * The meta object literal for the '<em><b>Discriminator Type</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_BASE_DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE = eINSTANCE.getXmlBaseDiscriminatorColumn_DiscriminatorType(); + + /** + * The meta object literal for the '<em><b>Length</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_BASE_DISCRIMINATOR_COLUMN__LENGTH = eINSTANCE.getXmlBaseDiscriminatorColumn_Length(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn <em>Xml Base Join Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseJoinColumn() + * @generated + */ + public static final EClass XML_BASE_JOIN_COLUMN = eINSTANCE.getXmlBaseJoinColumn(); + + /** + * The meta object literal for the '<em><b>Referenced Column Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_BASE_JOIN_COLUMN__REFERENCED_COLUMN_NAME = eINSTANCE.getXmlBaseJoinColumn_ReferencedColumnName(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlNamedColumn <em>Abstract Xml Named Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlNamedColumn + * @see org.eclipse.jpt.jpa.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.jpa.core.resource.orm.AbstractXmlRelationshipMapping <em>Abstract Xml Relationship Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlRelationshipMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlRelationshipMapping() + * @generated + */ + public static final EClass ABSTRACT_XML_RELATIONSHIP_MAPPING = eINSTANCE.getAbstractXmlRelationshipMapping(); + + /** + * The meta object literal for the '<em><b>Target Entity</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute ABSTRACT_XML_RELATIONSHIP_MAPPING__TARGET_ENTITY = eINSTANCE.getAbstractXmlRelationshipMapping_TargetEntity(); + + /** + * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute ABSTRACT_XML_RELATIONSHIP_MAPPING__FETCH = eINSTANCE.getAbstractXmlRelationshipMapping_Fetch(); + + /** + * The meta object literal for the '<em><b>Cascade</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ABSTRACT_XML_RELATIONSHIP_MAPPING__CASCADE = eINSTANCE.getAbstractXmlRelationshipMapping_Cascade(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping <em>Abstract Xml Single Relationship Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlSingleRelationshipMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlSingleRelationshipMapping() + * @generated + */ + public static final EClass ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING = eINSTANCE.getAbstractXmlSingleRelationshipMapping(); + + /** + * The meta object literal for the '<em><b>Optional</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute ABSTRACT_XML_SINGLE_RELATIONSHIP_MAPPING__OPTIONAL = eINSTANCE.getAbstractXmlSingleRelationshipMapping_Optional(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable <em>Abstract Xml Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTable() + * @generated + */ + public static final EClass ABSTRACT_XML_TABLE = eINSTANCE.getAbstractXmlTable(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute ABSTRACT_XML_TABLE__NAME = eINSTANCE.getAbstractXmlTable_Name(); + + /** + * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute ABSTRACT_XML_TABLE__CATALOG = eINSTANCE.getAbstractXmlTable_Catalog(); + + /** + * The meta object literal for the '<em><b>Schema</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute ABSTRACT_XML_TABLE__SCHEMA = eINSTANCE.getAbstractXmlTable_Schema(); + + /** + * The meta object literal for the '<em><b>Unique Constraints</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ABSTRACT_XML_TABLE__UNIQUE_CONSTRAINTS = eINSTANCE.getAbstractXmlTable_UniqueConstraints(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping <em>Abstract Xml Type Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlTypeMapping() + * @generated + */ + public static final EClass ABSTRACT_XML_TYPE_MAPPING = eINSTANCE.getAbstractXmlTypeMapping(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder <em>Xml Access Holder</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder() + * @generated + */ + public static final EClass XML_ACCESS_HOLDER = eINSTANCE.getXmlAccessHolder(); + + /** + * The meta object literal for the '<em><b>Access</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ACCESS_HOLDER__ACCESS = eINSTANCE.getXmlAccessHolder_Access(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping <em>Xml Attribute Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeMapping() + * @generated + */ + public static final EClass XML_ATTRIBUTE_MAPPING = eINSTANCE.getXmlAttributeMapping(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ATTRIBUTE_MAPPING__NAME = eINSTANCE.getXmlAttributeMapping_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride <em>Xml Association Override</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverride() + * @generated + */ + public static final EClass XML_ASSOCIATION_OVERRIDE = eINSTANCE.getXmlAssociationOverride(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer <em>Xml Association Override Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer() + * @generated + */ + public static final EClass XML_ASSOCIATION_OVERRIDE_CONTAINER = eINSTANCE.getXmlAssociationOverrideContainer(); + + /** + * The meta object literal for the '<em><b>Association Overrides</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES = eINSTANCE.getXmlAssociationOverrideContainer_AssociationOverrides(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride <em>Xml Attribute Override</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverride() + * @generated + */ + public static final EClass XML_ATTRIBUTE_OVERRIDE = eINSTANCE.getXmlAttributeOverride(); + + /** + * The meta object literal for the '<em><b>Column</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ATTRIBUTE_OVERRIDE__COLUMN = eINSTANCE.getXmlAttributeOverride_Column(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer <em>Xml Attribute Override Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer() + * @generated + */ + public static final EClass XML_ATTRIBUTE_OVERRIDE_CONTAINER = eINSTANCE.getXmlAttributeOverrideContainer(); + + /** + * The meta object literal for the '<em><b>Attribute Overrides</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES = eINSTANCE.getXmlAttributeOverrideContainer_AttributeOverrides(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.Attributes <em>Attributes</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.Attributes + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAttributes() + * @generated + */ + public static final EClass ATTRIBUTES = eINSTANCE.getAttributes(); + + /** + * The meta object literal for the '<em><b>Ids</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ATTRIBUTES__IDS = eINSTANCE.getAttributes_Ids(); + + /** + * The meta object literal for the '<em><b>Embedded Ids</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ATTRIBUTES__EMBEDDED_IDS = eINSTANCE.getAttributes_EmbeddedIds(); + + /** + * The meta object literal for the '<em><b>Basics</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ATTRIBUTES__BASICS = eINSTANCE.getAttributes_Basics(); + + /** + * The meta object literal for the '<em><b>Versions</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ATTRIBUTES__VERSIONS = eINSTANCE.getAttributes_Versions(); + + /** + * The meta object literal for the '<em><b>Many To Ones</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ATTRIBUTES__MANY_TO_ONES = eINSTANCE.getAttributes_ManyToOnes(); + + /** + * The meta object literal for the '<em><b>One To Manys</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ATTRIBUTES__ONE_TO_MANYS = eINSTANCE.getAttributes_OneToManys(); + + /** + * The meta object literal for the '<em><b>One To Ones</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ATTRIBUTES__ONE_TO_ONES = eINSTANCE.getAttributes_OneToOnes(); + + /** + * The meta object literal for the '<em><b>Many To Manys</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ATTRIBUTES__MANY_TO_MANYS = eINSTANCE.getAttributes_ManyToManys(); + + /** + * The meta object literal for the '<em><b>Embeddeds</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ATTRIBUTES__EMBEDDEDS = eINSTANCE.getAttributes_Embeddeds(); + + /** + * The meta object literal for the '<em><b>Transients</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ATTRIBUTES__TRANSIENTS = eINSTANCE.getAttributes_Transients(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic <em>Xml Basic</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlBasic + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBasic() + * @generated + */ + public static final EClass XML_BASIC = eINSTANCE.getXmlBasic(); + + /** + * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_BASIC__FETCH = eINSTANCE.getXmlBasic_Fetch(); + + /** + * The meta object literal for the '<em><b>Optional</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_BASIC__OPTIONAL = eINSTANCE.getXmlBasic_Optional(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.CascadeType <em>Cascade Type</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.CascadeType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getCascadeType() + * @generated + */ + public static final EClass CASCADE_TYPE = eINSTANCE.getCascadeType(); + + /** + * The meta object literal for the '<em><b>Cascade All</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute CASCADE_TYPE__CASCADE_ALL = eINSTANCE.getCascadeType_CascadeAll(); + + /** + * The meta object literal for the '<em><b>Cascade Persist</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute CASCADE_TYPE__CASCADE_PERSIST = eINSTANCE.getCascadeType_CascadePersist(); + + /** + * The meta object literal for the '<em><b>Cascade Merge</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute CASCADE_TYPE__CASCADE_MERGE = eINSTANCE.getCascadeType_CascadeMerge(); + + /** + * The meta object literal for the '<em><b>Cascade Remove</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute CASCADE_TYPE__CASCADE_REMOVE = eINSTANCE.getCascadeType_CascadeRemove(); + + /** + * The meta object literal for the '<em><b>Cascade Refresh</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute CASCADE_TYPE__CASCADE_REFRESH = eINSTANCE.getCascadeType_CascadeRefresh(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference <em>Xml Class Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlClassReference() + * @generated + */ + public static final EClass XML_CLASS_REFERENCE = eINSTANCE.getXmlClassReference(); + + /** + * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_CLASS_REFERENCE__CLASS_NAME = eINSTANCE.getXmlClassReference_ClassName(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable <em>Xml Collection Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlCollectionTable() + * @generated + */ + public static final EClass XML_COLLECTION_TABLE = eINSTANCE.getXmlCollectionTable(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn <em>Xml Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlColumn() + * @generated + */ + public static final EClass XML_COLUMN = eINSTANCE.getXmlColumn(); + + /** + * The meta object literal for the '<em><b>Length</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_COLUMN__LENGTH = eINSTANCE.getXmlColumn_Length(); + + /** + * The meta object literal for the '<em><b>Precision</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_COLUMN__PRECISION = eINSTANCE.getXmlColumn_Precision(); + + /** + * The meta object literal for the '<em><b>Scale</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_COLUMN__SCALE = eINSTANCE.getXmlColumn_Scale(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping <em>Column Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnMapping() + * @generated + */ + public static final EClass COLUMN_MAPPING = eINSTANCE.getColumnMapping(); + + /** + * The meta object literal for the '<em><b>Column</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference COLUMN_MAPPING__COLUMN = eINSTANCE.getColumnMapping_Column(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.ColumnResult <em>Column Result</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.ColumnResult + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getColumnResult() + * @generated + */ + public static final EClass COLUMN_RESULT = eINSTANCE.getColumnResult(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute COLUMN_RESULT__NAME = eINSTANCE.getColumnResult_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping <em>Xml Convertible Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping() + * @generated + */ + public static final EClass XML_CONVERTIBLE_MAPPING = eINSTANCE.getXmlConvertibleMapping(); + + /** + * The meta object literal for the '<em><b>Lob</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_CONVERTIBLE_MAPPING__LOB = eINSTANCE.getXmlConvertibleMapping_Lob(); + + /** + * The meta object literal for the '<em><b>Temporal</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_CONVERTIBLE_MAPPING__TEMPORAL = eINSTANCE.getXmlConvertibleMapping_Temporal(); + + /** + * The meta object literal for the '<em><b>Enumerated</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_CONVERTIBLE_MAPPING__ENUMERATED = eINSTANCE.getXmlConvertibleMapping_Enumerated(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlDiscriminatorColumn <em>Xml Discriminator Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlDiscriminatorColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlDiscriminatorColumn() + * @generated + */ + public static final EClass XML_DISCRIMINATOR_COLUMN = eINSTANCE.getXmlDiscriminatorColumn(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection <em>Xml Element Collection</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection() + * @generated + */ + public static final EClass XML_ELEMENT_COLLECTION = eINSTANCE.getXmlElementCollection(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable <em>Xml Embeddable</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbeddable() + * @generated + */ + public static final EClass XML_EMBEDDABLE = eINSTANCE.getXmlEmbeddable(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded <em>Xml Embedded</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedded + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbedded() + * @generated + */ + public static final EClass XML_EMBEDDED = eINSTANCE.getXmlEmbedded(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId <em>Xml Embedded Id</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddedId + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbeddedId() + * @generated + */ + public static final EClass XML_EMBEDDED_ID = eINSTANCE.getXmlEmbeddedId(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity <em>Xml Entity</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntity + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity() + * @generated + */ + public static final EClass XML_ENTITY = eINSTANCE.getXmlEntity(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ENTITY__NAME = eINSTANCE.getXmlEntity_Name(); + + /** + * The meta object literal for the '<em><b>Table</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY__TABLE = eINSTANCE.getXmlEntity_Table(); + + /** + * The meta object literal for the '<em><b>Secondary Tables</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY__SECONDARY_TABLES = eINSTANCE.getXmlEntity_SecondaryTables(); + + /** + * The meta object literal for the '<em><b>Primary Key Join Columns</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS = eINSTANCE.getXmlEntity_PrimaryKeyJoinColumns(); + + /** + * The meta object literal for the '<em><b>Inheritance</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY__INHERITANCE = eINSTANCE.getXmlEntity_Inheritance(); + + /** + * The meta object literal for the '<em><b>Discriminator Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ENTITY__DISCRIMINATOR_VALUE = eINSTANCE.getXmlEntity_DiscriminatorValue(); + + /** + * The meta object literal for the '<em><b>Discriminator Column</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY__DISCRIMINATOR_COLUMN = eINSTANCE.getXmlEntity_DiscriminatorColumn(); + + /** + * The meta object literal for the '<em><b>Sql Result Set Mappings</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY__SQL_RESULT_SET_MAPPINGS = eINSTANCE.getXmlEntity_SqlResultSetMappings(); + + /** + * The meta object literal for the '<em><b>Exclude Default Listeners</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS = eINSTANCE.getXmlEntity_ExcludeDefaultListeners(); + + /** + * The meta object literal for the '<em><b>Exclude Superclass Listeners</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS = eINSTANCE.getXmlEntity_ExcludeSuperclassListeners(); + + /** + * The meta object literal for the '<em><b>Entity Listeners</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY__ENTITY_LISTENERS = eINSTANCE.getXmlEntity_EntityListeners(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListener <em>Entity Listener</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListener + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListener() + * @generated + */ + public static final EClass ENTITY_LISTENER = eINSTANCE.getEntityListener(); + + /** + * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute ENTITY_LISTENER__CLASS_NAME = eINSTANCE.getEntityListener_ClassName(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityListeners <em>Entity Listeners</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityListeners + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityListeners() + * @generated + */ + public static final EClass ENTITY_LISTENERS = eINSTANCE.getEntityListeners(); + + /** + * The meta object literal for the '<em><b>Entity Listeners</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ENTITY_LISTENERS__ENTITY_LISTENERS = eINSTANCE.getEntityListeners_EntityListeners(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings <em>Xml Entity Mappings</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings() + * @generated + */ + public static final EClass XML_ENTITY_MAPPINGS = eINSTANCE.getXmlEntityMappings(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ENTITY_MAPPINGS__DESCRIPTION = eINSTANCE.getXmlEntityMappings_Description(); + + /** + * The meta object literal for the '<em><b>Persistence Unit Metadata</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA = eINSTANCE.getXmlEntityMappings_PersistenceUnitMetadata(); + + /** + * The meta object literal for the '<em><b>Package</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ENTITY_MAPPINGS__PACKAGE = eINSTANCE.getXmlEntityMappings_Package(); + + /** + * The meta object literal for the '<em><b>Schema</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ENTITY_MAPPINGS__SCHEMA = eINSTANCE.getXmlEntityMappings_Schema(); + + /** + * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ENTITY_MAPPINGS__CATALOG = eINSTANCE.getXmlEntityMappings_Catalog(); + + /** + * The meta object literal for the '<em><b>Sequence Generators</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS = eINSTANCE.getXmlEntityMappings_SequenceGenerators(); + + /** + * The meta object literal for the '<em><b>Table Generators</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY_MAPPINGS__TABLE_GENERATORS = eINSTANCE.getXmlEntityMappings_TableGenerators(); + + /** + * The meta object literal for the '<em><b>Sql Result Set Mappings</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS = eINSTANCE.getXmlEntityMappings_SqlResultSetMappings(); + + /** + * The meta object literal for the '<em><b>Mapped Superclasses</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES = eINSTANCE.getXmlEntityMappings_MappedSuperclasses(); + + /** + * The meta object literal for the '<em><b>Entities</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY_MAPPINGS__ENTITIES = eINSTANCE.getXmlEntityMappings_Entities(); + + /** + * The meta object literal for the '<em><b>Embeddables</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ENTITY_MAPPINGS__EMBEDDABLES = eINSTANCE.getXmlEntityMappings_Embeddables(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult <em>Entity Result</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.EntityResult + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEntityResult() + * @generated + */ + public static final EClass ENTITY_RESULT = eINSTANCE.getEntityResult(); + + /** + * The meta object literal for the '<em><b>Discriminator Column</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute ENTITY_RESULT__DISCRIMINATOR_COLUMN = eINSTANCE.getEntityResult_DiscriminatorColumn(); + + /** + * The meta object literal for the '<em><b>Entity Class</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute ENTITY_RESULT__ENTITY_CLASS = eINSTANCE.getEntityResult_EntityClass(); + + /** + * The meta object literal for the '<em><b>Field Results</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference ENTITY_RESULT__FIELD_RESULTS = eINSTANCE.getEntityResult_FieldResults(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EventMethod <em>Event Method</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.EventMethod + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEventMethod() + * @generated + */ + public static final EClass EVENT_METHOD = eINSTANCE.getEventMethod(); + + /** + * The meta object literal for the '<em><b>Method Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute EVENT_METHOD__METHOD_NAME = eINSTANCE.getEventMethod_MethodName(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer <em>Xml Event Method Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer() + * @generated + */ + public static final EClass XML_EVENT_METHOD_CONTAINER = eINSTANCE.getXmlEventMethodContainer(); + + /** + * The meta object literal for the '<em><b>Pre Persist</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_EVENT_METHOD_CONTAINER__PRE_PERSIST = eINSTANCE.getXmlEventMethodContainer_PrePersist(); + + /** + * The meta object literal for the '<em><b>Post Persist</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_EVENT_METHOD_CONTAINER__POST_PERSIST = eINSTANCE.getXmlEventMethodContainer_PostPersist(); + + /** + * The meta object literal for the '<em><b>Pre Remove</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_EVENT_METHOD_CONTAINER__PRE_REMOVE = eINSTANCE.getXmlEventMethodContainer_PreRemove(); + + /** + * The meta object literal for the '<em><b>Post Remove</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_EVENT_METHOD_CONTAINER__POST_REMOVE = eINSTANCE.getXmlEventMethodContainer_PostRemove(); + + /** + * The meta object literal for the '<em><b>Pre Update</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_EVENT_METHOD_CONTAINER__PRE_UPDATE = eINSTANCE.getXmlEventMethodContainer_PreUpdate(); + + /** + * The meta object literal for the '<em><b>Post Update</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_EVENT_METHOD_CONTAINER__POST_UPDATE = eINSTANCE.getXmlEventMethodContainer_PostUpdate(); + + /** + * The meta object literal for the '<em><b>Post Load</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_EVENT_METHOD_CONTAINER__POST_LOAD = eINSTANCE.getXmlEventMethodContainer_PostLoad(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.FieldResult <em>Field Result</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.FieldResult + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getFieldResult() + * @generated + */ + public static final EClass FIELD_RESULT = eINSTANCE.getFieldResult(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute FIELD_RESULT__NAME = eINSTANCE.getFieldResult_Name(); + + /** + * The meta object literal for the '<em><b>Column</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute FIELD_RESULT__COLUMN = eINSTANCE.getFieldResult_Column(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue <em>Xml Generated Value</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratedValue() + * @generated + */ + public static final EClass XML_GENERATED_VALUE = eINSTANCE.getXmlGeneratedValue(); + + /** + * The meta object literal for the '<em><b>Generator</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_GENERATED_VALUE__GENERATOR = eINSTANCE.getXmlGeneratedValue_Generator(); + + /** + * The meta object literal for the '<em><b>Strategy</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_GENERATED_VALUE__STRATEGY = eINSTANCE.getXmlGeneratedValue_Strategy(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator <em>Xml Generator</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator() + * @generated + */ + public static final EClass XML_GENERATOR = eINSTANCE.getXmlGenerator(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_GENERATOR__NAME = eINSTANCE.getXmlGenerator_Name(); + + /** + * The meta object literal for the '<em><b>Initial Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_GENERATOR__INITIAL_VALUE = eINSTANCE.getXmlGenerator_InitialValue(); + + /** + * The meta object literal for the '<em><b>Allocation Size</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_GENERATOR__ALLOCATION_SIZE = eINSTANCE.getXmlGenerator_AllocationSize(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer <em>Xml Generator Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer() + * @generated + */ + public static final EClass XML_GENERATOR_CONTAINER = eINSTANCE.getXmlGeneratorContainer(); + + /** + * The meta object literal for the '<em><b>Sequence Generator</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR = eINSTANCE.getXmlGeneratorContainer_SequenceGenerator(); + + /** + * The meta object literal for the '<em><b>Table Generator</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_GENERATOR_CONTAINER__TABLE_GENERATOR = eINSTANCE.getXmlGeneratorContainer_TableGenerator(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlId <em>Xml Id</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlId + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlId() + * @generated + */ + public static final EClass XML_ID = eINSTANCE.getXmlId(); + + /** + * The meta object literal for the '<em><b>Generated Value</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ID__GENERATED_VALUE = eINSTANCE.getXmlId_GeneratedValue(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer <em>Xml Id Class Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlIdClassContainer() + * @generated + */ + public static final EClass XML_ID_CLASS_CONTAINER = eINSTANCE.getXmlIdClassContainer(); + + /** + * The meta object literal for the '<em><b>Id Class</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ID_CLASS_CONTAINER__ID_CLASS = eINSTANCE.getXmlIdClassContainer_IdClass(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.Inheritance <em>Inheritance</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.Inheritance + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getInheritance() + * @generated + */ + public static final EClass INHERITANCE = eINSTANCE.getInheritance(); + + /** + * The meta object literal for the '<em><b>Strategy</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute INHERITANCE__STRATEGY = eINSTANCE.getInheritance_Strategy(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn <em>Xml Join Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumn() + * @generated + */ + public static final EClass XML_JOIN_COLUMN = eINSTANCE.getXmlJoinColumn(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer <em>Xml Join Column Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer() + * @generated + */ + public static final EClass XML_JOIN_COLUMN_CONTAINER = eINSTANCE.getXmlJoinColumnContainer(); + + /** + * The meta object literal for the '<em><b>Join Columns</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS = eINSTANCE.getXmlJoinColumnContainer_JoinColumns(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable <em>Xml Join Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTable() + * @generated + */ + public static final EClass XML_JOIN_TABLE = eINSTANCE.getXmlJoinTable(); + + /** + * The meta object literal for the '<em><b>Inverse Join Columns</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS = eINSTANCE.getXmlJoinTable_InverseJoinColumns(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer <em>Xml Join Table Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer() + * @generated + */ + public static final EClass XML_JOIN_TABLE_CONTAINER = eINSTANCE.getXmlJoinTableContainer(); + + /** + * The meta object literal for the '<em><b>Join Table</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_JOIN_TABLE_CONTAINER__JOIN_TABLE = eINSTANCE.getXmlJoinTableContainer_JoinTable(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.Lob <em>Lob</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.Lob + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getLob() + * @generated + */ + public static final EClass LOB = eINSTANCE.getLob(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany <em>Xml Many To Many</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlManyToMany + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlManyToMany() + * @generated + */ + public static final EClass XML_MANY_TO_MANY = eINSTANCE.getXmlManyToMany(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne <em>Xml Many To One</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlManyToOne + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlManyToOne() + * @generated + */ + public static final EClass XML_MANY_TO_ONE = eINSTANCE.getXmlManyToOne(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.MapKey <em>Map Key</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.MapKey + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getMapKey() + * @generated + */ + public static final EClass MAP_KEY = eINSTANCE.getMapKey(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute MAP_KEY__NAME = eINSTANCE.getMapKey_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping <em>Xml Mapped By Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedByMapping() + * @generated + */ + public static final EClass XML_MAPPED_BY_MAPPING = eINSTANCE.getXmlMappedByMapping(); + + /** + * The meta object literal for the '<em><b>Mapped By</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_MAPPED_BY_MAPPING__MAPPED_BY = eINSTANCE.getXmlMappedByMapping_MappedBy(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass <em>Xml Mapped Superclass</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedSuperclass() + * @generated + */ + public static final EClass XML_MAPPED_SUPERCLASS = eINSTANCE.getXmlMappedSuperclass(); + + /** + * The meta object literal for the '<em><b>Exclude Default Listeners</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS = eINSTANCE.getXmlMappedSuperclass_ExcludeDefaultListeners(); + + /** + * The meta object literal for the '<em><b>Exclude Superclass Listeners</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS = eINSTANCE.getXmlMappedSuperclass_ExcludeSuperclassListeners(); + + /** + * The meta object literal for the '<em><b>Entity Listeners</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS = eINSTANCE.getXmlMappedSuperclass_EntityListeners(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery <em>Xml Named Native Query</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedNativeQuery() + * @generated + */ + public static final EClass XML_NAMED_NATIVE_QUERY = eINSTANCE.getXmlNamedNativeQuery(); + + /** + * The meta object literal for the '<em><b>Result Class</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_NAMED_NATIVE_QUERY__RESULT_CLASS = eINSTANCE.getXmlNamedNativeQuery_ResultClass(); + + /** + * The meta object literal for the '<em><b>Result Set Mapping</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING = eINSTANCE.getXmlNamedNativeQuery_ResultSetMapping(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery <em>Xml Named Query</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedQuery() + * @generated + */ + public static final EClass XML_NAMED_QUERY = eINSTANCE.getXmlNamedQuery(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNullAttributeMapping <em>Xml Null Attribute Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlNullAttributeMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNullAttributeMapping() + * @generated + */ + public static final EClass XML_NULL_ATTRIBUTE_MAPPING = eINSTANCE.getXmlNullAttributeMapping(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany <em>Xml One To Many</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOneToMany() + * @generated + */ + public static final EClass XML_ONE_TO_MANY = eINSTANCE.getXmlOneToMany(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne <em>Xml One To One</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOneToOne() + * @generated + */ + public static final EClass XML_ONE_TO_ONE = eINSTANCE.getXmlOneToOne(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn <em>Xml Order Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderColumn() + * @generated + */ + public static final EClass XML_ORDER_COLUMN = eINSTANCE.getXmlOrderColumn(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOverride <em>Xml Override</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOverride + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOverride() + * @generated + */ + public static final EClass XML_OVERRIDE = eINSTANCE.getXmlOverride(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_OVERRIDE__NAME = eINSTANCE.getXmlOverride_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults <em>Xml Persistence Unit Defaults</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults() + * @generated + */ + public static final EClass XML_PERSISTENCE_UNIT_DEFAULTS = eINSTANCE.getXmlPersistenceUnitDefaults(); + + /** + * The meta object literal for the '<em><b>Schema</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA = eINSTANCE.getXmlPersistenceUnitDefaults_Schema(); + + /** + * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG = eINSTANCE.getXmlPersistenceUnitDefaults_Catalog(); + + /** + * The meta object literal for the '<em><b>Cascade Persist</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST = eINSTANCE.getXmlPersistenceUnitDefaults_CascadePersist(); + + /** + * The meta object literal for the '<em><b>Entity Listeners</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS = eINSTANCE.getXmlPersistenceUnitDefaults_EntityListeners(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata <em>Xml Persistence Unit Metadata</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitMetadata() + * @generated + */ + public static final EClass XML_PERSISTENCE_UNIT_METADATA = eINSTANCE.getXmlPersistenceUnitMetadata(); + + /** + * The meta object literal for the '<em><b>Xml Mapping Metadata Complete</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE = eINSTANCE.getXmlPersistenceUnitMetadata_XmlMappingMetadataComplete(); + + /** + * The meta object literal for the '<em><b>Persistence Unit Defaults</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS = eINSTANCE.getXmlPersistenceUnitMetadata_PersistenceUnitDefaults(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlReferenceTable <em>Abstract Xml Reference Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlReferenceTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getAbstractXmlReferenceTable() + * @generated + */ + public static final EClass ABSTRACT_XML_REFERENCE_TABLE = eINSTANCE.getAbstractXmlReferenceTable(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable <em>Xml Reference Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlReferenceTable() + * @generated + */ + public static final EClass XML_REFERENCE_TABLE = eINSTANCE.getXmlReferenceTable(); + + /** + * The meta object literal for the '<em><b>Join Columns</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_REFERENCE_TABLE__JOIN_COLUMNS = eINSTANCE.getXmlReferenceTable_JoinColumns(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostLoad <em>Post Load</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PostLoad + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostLoad() + * @generated + */ + public static final EClass POST_LOAD = eINSTANCE.getPostLoad(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostPersist <em>Post Persist</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PostPersist + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostPersist() + * @generated + */ + public static final EClass POST_PERSIST = eINSTANCE.getPostPersist(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostRemove <em>Post Remove</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PostRemove + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostRemove() + * @generated + */ + public static final EClass POST_REMOVE = eINSTANCE.getPostRemove(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostUpdate <em>Post Update</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PostUpdate + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostUpdate() + * @generated + */ + public static final EClass POST_UPDATE = eINSTANCE.getPostUpdate(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PrePersist <em>Pre Persist</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PrePersist + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPrePersist() + * @generated + */ + public static final EClass PRE_PERSIST = eINSTANCE.getPrePersist(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PreRemove <em>Pre Remove</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PreRemove + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPreRemove() + * @generated + */ + public static final EClass PRE_REMOVE = eINSTANCE.getPreRemove(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PreUpdate <em>Pre Update</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.PreUpdate + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPreUpdate() + * @generated + */ + public static final EClass PRE_UPDATE = eINSTANCE.getPreUpdate(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn <em>Xml Primary Key Join Column</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumn() + * @generated + */ + public static final EClass XML_PRIMARY_KEY_JOIN_COLUMN = eINSTANCE.getXmlPrimaryKeyJoinColumn(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer <em>Xml Primary Key Join Column Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumnContainer() + * @generated + */ + public static final EClass XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER = eINSTANCE.getXmlPrimaryKeyJoinColumnContainer(); + + /** + * The meta object literal for the '<em><b>Primary Key Join Columns</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER__PRIMARY_KEY_JOIN_COLUMNS = eINSTANCE.getXmlPrimaryKeyJoinColumnContainer_PrimaryKeyJoinColumns(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery <em>Xml Query</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQuery + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery() + * @generated + */ + public static final EClass XML_QUERY = eINSTANCE.getXmlQuery(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_QUERY__NAME = eINSTANCE.getXmlQuery_Name(); + + /** + * The meta object literal for the '<em><b>Query</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_QUERY__QUERY = eINSTANCE.getXmlQuery_Query(); + + /** + * The meta object literal for the '<em><b>Hints</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_QUERY__HINTS = eINSTANCE.getXmlQuery_Hints(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer <em>Xml Query Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer() + * @generated + */ + public static final EClass XML_QUERY_CONTAINER = eINSTANCE.getXmlQueryContainer(); + + /** + * The meta object literal for the '<em><b>Named Queries</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_QUERY_CONTAINER__NAMED_QUERIES = eINSTANCE.getXmlQueryContainer_NamedQueries(); + + /** + * The meta object literal for the '<em><b>Named Native Queries</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES = eINSTANCE.getXmlQueryContainer_NamedNativeQueries(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint <em>Xml Query Hint</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryHint() + * @generated + */ + public static final EClass XML_QUERY_HINT = eINSTANCE.getXmlQueryHint(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_QUERY_HINT__NAME = eINSTANCE.getXmlQueryHint_Name(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_QUERY_HINT__VALUE = eINSTANCE.getXmlQueryHint_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable <em>Xml Secondary Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSecondaryTable() + * @generated + */ + public static final EClass XML_SECONDARY_TABLE = eINSTANCE.getXmlSecondaryTable(); + + /** + * The meta object literal for the '<em><b>Primary Key Join Columns</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS = eINSTANCE.getXmlSecondaryTable_PrimaryKeyJoinColumns(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator <em>Xml Sequence Generator</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSequenceGenerator() + * @generated + */ + public static final EClass XML_SEQUENCE_GENERATOR = eINSTANCE.getXmlSequenceGenerator(); + + /** + * The meta object literal for the '<em><b>Sequence Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_SEQUENCE_GENERATOR__SEQUENCE_NAME = eINSTANCE.getXmlSequenceGenerator_SequenceName(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping <em>Sql Result Set Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getSqlResultSetMapping() + * @generated + */ + public static final EClass SQL_RESULT_SET_MAPPING = eINSTANCE.getSqlResultSetMapping(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute SQL_RESULT_SET_MAPPING__NAME = eINSTANCE.getSqlResultSetMapping_Name(); + + /** + * The meta object literal for the '<em><b>Entity Results</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference SQL_RESULT_SET_MAPPING__ENTITY_RESULTS = eINSTANCE.getSqlResultSetMapping_EntityResults(); + + /** + * The meta object literal for the '<em><b>Column Results</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference SQL_RESULT_SET_MAPPING__COLUMN_RESULTS = eINSTANCE.getSqlResultSetMapping_ColumnResults(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTable <em>Xml Table</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTable() + * @generated + */ + public static final EClass XML_TABLE = eINSTANCE.getXmlTable(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator <em>Xml Table Generator</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator() + * @generated + */ + public static final EClass XML_TABLE_GENERATOR = eINSTANCE.getXmlTableGenerator(); + + /** + * The meta object literal for the '<em><b>Table</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_TABLE_GENERATOR__TABLE = eINSTANCE.getXmlTableGenerator_Table(); + + /** + * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_TABLE_GENERATOR__CATALOG = eINSTANCE.getXmlTableGenerator_Catalog(); + + /** + * The meta object literal for the '<em><b>Schema</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_TABLE_GENERATOR__SCHEMA = eINSTANCE.getXmlTableGenerator_Schema(); + + /** + * The meta object literal for the '<em><b>Pk Column Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_TABLE_GENERATOR__PK_COLUMN_NAME = eINSTANCE.getXmlTableGenerator_PkColumnName(); + + /** + * The meta object literal for the '<em><b>Value Column Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_TABLE_GENERATOR__VALUE_COLUMN_NAME = eINSTANCE.getXmlTableGenerator_ValueColumnName(); + + /** + * The meta object literal for the '<em><b>Pk Column Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_TABLE_GENERATOR__PK_COLUMN_VALUE = eINSTANCE.getXmlTableGenerator_PkColumnValue(); + + /** + * The meta object literal for the '<em><b>Unique Constraints</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS = eINSTANCE.getXmlTableGenerator_UniqueConstraints(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTransient <em>Xml Transient</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTransient + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTransient() + * @generated + */ + public static final EClass XML_TRANSIENT = eINSTANCE.getXmlTransient(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping <em>Xml Type Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping() + * @generated + */ + public static final EClass XML_TYPE_MAPPING = eINSTANCE.getXmlTypeMapping(); + + /** + * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_TYPE_MAPPING__CLASS_NAME = eINSTANCE.getXmlTypeMapping_ClassName(); + + /** + * The meta object literal for the '<em><b>Metadata Complete</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_TYPE_MAPPING__METADATA_COMPLETE = eINSTANCE.getXmlTypeMapping_MetadataComplete(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_TYPE_MAPPING__DESCRIPTION = eINSTANCE.getXmlTypeMapping_Description(); + + /** + * The meta object literal for the '<em><b>Attributes</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_TYPE_MAPPING__ATTRIBUTES = eINSTANCE.getXmlTypeMapping_Attributes(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint <em>Xml Unique Constraint</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlUniqueConstraint() + * @generated + */ + public static final EClass XML_UNIQUE_CONSTRAINT = eINSTANCE.getXmlUniqueConstraint(); + + /** + * The meta object literal for the '<em><b>Column Names</b></em>' attribute list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_UNIQUE_CONSTRAINT__COLUMN_NAMES = eINSTANCE.getXmlUniqueConstraint_ColumnNames(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion <em>Xml Version</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlVersion + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlVersion() + * @generated + */ + public static final EClass XML_VERSION = eINSTANCE.getXmlVersion(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable <em>Xml Orderable</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable() + * @generated + */ + public static final EClass XML_ORDERABLE = eINSTANCE.getXmlOrderable(); + + /** + * The meta object literal for the '<em><b>Order By</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ORDERABLE__ORDER_BY = eINSTANCE.getXmlOrderable_OrderBy(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType <em>Discriminator Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getDiscriminatorType() + * @generated + */ + public static final EEnum DISCRIMINATOR_TYPE = eINSTANCE.getDiscriminatorType(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EnumType <em>Enum Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEnumType() + * @generated + */ + public static final EEnum ENUM_TYPE = eINSTANCE.getEnumType(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.FetchType <em>Fetch Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getFetchType() + * @generated + */ + public static final EEnum FETCH_TYPE = eINSTANCE.getFetchType(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.GenerationType <em>Generation Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.GenerationType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getGenerationType() + * @generated + */ + public static final EEnum GENERATION_TYPE = eINSTANCE.getGenerationType(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.InheritanceType <em>Inheritance Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.InheritanceType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getInheritanceType() + * @generated + */ + public static final EEnum INHERITANCE_TYPE = eINSTANCE.getInheritanceType(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType <em>Temporal Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getTemporalType() + * @generated + */ + public static final EEnum TEMPORAL_TYPE = eINSTANCE.getTemporalType(); + + } + +} //OrmPackage diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostLoad.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostLoad.java new file mode 100644 index 0000000000..9a5af1b685 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostLoad.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Post Load</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.jpa.core.resource.orm.OrmPackage#getPostLoad() + * @model kind="class" + * @generated + */ +public class PostLoad extends EventMethod +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PostLoad() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.POST_LOAD; + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + public static Translator buildTranslator() { + return buildTranslator( + JPA.POST_LOAD, + OrmPackage.eINSTANCE.getXmlEventMethodContainer_PostLoad()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostPersist.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostPersist.java new file mode 100644 index 0000000000..5ce949ab65 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostPersist.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Post Persist</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.jpa.core.resource.orm.OrmPackage#getPostPersist() + * @model kind="class" + * @generated + */ +public class PostPersist extends EventMethod +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PostPersist() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.POST_PERSIST; + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + public static Translator buildTranslator() { + return buildTranslator( + JPA.POST_PERSIST, + OrmPackage.eINSTANCE.getXmlEventMethodContainer_PostPersist()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostRemove.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostRemove.java new file mode 100644 index 0000000000..f85d1507d6 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostRemove.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Post Remove</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.jpa.core.resource.orm.OrmPackage#getPostRemove() + * @model kind="class" + * @generated + */ +public class PostRemove extends EventMethod +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PostRemove() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.POST_REMOVE; + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + public static Translator buildTranslator() { + return buildTranslator( + JPA.POST_REMOVE, + OrmPackage.eINSTANCE.getXmlEventMethodContainer_PostRemove()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostUpdate.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostUpdate.java new file mode 100644 index 0000000000..b6591cac9e --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PostUpdate.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Post Update</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.jpa.core.resource.orm.OrmPackage#getPostUpdate() + * @model kind="class" + * @generated + */ +public class PostUpdate extends EventMethod +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PostUpdate() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.POST_UPDATE; + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + public static Translator buildTranslator() { + return buildTranslator( + JPA.POST_UPDATE, + OrmPackage.eINSTANCE.getXmlEventMethodContainer_PostUpdate()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PrePersist.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PrePersist.java new file mode 100644 index 0000000000..b70cf6c4d7 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PrePersist.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Pre Persist</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.jpa.core.resource.orm.OrmPackage#getPrePersist() + * @model kind="class" + * @generated + */ +public class PrePersist extends EventMethod +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PrePersist() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.PRE_PERSIST; + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + public static Translator buildTranslator() { + return buildTranslator( + JPA.PRE_PERSIST, + OrmPackage.eINSTANCE.getXmlEventMethodContainer_PrePersist()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreRemove.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreRemove.java new file mode 100644 index 0000000000..9bf1e58790 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreRemove.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Pre Remove</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.jpa.core.resource.orm.OrmPackage#getPreRemove() + * @model kind="class" + * @generated + */ +public class PreRemove extends EventMethod +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PreRemove() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.PRE_REMOVE; + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + public static Translator buildTranslator() { + return buildTranslator( + JPA.PRE_REMOVE, + OrmPackage.eINSTANCE.getXmlEventMethodContainer_PreRemove()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreUpdate.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreUpdate.java new file mode 100644 index 0000000000..f3c5ff5dbe --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/PreUpdate.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Pre Update</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.jpa.core.resource.orm.OrmPackage#getPreUpdate() + * @model kind="class" + * @generated + */ +public class PreUpdate extends EventMethod +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PreUpdate() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.PRE_UPDATE; + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + public static Translator buildTranslator() { + return buildTranslator( + JPA.PRE_UPDATE, + OrmPackage.eINSTANCE.getXmlEventMethodContainer_PreUpdate()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/SqlResultSetMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/SqlResultSetMapping.java new file mode 100644 index 0000000000..3b5a694477 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/SqlResultSetMapping.java @@ -0,0 +1,418 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +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.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Sql Result Set Mapping</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.jpa.core.resource.orm.SqlResultSetMapping#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getEntityResults <em>Entity Results</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#getColumnResults <em>Column Results</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getSqlResultSetMapping() + * @model kind="class" + * @generated + */ +public class SqlResultSetMapping extends EBaseObjectImpl implements XmlSqlResultSetMapping_2_0 +{ + /** + * 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 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 cached value of the '{@link #getEntityResults() <em>Entity Results</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEntityResults() + * @generated + * @ordered + */ + protected EList<EntityResult> entityResults; + + /** + * The cached value of the '{@link #getColumnResults() <em>Column Results</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getColumnResults() + * @generated + * @ordered + */ + protected EList<ColumnResult> columnResults; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected SqlResultSetMapping() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.SQL_RESULT_SET_MAPPING; + } + + /** + * 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#getXmlSqlResultSetMapping_2_0_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.SqlResultSetMapping#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.SQL_RESULT_SET_MAPPING__DESCRIPTION, oldDescription, description)); + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getSqlResultSetMapping_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getName() + { + return name; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping#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.SQL_RESULT_SET_MAPPING__NAME, oldName, name)); + } + + /** + * Returns the value of the '<em><b>Entity Results</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.EntityResult}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Entity Results</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Entity Results</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getSqlResultSetMapping_EntityResults() + * @model containment="true" + * @generated + */ + public EList<EntityResult> getEntityResults() + { + if (entityResults == null) + { + entityResults = new EObjectContainmentEList<EntityResult>(EntityResult.class, this, OrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS); + } + return entityResults; + } + + /** + * Returns the value of the '<em><b>Column Results</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.ColumnResult}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Column Results</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Column Results</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getSqlResultSetMapping_ColumnResults() + * @model containment="true" + * @generated + */ + public EList<ColumnResult> getColumnResults() + { + if (columnResults == null) + { + columnResults = new EObjectContainmentEList<ColumnResult>(ColumnResult.class, this, OrmPackage.SQL_RESULT_SET_MAPPING__COLUMN_RESULTS); + } + return columnResults; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS: + return ((InternalEList<?>)getEntityResults()).basicRemove(otherEnd, msgs); + case OrmPackage.SQL_RESULT_SET_MAPPING__COLUMN_RESULTS: + return ((InternalEList<?>)getColumnResults()).basicRemove(otherEnd, 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.SQL_RESULT_SET_MAPPING__DESCRIPTION: + return getDescription(); + case OrmPackage.SQL_RESULT_SET_MAPPING__NAME: + return getName(); + case OrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS: + return getEntityResults(); + case OrmPackage.SQL_RESULT_SET_MAPPING__COLUMN_RESULTS: + return getColumnResults(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.SQL_RESULT_SET_MAPPING__DESCRIPTION: + setDescription((String)newValue); + return; + case OrmPackage.SQL_RESULT_SET_MAPPING__NAME: + setName((String)newValue); + return; + case OrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS: + getEntityResults().clear(); + getEntityResults().addAll((Collection<? extends EntityResult>)newValue); + return; + case OrmPackage.SQL_RESULT_SET_MAPPING__COLUMN_RESULTS: + getColumnResults().clear(); + getColumnResults().addAll((Collection<? extends ColumnResult>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.SQL_RESULT_SET_MAPPING__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case OrmPackage.SQL_RESULT_SET_MAPPING__NAME: + setName(NAME_EDEFAULT); + return; + case OrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS: + getEntityResults().clear(); + return; + case OrmPackage.SQL_RESULT_SET_MAPPING__COLUMN_RESULTS: + getColumnResults().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.SQL_RESULT_SET_MAPPING__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case OrmPackage.SQL_RESULT_SET_MAPPING__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case OrmPackage.SQL_RESULT_SET_MAPPING__ENTITY_RESULTS: + return entityResults != null && !entityResults.isEmpty(); + case OrmPackage.SQL_RESULT_SET_MAPPING__COLUMN_RESULTS: + return columnResults != null && !columnResults.isEmpty(); + } + 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(" (description: "); + result.append(description); + result.append(", name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildDescriptionTranslator(), + buildEntityResultTranslator(), + buildColumnResultTranslator() + }; + } + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getSqlResultSetMapping_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildDescriptionTranslator() { + return new Translator(JPA2_0.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlSqlResultSetMapping_2_0_Description()); + } + + protected static Translator buildEntityResultTranslator() { + return EntityResult.buildTranslator(JPA.ENTITY_RESULT, OrmPackage.eINSTANCE.getSqlResultSetMapping_EntityResults()); + } + + protected static Translator buildColumnResultTranslator() { + return ColumnResult.buildTranslator(JPA.COLUMN_RESULT, OrmPackage.eINSTANCE.getSqlResultSetMapping_ColumnResults()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/TemporalType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/TemporalType.java new file mode 100644 index 0000000000..cd0da47bed --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/TemporalType.java @@ -0,0 +1,262 @@ +/******************************************************************************* + * Copyright (c) 2007, 2008 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.jpa.core.resource.orm; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Temporal Type</b></em>', + * and utility methods for working with them. + * + * 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.jpa.core.resource.orm.OrmPackage#getTemporalType() + * @model + * @generated + */ +public enum TemporalType implements Enumerator +{ + /** + * The '<em><b>DATE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #DATE_VALUE + * @generated + * @ordered + */ + DATE(0, "DATE", "DATE"), + + /** + * The '<em><b>TIME</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #TIME_VALUE + * @generated + * @ordered + */ + TIME(1, "TIME", "TIME"), + + /** + * The '<em><b>TIMESTAMP</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #TIMESTAMP_VALUE + * @generated + * @ordered + */ + TIMESTAMP(2, "TIMESTAMP", "TIMESTAMP"); + + /** + * The '<em><b>DATE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>DATE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #DATE + * @model + * @generated + * @ordered + */ + public static final int DATE_VALUE = 0; + + /** + * The '<em><b>TIME</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>TIME</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #TIME + * @model + * @generated + * @ordered + */ + public static final int TIME_VALUE = 1; + + /** + * The '<em><b>TIMESTAMP</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>TIMESTAMP</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #TIMESTAMP + * @model + * @generated + * @ordered + */ + public static final int TIMESTAMP_VALUE = 2; + + /** + * An array of all the '<em><b>Temporal Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final TemporalType[] VALUES_ARRAY = + new TemporalType[] + { + DATE, + TIME, + TIMESTAMP, + }; + + /** + * A public read-only list of all the '<em><b>Temporal Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<TemporalType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Temporal Type</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static TemporalType get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + TemporalType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Temporal Type</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static TemporalType getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + TemporalType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Temporal Type</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static TemporalType get(int value) + { + switch (value) + { + case DATE_VALUE: return DATE; + case TIME_VALUE: return TIME; + case TIMESTAMP_VALUE: return TIMESTAMP; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private TemporalType(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //TemporalType diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAccessHolder.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAccessHolder.java new file mode 100644 index 0000000000..cbaf007bae --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAccessHolder.java @@ -0,0 +1,65 @@ +/******************************************************************************* + * Copyright (c) 2009, 2012 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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Access Holder</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.jpa.core.resource.orm.XmlAccessHolder#getAccess <em>Access</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlAccessHolder extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Access</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Access</em>' attribute. + * @see #setAccess(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder_Access() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getAccess(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder#getAccess <em>Access</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Access</em>' attribute. + * @see #getAccess() + * @generated + */ + void setAccess(String value); + +} // XmlAccessHolder diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverride.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverride.java new file mode 100644 index 0000000000..b5117c4b61 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverride.java @@ -0,0 +1,531 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +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.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Association Override Impl</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.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverride() + * @model kind="class" + * @generated + */ +public class XmlAssociationOverride extends EBaseObjectImpl implements XmlOverride, XmlJoinColumnContainer, XmlAssociationOverride_2_0 +{ + /** + * 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 cached value of the '{@link #getJoinColumns() <em>Join Columns</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getJoinColumns() + * @generated + * @ordered + */ + protected EList<XmlJoinColumn> joinColumns; + + /** + * The cached value of the '{@link #getJoinTable() <em>Join Table</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getJoinTable() + * @generated + * @ordered + */ + protected XmlJoinTable joinTable; + + /** + * 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; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlAssociationOverride() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_ASSOCIATION_OVERRIDE; + } + + /** + * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer_JoinColumns() + * @model containment="true" + * @generated + */ + public EList<XmlJoinColumn> getJoinColumns() + { + if (joinColumns == null) + { + joinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS); + } + return joinColumns; + } + + /** + * 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#getXmlAssociationOverride_2_0_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.XmlAssociationOverride#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.XML_ASSOCIATION_OVERRIDE__DESCRIPTION, oldDescription, description)); + } + + /** + * Returns the value of the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Join Table</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>Join Table</em>' containment reference. + * @see #setJoinTable(XmlJoinTable) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer_JoinTable() + * @model containment="true" + * @generated + */ + public XmlJoinTable getJoinTable() + { + return joinTable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetJoinTable(XmlJoinTable newJoinTable, NotificationChain msgs) + { + XmlJoinTable oldJoinTable = joinTable; + joinTable = newJoinTable; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE, oldJoinTable, newJoinTable); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride#getJoinTable <em>Join Table</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Join Table</em>' containment reference. + * @see #getJoinTable() + * @generated + */ + public void setJoinTable(XmlJoinTable newJoinTable) + { + if (newJoinTable != joinTable) + { + NotificationChain msgs = null; + if (joinTable != null) + msgs = ((InternalEObject)joinTable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE, null, msgs); + if (newJoinTable != null) + msgs = ((InternalEObject)newJoinTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE, null, msgs); + msgs = basicSetJoinTable(newJoinTable, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE, newJoinTable, newJoinTable)); + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlOverride_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getName() + { + return name; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride#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_ASSOCIATION_OVERRIDE__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS: + return ((InternalEList<?>)getJoinColumns()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE: + return basicSetJoinTable(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_ASSOCIATION_OVERRIDE__NAME: + return getName(); + case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS: + return getJoinColumns(); + case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE: + return getJoinTable(); + case OrmPackage.XML_ASSOCIATION_OVERRIDE__DESCRIPTION: + return getDescription(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.XML_ASSOCIATION_OVERRIDE__NAME: + setName((String)newValue); + return; + case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS: + getJoinColumns().clear(); + getJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue); + return; + case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE: + setJoinTable((XmlJoinTable)newValue); + return; + case OrmPackage.XML_ASSOCIATION_OVERRIDE__DESCRIPTION: + setDescription((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ASSOCIATION_OVERRIDE__NAME: + setName(NAME_EDEFAULT); + return; + case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS: + getJoinColumns().clear(); + return; + case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE: + setJoinTable((XmlJoinTable)null); + return; + case OrmPackage.XML_ASSOCIATION_OVERRIDE__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ASSOCIATION_OVERRIDE__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS: + return joinColumns != null && !joinColumns.isEmpty(); + case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE: + return joinTable != null; + case OrmPackage.XML_ASSOCIATION_OVERRIDE__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlJoinColumnContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS: return OrmPackage.XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS; + default: return -1; + } + } + if (baseClass == XmlJoinTableContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE: return OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE; + default: return -1; + } + } + if (baseClass == XmlAssociationOverride_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ASSOCIATION_OVERRIDE__DESCRIPTION: return OrmV2_0Package.XML_ASSOCIATION_OVERRIDE_20__DESCRIPTION; + 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 == XmlJoinColumnContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS: return OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_COLUMNS; + default: return -1; + } + } + if (baseClass == XmlJoinTableContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE: return OrmPackage.XML_ASSOCIATION_OVERRIDE__JOIN_TABLE; + default: return -1; + } + } + if (baseClass == XmlAssociationOverride_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_ASSOCIATION_OVERRIDE_20__DESCRIPTION: return OrmPackage.XML_ASSOCIATION_OVERRIDE__DESCRIPTION; + 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(" (name: "); + result.append(name); + result.append(", description: "); + result.append(description); + result.append(')'); + return result.toString(); + } + + public TextRange getNameTextRange() { + return getAttributeTextRange(JPA.NAME); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildDescriptionTranslator(), + buildJoinColumnTranslator(), + buildJoinTableTranslator() + }; + } + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlOverride_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildDescriptionTranslator() { + return new Translator(JPA.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlAssociationOverride_2_0_Description()); + } + + protected static Translator buildJoinColumnTranslator() { + return XmlJoinColumn.buildTranslator(JPA.JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlJoinColumnContainer_JoinColumns()); + } + + protected static Translator buildJoinTableTranslator() { + return XmlJoinTable.buildTranslator(JPA.JOIN_TABLE, OrmPackage.eINSTANCE.getXmlJoinTableContainer_JoinTable()); + } + + // ************ content assist *********** + public TextRange getNameTextCodeAssistRange() { + return getAttributeCodeAssistTextRange(JPA.NAME); + } + + public boolean nameTouches(int pos) { + TextRange textRange = this.getNameTextCodeAssistRange(); + return (textRange != null) && (textRange.touches(pos)); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverrideContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverrideContainer.java new file mode 100644 index 0000000000..a701897ec5 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAssociationOverrideContainer.java @@ -0,0 +1,57 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Association Override Container</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.jpa.core.resource.orm.XmlAssociationOverrideContainer#getAssociationOverrides <em>Association Overrides</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlAssociationOverrideContainer extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Association Overrides</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Association Overrides</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Association Overrides</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer_AssociationOverrides() + * @model containment="true" + * @generated + */ + EList<XmlAssociationOverride> getAssociationOverrides(); + +} // XmlAssociationOverrideContainer diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeMapping.java new file mode 100644 index 0000000000..a2afd84ad4 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeMapping.java @@ -0,0 +1,71 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Attribute Mapping</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.jpa.core.resource.orm.XmlAttributeMapping#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeMapping() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlAttributeMapping extends XmlAttributeMapping_2_0 +{ + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlAttributeMapping_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping#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 + */ + void setName(String value); + + TextRange getNameTextRange(); + + //TODO unsure about this api, might change soon + String getMappingKey(); + + boolean nameTouches(int pos); +} // XmlAttributeMapping diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverride.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverride.java new file mode 100644 index 0000000000..b5a8e5b475 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverride.java @@ -0,0 +1,451 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.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.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Attribute Override</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.jpa.core.resource.orm.XmlAttributeOverride#getColumn <em>Column</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverride() + * @model kind="class" + * @generated + */ +public class XmlAttributeOverride extends EBaseObjectImpl implements XmlOverride, XmlAttributeOverride_2_0 +{ + /** + * 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 #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 #getColumn() <em>Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getColumn() + * @generated + * @ordered + */ + protected XmlColumn column; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlAttributeOverride() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_ATTRIBUTE_OVERRIDE; + } + + /** + * 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#getXmlAttributeOverride_2_0_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.XmlAttributeOverride#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.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION, oldDescription, description)); + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverride_Column() + * @model containment="true" required="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_ATTRIBUTE_OVERRIDE__COLUMN, oldColumn, newColumn); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride#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_ATTRIBUTE_OVERRIDE__COLUMN, null, msgs); + if (newColumn != null) + msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN, null, msgs); + msgs = basicSetColumn(newColumn, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN, newColumn, newColumn)); + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlOverride_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getName() + { + return name; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride#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_ATTRIBUTE_OVERRIDE__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN: + return basicSetColumn(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_ATTRIBUTE_OVERRIDE__NAME: + return getName(); + case OrmPackage.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION: + return getDescription(); + case OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN: + return getColumn(); + } + 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_ATTRIBUTE_OVERRIDE__NAME: + setName((String)newValue); + return; + case OrmPackage.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION: + setDescription((String)newValue); + return; + case OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN: + setColumn((XmlColumn)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ATTRIBUTE_OVERRIDE__NAME: + setName(NAME_EDEFAULT); + return; + case OrmPackage.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN: + setColumn((XmlColumn)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ATTRIBUTE_OVERRIDE__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case OrmPackage.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case OrmPackage.XML_ATTRIBUTE_OVERRIDE__COLUMN: + return column != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlAttributeOverride_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION: return OrmV2_0Package.XML_ATTRIBUTE_OVERRIDE_20__DESCRIPTION; + 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 == XmlAttributeOverride_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_ATTRIBUTE_OVERRIDE_20__DESCRIPTION: return OrmPackage.XML_ATTRIBUTE_OVERRIDE__DESCRIPTION; + 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(" (name: "); + result.append(name); + result.append(", description: "); + result.append(description); + result.append(')'); + return result.toString(); + } + + + public TextRange getNameTextRange() { + return getAttributeTextRange(JPA.NAME); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildDescriptionTranslator(), + buildColumnTranslator() + }; + } + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlOverride_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildDescriptionTranslator() { + return new Translator(JPA.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlAttributeOverride_2_0_Description()); + } + + protected static Translator buildColumnTranslator() { + return XmlColumn.buildTranslator(JPA.COLUMN, OrmPackage.eINSTANCE.getXmlAttributeOverride_Column()); + } + + // ************* content assist ************ + + public TextRange getNameCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.NAME); + } + + public boolean nameTouches(int pos) { + TextRange textRange = this.getNameTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverrideContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverrideContainer.java new file mode 100644 index 0000000000..0ecf8f50f5 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlAttributeOverrideContainer.java @@ -0,0 +1,57 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Attribute Override Container</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.jpa.core.resource.orm.XmlAttributeOverrideContainer#getAttributeOverrides <em>Attribute Overrides</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlAttributeOverrideContainer extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Attribute Overrides</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Attribute Overrides</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer_AttributeOverrides() + * @model containment="true" + * @generated + */ + EList<XmlAttributeOverride> getAttributeOverrides(); + +} // XmlAttributeOverrideContainer diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseColumn.java new file mode 100644 index 0000000000..7adb900ba3 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseColumn.java @@ -0,0 +1,177 @@ +/******************************************************************************* + * Copyright (c) 2012 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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.utility.TextRange; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Base 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 --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getInsertable <em>Insertable</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getNullable <em>Nullable</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getTable <em>Table</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUnique <em>Unique</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#getUpdatable <em>Updatable</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlBaseColumn extends XmlNamedColumn +{ + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Insertable() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + Boolean getInsertable(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#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 + */ + void setInsertable(Boolean value); + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Nullable() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + Boolean getNullable(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#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 + */ + void setNullable(Boolean value); + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Table() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getTable(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#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 + */ + void setTable(String value); + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Unique() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + Boolean getUnique(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#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 + */ + void setUnique(Boolean value); + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlBaseColumn_Updatable() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + Boolean getUpdatable(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseColumn#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 + */ + void setUpdatable(Boolean value); + + TextRange getTableTextRange(); + + boolean tableTouches(int pos); + +} // XmlBaseColumn diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseDiscriminatorColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseDiscriminatorColumn.java new file mode 100644 index 0000000000..6be58a315e --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseDiscriminatorColumn.java @@ -0,0 +1,94 @@ +/******************************************************************************* + * Copyright (c) 2011 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.jpa.core.resource.orm; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Base Discriminator 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 --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getDiscriminatorType <em>Discriminator Type</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getLength <em>Length</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlBaseDiscriminatorColumn extends XmlNamedColumn +{ + /** + * 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.jpa.core.resource.orm.DiscriminatorType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Discriminator Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Discriminator Type</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType + * @see #setDiscriminatorType(DiscriminatorType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn_DiscriminatorType() + * @model default="STRING" + * @generated + */ + DiscriminatorType getDiscriminatorType(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getDiscriminatorType <em>Discriminator Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Discriminator Type</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType + * @see #getDiscriminatorType() + * @generated + */ + void setDiscriminatorType(DiscriminatorType value); + + /** + * Returns the value of the '<em><b>Length</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Length</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Length</em>' attribute. + * @see #setLength(Integer) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseDiscriminatorColumn_Length() + * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject" + * @generated + */ + Integer getLength(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseDiscriminatorColumn#getLength <em>Length</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Length</em>' attribute. + * @see #getLength() + * @generated + */ + void setLength(Integer value); + +} // XmlBaseDiscriminatorColumn diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseJoinColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseJoinColumn.java new file mode 100644 index 0000000000..36f57cc21e --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBaseJoinColumn.java @@ -0,0 +1,66 @@ +/******************************************************************************* + * Copyright (c) 2011 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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.utility.TextRange; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Base Join 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 --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseJoinColumn() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlBaseJoinColumn extends XmlNamedColumn +{ + /** + * Returns the value of the '<em><b>Referenced Column Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referenced Column 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>Referenced Column Name</em>' attribute. + * @see #setReferencedColumnName(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseJoinColumn_ReferencedColumnName() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getReferencedColumnName(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBaseJoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Referenced Column Name</em>' attribute. + * @see #getReferencedColumnName() + * @generated + */ + void setReferencedColumnName(String value); + + TextRange getReferencedColumnNameTextRange(); + +} // XmlBaseJoinColumn diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBasic.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBasic.java new file mode 100644 index 0000000000..584e5a3915 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlBasic.java @@ -0,0 +1,687 @@ +/******************************************************************************* + * 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.jpa.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.common.core.internal.utility.translators.BooleanTranslator; +import org.eclipse.jpt.common.core.internal.utility.translators.EmptyTagBooleanTranslator; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.MappingKeys; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Basic Impl</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.jpa.core.resource.orm.XmlBasic#getFetch <em>Fetch</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getOptional <em>Optional</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBasic() + * @model kind="class" + * @generated + */ +public class XmlBasic extends AbstractXmlAttributeMapping implements ColumnMapping, XmlConvertibleMapping +{ + /** + * 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; + + /** + * 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 EnumType ENUMERATED_EDEFAULT = null; + + /** + * 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; + + /** + * 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 FetchType FETCH_EDEFAULT = null; + + /** + * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFetch() + * @generated + * @ordered + */ + protected FetchType fetch = FETCH_EDEFAULT; + + /** + * The default value of the '{@link #getOptional() <em>Optional</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOptional() + * @generated + * @ordered + */ + protected static final Boolean OPTIONAL_EDEFAULT = null; + + /** + * The cached value of the '{@link #getOptional() <em>Optional</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOptional() + * @generated + * @ordered + */ + protected Boolean optional = OPTIONAL_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlBasic() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_BASIC; + } + + /** + * 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.jpa.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_BASIC__COLUMN, oldColumn, newColumn); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#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_BASIC__COLUMN, null, msgs); + if (newColumn != null) + msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_BASIC__COLUMN, null, msgs); + msgs = basicSetColumn(newColumn, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_BASIC__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.jpa.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.jpa.core.resource.orm.XmlBasic#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_BASIC__LOB, oldLob, lob)); + } + + /** + * Returns the value of the '<em><b>Temporal</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.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.jpa.core.resource.orm.TemporalType + * @see #setTemporal(TemporalType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Temporal() + * @model + * @generated + */ + public TemporalType getTemporal() + { + return temporal; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#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.jpa.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_BASIC__TEMPORAL, oldTemporal, temporal)); + } + + /** + * Returns the value of the '<em><b>Enumerated</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.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.jpa.core.resource.orm.EnumType + * @see #setEnumerated(EnumType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Enumerated() + * @model + * @generated + */ + public EnumType getEnumerated() + { + return enumerated; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#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.jpa.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_BASIC__ENUMERATED, oldEnumerated, enumerated)); + } + + /** + * Returns the value of the '<em><b>Fetch</b></em>' attribute. + * The default value is <code>"LAZY"</code>. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.FetchType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Fetch</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Fetch</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType + * @see #setFetch(FetchType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBasic_Fetch() + * @model default="LAZY" + * @generated + */ + public FetchType getFetch() + { + return fetch; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getFetch <em>Fetch</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Fetch</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType + * @see #getFetch() + * @generated + */ + public void setFetch(FetchType newFetch) + { + FetchType oldFetch = fetch; + fetch = newFetch == null ? FETCH_EDEFAULT : newFetch; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_BASIC__FETCH, oldFetch, fetch)); + } + + /** + * Returns the value of the '<em><b>Optional</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Optional</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Optional</em>' attribute. + * @see #setOptional(Boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBasic_Optional() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + public Boolean getOptional() + { + return optional; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlBasic#getOptional <em>Optional</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Optional</em>' attribute. + * @see #getOptional() + * @generated + */ + public void setOptional(Boolean newOptional) + { + Boolean oldOptional = optional; + optional = newOptional; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_BASIC__OPTIONAL, oldOptional, optional)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_BASIC__COLUMN: + return basicSetColumn(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_BASIC__COLUMN: + return getColumn(); + case OrmPackage.XML_BASIC__LOB: + return isLob(); + case OrmPackage.XML_BASIC__TEMPORAL: + return getTemporal(); + case OrmPackage.XML_BASIC__ENUMERATED: + return getEnumerated(); + case OrmPackage.XML_BASIC__FETCH: + return getFetch(); + case OrmPackage.XML_BASIC__OPTIONAL: + return getOptional(); + } + 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_BASIC__COLUMN: + setColumn((XmlColumn)newValue); + return; + case OrmPackage.XML_BASIC__LOB: + setLob((Boolean)newValue); + return; + case OrmPackage.XML_BASIC__TEMPORAL: + setTemporal((TemporalType)newValue); + return; + case OrmPackage.XML_BASIC__ENUMERATED: + setEnumerated((EnumType)newValue); + return; + case OrmPackage.XML_BASIC__FETCH: + setFetch((FetchType)newValue); + return; + case OrmPackage.XML_BASIC__OPTIONAL: + setOptional((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_BASIC__COLUMN: + setColumn((XmlColumn)null); + return; + case OrmPackage.XML_BASIC__LOB: + setLob(LOB_EDEFAULT); + return; + case OrmPackage.XML_BASIC__TEMPORAL: + setTemporal(TEMPORAL_EDEFAULT); + return; + case OrmPackage.XML_BASIC__ENUMERATED: + setEnumerated(ENUMERATED_EDEFAULT); + return; + case OrmPackage.XML_BASIC__FETCH: + setFetch(FETCH_EDEFAULT); + return; + case OrmPackage.XML_BASIC__OPTIONAL: + setOptional(OPTIONAL_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_BASIC__COLUMN: + return column != null; + case OrmPackage.XML_BASIC__LOB: + return lob != LOB_EDEFAULT; + case OrmPackage.XML_BASIC__TEMPORAL: + return temporal != TEMPORAL_EDEFAULT; + case OrmPackage.XML_BASIC__ENUMERATED: + return enumerated != ENUMERATED_EDEFAULT; + case OrmPackage.XML_BASIC__FETCH: + return fetch != FETCH_EDEFAULT; + case OrmPackage.XML_BASIC__OPTIONAL: + return OPTIONAL_EDEFAULT == null ? optional != null : !OPTIONAL_EDEFAULT.equals(optional); + } + 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_BASIC__COLUMN: return OrmPackage.COLUMN_MAPPING__COLUMN; + default: return -1; + } + } + if (baseClass == XmlConvertibleMapping.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_BASIC__LOB: return OrmPackage.XML_CONVERTIBLE_MAPPING__LOB; + case OrmPackage.XML_BASIC__TEMPORAL: return OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL; + case OrmPackage.XML_BASIC__ENUMERATED: return OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED; + 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_BASIC__COLUMN; + default: return -1; + } + } + if (baseClass == XmlConvertibleMapping.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_CONVERTIBLE_MAPPING__LOB: return OrmPackage.XML_BASIC__LOB; + case OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL: return OrmPackage.XML_BASIC__TEMPORAL; + case OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED: return OrmPackage.XML_BASIC__ENUMERATED; + 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(", fetch: "); + result.append(fetch); + result.append(", optional: "); + result.append(optional); + result.append(')'); + return result.toString(); + } + + public TextRange getEnumeratedTextRange() { + return getAttributeTextRange(JPA.ENUMERATED); + } + + public TextRange getLobTextRange() { + return getAttributeTextRange(JPA.LOB); + } + + public TextRange getTemporalTextRange() { + return getAttributeTextRange(JPA.TEMPORAL); + } + + public String getMappingKey() { + return MappingKeys.BASIC_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(), + buildFetchTranslator(), + buildOptionalTranslator(), + buildAccessTranslator(), + buildColumnTranslator(), + buildLobTranslator(), + buildTemporalTranslator(), + buildEnumeratedTranslator() + }; + } + + protected static Translator buildFetchTranslator() { + return new Translator(JPA.FETCH, OrmPackage.eINSTANCE.getXmlBasic_Fetch(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildOptionalTranslator() { + return new BooleanTranslator(JPA.OPTIONAL, OrmPackage.eINSTANCE.getXmlBasic_Optional(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildColumnTranslator() { + return XmlColumn.buildTranslator(JPA.COLUMN, OrmPackage.eINSTANCE.getColumnMapping_Column()); + } + + protected static Translator buildLobTranslator() { + return new EmptyTagBooleanTranslator(JPA.LOB, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Lob()); + } + + protected static Translator buildTemporalTranslator() { + return new Translator(JPA.TEMPORAL, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Temporal()); + } + + protected static Translator buildEnumeratedTranslator() { + return new Translator(JPA.ENUMERATED, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Enumerated()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlClassReference.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlClassReference.java new file mode 100644 index 0000000000..c965557761 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlClassReference.java @@ -0,0 +1,266 @@ +/******************************************************************************* + * Copyright (c) 2010, 2012 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jdt.core.IType; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +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; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Class Reference</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference#getClassName <em>Class Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlClassReference() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class XmlClassReference extends EBaseObjectImpl implements EBaseObject +{ + /** + * 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; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlClassReference() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_CLASS_REFERENCE; + } + + /** + * 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#getXmlClassReference_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.XmlClassReference#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.XML_CLASS_REFERENCE__CLASS_NAME, oldClassName, className)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.XML_CLASS_REFERENCE__CLASS_NAME: + return getClassName(); + } + 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_CLASS_REFERENCE__CLASS_NAME: + setClassName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_CLASS_REFERENCE__CLASS_NAME: + setClassName(CLASS_NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_CLASS_REFERENCE__CLASS_NAME: + return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className); + } + 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(" (className: "); + result.append(className); + result.append(')'); + return result.toString(); + } + + + // **************** validation ******************************************** + + public TextRange getClassNameTextRange() { + return getAttributeTextRange(JPA.CLASS); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren() + ); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildClassTranslator()}; + } + + private static Translator buildClassTranslator() { + return new Translator(JPA.CLASS, OrmPackage.eINSTANCE.getXmlClassReference_ClassName(), Translator.DOM_ATTRIBUTE); + } + + public ReplaceEdit createRenameEdit(IType originalType, String newName) { + String originalName = originalType.getTypeQualifiedName(); + int nameIndex = this.className.lastIndexOf(originalName); + + int offset = getAttributeNode(JPA.CLASS).getValueRegionStartOffset() + 1; + 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 *************** + + public TextRange getClassNameCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.CLASS); + } + + public boolean classNameTouches(int pos) { + TextRange textRange = this.getClassNameCodeAssistTextRange(); + return (textRange != null) && textRange.touches(pos); + } + +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlCollectionTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlCollectionTable.java new file mode 100644 index 0000000000..7326309a2a --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlCollectionTable.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Collection Table</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlCollectionTable() + * @model kind="class" + * @generated + */ +public class XmlCollectionTable extends AbstractXmlReferenceTable implements XmlCollectionTable_2_0 +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlCollectionTable() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_COLLECTION_TABLE; + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildCatalogTranslator(), + buildSchemaTranslator(), + buildJoinColumnTranslator(), + buildUniqueConstraintTranslator() + }; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlColumn.java new file mode 100644 index 0000000000..a02c9d52ef --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlColumn.java @@ -0,0 +1,375 @@ +/******************************************************************************* + * Copyright (c) 2007, 2011 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Column Impl</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.jpa.core.resource.orm.XmlColumn#getLength <em>Length</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getPrecision <em>Precision</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getScale <em>Scale</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlColumn() + * @model kind="class" + * @generated + */ +public class XmlColumn extends AbstractXmlBaseColumn +{ + /** + * The default value of the '{@link #getLength() <em>Length</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLength() + * @generated + * @ordered + */ + protected static final Integer LENGTH_EDEFAULT = null; + + /** + * The cached value of the '{@link #getLength() <em>Length</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLength() + * @generated + * @ordered + */ + protected Integer length = LENGTH_EDEFAULT; + + /** + * The default value of the '{@link #getPrecision() <em>Precision</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPrecision() + * @generated + * @ordered + */ + protected static final Integer PRECISION_EDEFAULT = null; + + /** + * The cached value of the '{@link #getPrecision() <em>Precision</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPrecision() + * @generated + * @ordered + */ + protected Integer precision = PRECISION_EDEFAULT; + + /** + * The default value of the '{@link #getScale() <em>Scale</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getScale() + * @generated + * @ordered + */ + protected static final Integer SCALE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getScale() <em>Scale</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getScale() + * @generated + * @ordered + */ + protected Integer scale = SCALE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlColumn() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_COLUMN; + } + + /** + * Returns the value of the '<em><b>Length</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Length</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Length</em>' attribute. + * @see #setLength(Integer) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlColumn_Length() + * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject" + * @generated + */ + public Integer getLength() + { + return length; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getLength <em>Length</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Length</em>' attribute. + * @see #getLength() + * @generated + */ + public void setLength(Integer newLength) + { + Integer oldLength = length; + length = newLength; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_COLUMN__LENGTH, oldLength, length)); + } + + /** + * Returns the value of the '<em><b>Precision</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Precision</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Precision</em>' attribute. + * @see #setPrecision(Integer) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlColumn_Precision() + * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject" + * @generated + */ + public Integer getPrecision() + { + return precision; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getPrecision <em>Precision</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Precision</em>' attribute. + * @see #getPrecision() + * @generated + */ + public void setPrecision(Integer newPrecision) + { + Integer oldPrecision = precision; + precision = newPrecision; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_COLUMN__PRECISION, oldPrecision, precision)); + } + + /** + * Returns the value of the '<em><b>Scale</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Scale</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Scale</em>' attribute. + * @see #setScale(Integer) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlColumn_Scale() + * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject" + * @generated + */ + public Integer getScale() + { + return scale; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlColumn#getScale <em>Scale</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Scale</em>' attribute. + * @see #getScale() + * @generated + */ + public void setScale(Integer newScale) + { + Integer oldScale = scale; + scale = newScale; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_COLUMN__SCALE, oldScale, scale)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.XML_COLUMN__LENGTH: + return getLength(); + case OrmPackage.XML_COLUMN__PRECISION: + return getPrecision(); + case OrmPackage.XML_COLUMN__SCALE: + return getScale(); + } + 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_COLUMN__LENGTH: + setLength((Integer)newValue); + return; + case OrmPackage.XML_COLUMN__PRECISION: + setPrecision((Integer)newValue); + return; + case OrmPackage.XML_COLUMN__SCALE: + setScale((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_COLUMN__LENGTH: + setLength(LENGTH_EDEFAULT); + return; + case OrmPackage.XML_COLUMN__PRECISION: + setPrecision(PRECISION_EDEFAULT); + return; + case OrmPackage.XML_COLUMN__SCALE: + setScale(SCALE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_COLUMN__LENGTH: + return LENGTH_EDEFAULT == null ? length != null : !LENGTH_EDEFAULT.equals(length); + case OrmPackage.XML_COLUMN__PRECISION: + return PRECISION_EDEFAULT == null ? precision != null : !PRECISION_EDEFAULT.equals(precision); + case OrmPackage.XML_COLUMN__SCALE: + return SCALE_EDEFAULT == null ? scale != null : !SCALE_EDEFAULT.equals(scale); + } + 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(" (length: "); + result.append(length); + result.append(", precision: "); + result.append(precision); + result.append(", scale: "); + result.append(scale); + result.append(')'); + return result.toString(); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren() + ); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildUniqueTranslator(), + buildNullableTranslator(), + buildInsertableTranslator(), + buildUpdatableTranslator(), + buildColumnDefinitionTranslator(), + buildTableTranslator(), + buildLengthTranslator(), + buildPrecisionTranslator(), + buildScaleTranslator(), + }; + } + + protected static Translator buildLengthTranslator() { + return new Translator(JPA.LENGTH, OrmPackage.eINSTANCE.getXmlColumn_Length(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildPrecisionTranslator() { + return new Translator(JPA.PRECISION, OrmPackage.eINSTANCE.getXmlColumn_Precision(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildScaleTranslator() { + return new Translator(JPA.SCALE, OrmPackage.eINSTANCE.getXmlColumn_Scale(), Translator.DOM_ATTRIBUTE); + } +} // ColumnImpl diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlConvertibleMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlConvertibleMapping.java new file mode 100644 index 0000000000..737f685c2f --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlConvertibleMapping.java @@ -0,0 +1,144 @@ +/******************************************************************************* + * Copyright (c) 2008, 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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.utility.TextRange; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Convertible Mapping</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.jpa.core.resource.orm.XmlConvertibleMapping#isLob <em>Lob</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getTemporal <em>Temporal</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#getEnumerated <em>Enumerated</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlConvertibleMapping extends EBaseObject +{ + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Lob() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + boolean isLob(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#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 + */ + void setLob(boolean value); + + /** + * Returns the value of the '<em><b>Temporal</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.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.jpa.core.resource.orm.TemporalType + * @see #setTemporal(TemporalType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Temporal() + * @model + * @generated + */ + TemporalType getTemporal(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#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.jpa.core.resource.orm.TemporalType + * @see #getTemporal() + * @generated + */ + void setTemporal(TemporalType value); + + /** + * Returns the value of the '<em><b>Enumerated</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.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.jpa.core.resource.orm.EnumType + * @see #setEnumerated(EnumType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Enumerated() + * @model + * @generated + */ + EnumType getEnumerated(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping#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.jpa.core.resource.orm.EnumType + * @see #getEnumerated() + * @generated + */ + void setEnumerated(EnumType value); + + /** + * Return the {@link TextRange} for the enumerated element. If the enumerated element + * does not exist return the {@link TextRange} for the basic element. + */ + TextRange getEnumeratedTextRange(); + + /** + * Return the {@link TextRange} for the temporal element. If the temporal element + * does not exist return the {@link TextRange} for the basic element. + */ + TextRange getTemporalTextRange(); + + /** + * Return the {@link TextRange} for the lob element. If the lob element + * does not exist return the {@link TextRange} for the basic element. + */ + TextRange getLobTextRange(); + +} // ConvertableMapping diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlDiscriminatorColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlDiscriminatorColumn.java new file mode 100644 index 0000000000..38ee65ca06 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlDiscriminatorColumn.java @@ -0,0 +1,76 @@ +/******************************************************************************* + * Copyright (c) 2007, 2011 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Discriminator 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.jpa.core.resource.orm.OrmPackage#getXmlDiscriminatorColumn() + * @model kind="class" + * @generated + */ +public class XmlDiscriminatorColumn extends AbstractXmlBaseDiscriminatorColumn +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlDiscriminatorColumn() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_DISCRIMINATOR_COLUMN; + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren() + ); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildDiscriminatorTypeTranslator(), + buildColumnDefinitionTranslator(), + buildLengthTranslator() + }; + } + +} // DiscriminatorColumn diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlElementCollection.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlElementCollection.java new file mode 100644 index 0000000000..97b8f76204 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlElementCollection.java @@ -0,0 +1,1706 @@ +/******************************************************************************* + * Copyright (c) 2009, 2012 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +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.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jdt.core.IType; +import org.eclipse.jpt.common.core.internal.utility.translators.EmptyTagBooleanTranslator; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.jpa2.MappingKeys2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0; +import org.eclipse.text.edits.ReplaceEdit; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Element Collection</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection() + * @model kind="class" + * @generated + */ +public class XmlElementCollection extends AbstractXmlAttributeMapping implements XmlElementCollection_2_0 +{ + /** + * 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; + + /** + * 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 EnumType ENUMERATED_EDEFAULT = null; + + /** + * 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 #getOrderColumn() <em>Order Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOrderColumn() + * @generated + * @ordered + */ + protected XmlOrderColumn orderColumn; + + /** + * The default value of the '{@link #getOrderBy() <em>Order By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOrderBy() + * @generated + * @ordered + */ + protected static final String ORDER_BY_EDEFAULT = null; + + /** + * The cached value of the '{@link #getOrderBy() <em>Order By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOrderBy() + * @generated + * @ordered + */ + protected String orderBy = ORDER_BY_EDEFAULT; + + /** + * The cached value of the '{@link #getAttributeOverrides() <em>Attribute Overrides</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAttributeOverrides() + * @generated + * @ordered + */ + protected EList<XmlAttributeOverride> attributeOverrides; + + /** + * The cached value of the '{@link #getAssociationOverrides() <em>Association Overrides</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAssociationOverrides() + * @generated + * @ordered + */ + protected EList<XmlAssociationOverride> associationOverrides; + + /** + * The cached value of the '{@link #getMapKeyAttributeOverrides() <em>Map Key Attribute Overrides</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyAttributeOverrides() + * @generated + * @ordered + */ + protected EList<XmlAttributeOverride> mapKeyAttributeOverrides; + + /** + * 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 MAP_KEY_TEMPORAL_EDEFAULT = null; + + /** + * The cached value of the '{@link #getMapKeyTemporal() <em>Map Key Temporal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyTemporal() + * @generated + * @ordered + */ + protected TemporalType mapKeyTemporal = MAP_KEY_TEMPORAL_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 EnumType MAP_KEY_ENUMERATED_EDEFAULT = null; + + /** + * The cached value of the '{@link #getMapKeyEnumerated() <em>Map Key Enumerated</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyEnumerated() + * @generated + * @ordered + */ + protected EnumType mapKeyEnumerated = MAP_KEY_ENUMERATED_EDEFAULT; + + /** + * The default value of the '{@link #getTargetClass() <em>Target Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetClass() + * @generated + * @ordered + */ + protected static final String TARGET_CLASS_EDEFAULT = null; + + /** + * The cached value of the '{@link #getTargetClass() <em>Target Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetClass() + * @generated + * @ordered + */ + protected String targetClass = TARGET_CLASS_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 FetchType FETCH_EDEFAULT = null; + + /** + * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFetch() + * @generated + * @ordered + */ + protected FetchType fetch = FETCH_EDEFAULT; + + /** + * The cached value of the '{@link #getMapKey() <em>Map Key</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKey() + * @generated + * @ordered + */ + protected MapKey mapKey; + + /** + * The cached value of the '{@link #getMapKeyClass() <em>Map Key Class</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyClass() + * @generated + * @ordered + */ + protected XmlClassReference mapKeyClass; + + /** + * The cached value of the '{@link #getMapKeyColumn() <em>Map Key Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyColumn() + * @generated + * @ordered + */ + protected XmlColumn mapKeyColumn; + + /** + * The cached value of the '{@link #getMapKeyJoinColumns() <em>Map Key Join Columns</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyJoinColumns() + * @generated + * @ordered + */ + protected EList<XmlJoinColumn> mapKeyJoinColumns; + + /** + * 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 cached value of the '{@link #getCollectionTable() <em>Collection Table</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCollectionTable() + * @generated + * @ordered + */ + protected XmlCollectionTable collectionTable; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlElementCollection() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_ELEMENT_COLLECTION; + } + + /** + * 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.jpa.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.jpa.core.resource.orm.XmlElementCollection#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_ELEMENT_COLLECTION__LOB, oldLob, lob)); + } + + /** + * Returns the value of the '<em><b>Temporal</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.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.jpa.core.resource.orm.TemporalType + * @see #setTemporal(TemporalType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Temporal() + * @model + * @generated + */ + public TemporalType getTemporal() + { + return temporal; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#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.jpa.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_ELEMENT_COLLECTION__TEMPORAL, oldTemporal, temporal)); + } + + /** + * Returns the value of the '<em><b>Enumerated</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.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.jpa.core.resource.orm.EnumType + * @see #setEnumerated(EnumType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Enumerated() + * @model + * @generated + */ + public EnumType getEnumerated() + { + return enumerated; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#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.jpa.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_ELEMENT_COLLECTION__ENUMERATED, oldEnumerated, enumerated)); + } + + /** + * Returns the value of the '<em><b>Target Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Target Class</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Target Class</em>' attribute. + * @see #setTargetClass(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_TargetClass() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getTargetClass() + { + return targetClass; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getTargetClass <em>Target Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target Class</em>' attribute. + * @see #getTargetClass() + * @generated + */ + public void setTargetClass(String newTargetClass) + { + String oldTargetClass = targetClass; + targetClass = newTargetClass; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS, oldTargetClass, targetClass)); + } + + /** + * Returns the value of the '<em><b>Fetch</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.FetchType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Fetch</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Fetch</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType + * @see #setFetch(FetchType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_Fetch() + * @model + * @generated + */ + public FetchType getFetch() + { + return fetch; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getFetch <em>Fetch</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Fetch</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType + * @see #getFetch() + * @generated + */ + public void setFetch(FetchType newFetch) + { + FetchType oldFetch = fetch; + fetch = newFetch == null ? FETCH_EDEFAULT : newFetch; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__FETCH, oldFetch, fetch)); + } + + /** + * Returns the value of the '<em><b>Order By</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Order By</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Order By</em>' attribute. + * @see #setOrderBy(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable_OrderBy() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getOrderBy() + { + return orderBy; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getOrderBy <em>Order By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Order By</em>' attribute. + * @see #getOrderBy() + * @generated + */ + public void setOrderBy(String newOrderBy) + { + String oldOrderBy = orderBy; + orderBy = newOrderBy; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY, oldOrderBy, orderBy)); + } + + /** + * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Attribute Overrides</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Attribute Overrides</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer_AttributeOverrides() + * @model containment="true" + * @generated + */ + public EList<XmlAttributeOverride> getAttributeOverrides() + { + if (attributeOverrides == null) + { + attributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES); + } + return attributeOverrides; + } + + /** + * Returns the value of the '<em><b>Association Overrides</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Association Overrides</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Association Overrides</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer_AssociationOverrides() + * @model containment="true" + * @generated + */ + public EList<XmlAssociationOverride> getAssociationOverrides() + { + if (associationOverrides == null) + { + associationOverrides = new EObjectContainmentEList<XmlAssociationOverride>(XmlAssociationOverride.class, this, OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES); + } + return associationOverrides; + } + + /** + * Returns the value of the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key Attribute Overrides</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Map Key Attribute Overrides</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides() + * @model containment="true" + * @generated + */ + public EList<XmlAttributeOverride> getMapKeyAttributeOverrides() + { + if (mapKeyAttributeOverrides == null) + { + mapKeyAttributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES); + } + return mapKeyAttributeOverrides; + } + + /** + * Returns the value of the '<em><b>Order Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Order 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>Order Column</em>' containment reference. + * @see #setOrderColumn(XmlOrderColumn) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable_2_0_OrderColumn() + * @model containment="true" + * @generated + */ + public XmlOrderColumn getOrderColumn() + { + return orderColumn; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetOrderColumn(XmlOrderColumn newOrderColumn, NotificationChain msgs) + { + XmlOrderColumn oldOrderColumn = orderColumn; + orderColumn = newOrderColumn; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN, oldOrderColumn, newOrderColumn); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getOrderColumn <em>Order Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Order Column</em>' containment reference. + * @see #getOrderColumn() + * @generated + */ + public void setOrderColumn(XmlOrderColumn newOrderColumn) + { + if (newOrderColumn != orderColumn) + { + NotificationChain msgs = null; + if (orderColumn != null) + msgs = ((InternalEObject)orderColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN, null, msgs); + if (newOrderColumn != null) + msgs = ((InternalEObject)newOrderColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN, null, msgs); + msgs = basicSetOrderColumn(newOrderColumn, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN, newOrderColumn, newOrderColumn)); + } + + /** + * Returns the value of the '<em><b>Map Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key</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>Map Key</em>' containment reference. + * @see #setMapKey(MapKey) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_MapKey() + * @model containment="true" + * @generated + */ + public MapKey getMapKey() + { + return mapKey; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetMapKey(MapKey newMapKey, NotificationChain msgs) + { + MapKey oldMapKey = mapKey; + mapKey = newMapKey; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY, oldMapKey, newMapKey); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getMapKey <em>Map Key</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key</em>' containment reference. + * @see #getMapKey() + * @generated + */ + public void setMapKey(MapKey newMapKey) + { + if (newMapKey != mapKey) + { + NotificationChain msgs = null; + if (mapKey != null) + msgs = ((InternalEObject)mapKey).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY, null, msgs); + if (newMapKey != null) + msgs = ((InternalEObject)newMapKey).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY, null, msgs); + msgs = basicSetMapKey(newMapKey, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY, newMapKey, newMapKey)); + } + + /** + * Returns the value of the '<em><b>Map Key Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key Class</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>Map Key Class</em>' containment reference. + * @see #setMapKeyClass(XmlClassReference) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_MapKeyClass() + * @model containment="true" + * @generated + */ + public XmlClassReference getMapKeyClass() + { + return mapKeyClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetMapKeyClass(XmlClassReference newMapKeyClass, NotificationChain msgs) + { + XmlClassReference oldMapKeyClass = mapKeyClass; + mapKeyClass = newMapKeyClass; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS, oldMapKeyClass, newMapKeyClass); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getMapKeyClass <em>Map Key Class</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Class</em>' containment reference. + * @see #getMapKeyClass() + * @generated + */ + public void setMapKeyClass(XmlClassReference newMapKeyClass) + { + if (newMapKeyClass != mapKeyClass) + { + NotificationChain msgs = null; + if (mapKeyClass != null) + msgs = ((InternalEObject)mapKeyClass).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS, null, msgs); + if (newMapKeyClass != null) + msgs = ((InternalEObject)newMapKeyClass).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS, null, msgs); + msgs = basicSetMapKeyClass(newMapKeyClass, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS, newMapKeyClass, newMapKeyClass)); + } + + /** + * Returns the value of the '<em><b>Map Key Temporal</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key 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>Map Key Temporal</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType + * @see #setMapKeyTemporal(TemporalType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal() + * @model + * @generated + */ + public TemporalType getMapKeyTemporal() + { + return mapKeyTemporal; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getMapKeyTemporal <em>Map Key Temporal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Temporal</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType + * @see #getMapKeyTemporal() + * @generated + */ + public void setMapKeyTemporal(TemporalType newMapKeyTemporal) + { + TemporalType oldMapKeyTemporal = mapKeyTemporal; + mapKeyTemporal = newMapKeyTemporal == null ? MAP_KEY_TEMPORAL_EDEFAULT : newMapKeyTemporal; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL, oldMapKeyTemporal, mapKeyTemporal)); + } + + /** + * Returns the value of the '<em><b>Map Key Enumerated</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.EnumType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key 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>Map Key Enumerated</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType + * @see #setMapKeyEnumerated(EnumType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated() + * @model + * @generated + */ + public EnumType getMapKeyEnumerated() + { + return mapKeyEnumerated; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getMapKeyEnumerated <em>Map Key Enumerated</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Enumerated</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType + * @see #getMapKeyEnumerated() + * @generated + */ + public void setMapKeyEnumerated(EnumType newMapKeyEnumerated) + { + EnumType oldMapKeyEnumerated = mapKeyEnumerated; + mapKeyEnumerated = newMapKeyEnumerated == null ? MAP_KEY_ENUMERATED_EDEFAULT : newMapKeyEnumerated; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED, oldMapKeyEnumerated, mapKeyEnumerated)); + } + + /** + * Returns the value of the '<em><b>Map Key Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key 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>Map Key Column</em>' containment reference. + * @see #setMapKeyColumn(XmlColumn) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_MapKeyColumn() + * @model containment="true" + * @generated + */ + public XmlColumn getMapKeyColumn() + { + return mapKeyColumn; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetMapKeyColumn(XmlColumn newMapKeyColumn, NotificationChain msgs) + { + XmlColumn oldMapKeyColumn = mapKeyColumn; + mapKeyColumn = newMapKeyColumn; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN, oldMapKeyColumn, newMapKeyColumn); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getMapKeyColumn <em>Map Key Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Column</em>' containment reference. + * @see #getMapKeyColumn() + * @generated + */ + public void setMapKeyColumn(XmlColumn newMapKeyColumn) + { + if (newMapKeyColumn != mapKeyColumn) + { + NotificationChain msgs = null; + if (mapKeyColumn != null) + msgs = ((InternalEObject)mapKeyColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN, null, msgs); + if (newMapKeyColumn != null) + msgs = ((InternalEObject)newMapKeyColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN, null, msgs); + msgs = basicSetMapKeyColumn(newMapKeyColumn, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN, newMapKeyColumn, newMapKeyColumn)); + } + + /** + * Returns the value of the '<em><b>Map Key Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Map Key Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_MapKeyJoinColumns() + * @model containment="true" + * @generated + */ + public EList<XmlJoinColumn> getMapKeyJoinColumns() + { + if (mapKeyJoinColumns == null) + { + mapKeyJoinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS); + } + return mapKeyJoinColumns; + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_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_ELEMENT_COLLECTION__COLUMN, oldColumn, newColumn); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#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_ELEMENT_COLLECTION__COLUMN, null, msgs); + if (newColumn != null) + msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__COLUMN, null, msgs); + msgs = basicSetColumn(newColumn, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__COLUMN, newColumn, newColumn)); + } + + /** + * Returns the value of the '<em><b>Collection Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Collection Table</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>Collection Table</em>' containment reference. + * @see #setCollectionTable(XmlCollectionTable) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlElementCollection_2_0_CollectionTable() + * @model containment="true" + * @generated + */ + public XmlCollectionTable getCollectionTable() + { + return collectionTable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetCollectionTable(XmlCollectionTable newCollectionTable, NotificationChain msgs) + { + XmlCollectionTable oldCollectionTable = collectionTable; + collectionTable = newCollectionTable; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE, oldCollectionTable, newCollectionTable); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getCollectionTable <em>Collection Table</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Collection Table</em>' containment reference. + * @see #getCollectionTable() + * @generated + */ + public void setCollectionTable(XmlCollectionTable newCollectionTable) + { + if (newCollectionTable != collectionTable) + { + NotificationChain msgs = null; + if (collectionTable != null) + msgs = ((InternalEObject)collectionTable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE, null, msgs); + if (newCollectionTable != null) + msgs = ((InternalEObject)newCollectionTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE, null, msgs); + msgs = basicSetCollectionTable(newCollectionTable, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE, newCollectionTable, newCollectionTable)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN: + return basicSetOrderColumn(null, msgs); + case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES: + return ((InternalEList<?>)getAttributeOverrides()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES: + return ((InternalEList<?>)getAssociationOverrides()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES: + return ((InternalEList<?>)getMapKeyAttributeOverrides()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY: + return basicSetMapKey(null, msgs); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS: + return basicSetMapKeyClass(null, msgs); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN: + return basicSetMapKeyColumn(null, msgs); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS: + return ((InternalEList<?>)getMapKeyJoinColumns()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ELEMENT_COLLECTION__COLUMN: + return basicSetColumn(null, msgs); + case OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE: + return basicSetCollectionTable(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_ELEMENT_COLLECTION__LOB: + return isLob(); + case OrmPackage.XML_ELEMENT_COLLECTION__TEMPORAL: + return getTemporal(); + case OrmPackage.XML_ELEMENT_COLLECTION__ENUMERATED: + return getEnumerated(); + case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN: + return getOrderColumn(); + case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY: + return getOrderBy(); + case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES: + return getAttributeOverrides(); + case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES: + return getAssociationOverrides(); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES: + return getMapKeyAttributeOverrides(); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL: + return getMapKeyTemporal(); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED: + return getMapKeyEnumerated(); + case OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS: + return getTargetClass(); + case OrmPackage.XML_ELEMENT_COLLECTION__FETCH: + return getFetch(); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY: + return getMapKey(); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS: + return getMapKeyClass(); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN: + return getMapKeyColumn(); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS: + return getMapKeyJoinColumns(); + case OrmPackage.XML_ELEMENT_COLLECTION__COLUMN: + return getColumn(); + case OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE: + return getCollectionTable(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.XML_ELEMENT_COLLECTION__LOB: + setLob((Boolean)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__TEMPORAL: + setTemporal((TemporalType)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__ENUMERATED: + setEnumerated((EnumType)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN: + setOrderColumn((XmlOrderColumn)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY: + setOrderBy((String)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES: + getAttributeOverrides().clear(); + getAttributeOverrides().addAll((Collection<? extends XmlAttributeOverride>)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES: + getAssociationOverrides().clear(); + getAssociationOverrides().addAll((Collection<? extends XmlAssociationOverride>)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES: + getMapKeyAttributeOverrides().clear(); + getMapKeyAttributeOverrides().addAll((Collection<? extends XmlAttributeOverride>)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL: + setMapKeyTemporal((TemporalType)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED: + setMapKeyEnumerated((EnumType)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS: + setTargetClass((String)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__FETCH: + setFetch((FetchType)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY: + setMapKey((MapKey)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS: + setMapKeyClass((XmlClassReference)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN: + setMapKeyColumn((XmlColumn)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS: + getMapKeyJoinColumns().clear(); + getMapKeyJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__COLUMN: + setColumn((XmlColumn)newValue); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE: + setCollectionTable((XmlCollectionTable)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ELEMENT_COLLECTION__LOB: + setLob(LOB_EDEFAULT); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__TEMPORAL: + setTemporal(TEMPORAL_EDEFAULT); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__ENUMERATED: + setEnumerated(ENUMERATED_EDEFAULT); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN: + setOrderColumn((XmlOrderColumn)null); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY: + setOrderBy(ORDER_BY_EDEFAULT); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES: + getAttributeOverrides().clear(); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES: + getAssociationOverrides().clear(); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES: + getMapKeyAttributeOverrides().clear(); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL: + setMapKeyTemporal(MAP_KEY_TEMPORAL_EDEFAULT); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED: + setMapKeyEnumerated(MAP_KEY_ENUMERATED_EDEFAULT); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS: + setTargetClass(TARGET_CLASS_EDEFAULT); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__FETCH: + setFetch(FETCH_EDEFAULT); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY: + setMapKey((MapKey)null); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS: + setMapKeyClass((XmlClassReference)null); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN: + setMapKeyColumn((XmlColumn)null); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS: + getMapKeyJoinColumns().clear(); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__COLUMN: + setColumn((XmlColumn)null); + return; + case OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE: + setCollectionTable((XmlCollectionTable)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ELEMENT_COLLECTION__LOB: + return lob != LOB_EDEFAULT; + case OrmPackage.XML_ELEMENT_COLLECTION__TEMPORAL: + return temporal != TEMPORAL_EDEFAULT; + case OrmPackage.XML_ELEMENT_COLLECTION__ENUMERATED: + return enumerated != ENUMERATED_EDEFAULT; + case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN: + return orderColumn != null; + case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY: + return ORDER_BY_EDEFAULT == null ? orderBy != null : !ORDER_BY_EDEFAULT.equals(orderBy); + case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES: + return attributeOverrides != null && !attributeOverrides.isEmpty(); + case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES: + return associationOverrides != null && !associationOverrides.isEmpty(); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES: + return mapKeyAttributeOverrides != null && !mapKeyAttributeOverrides.isEmpty(); + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL: + return mapKeyTemporal != MAP_KEY_TEMPORAL_EDEFAULT; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED: + return mapKeyEnumerated != MAP_KEY_ENUMERATED_EDEFAULT; + case OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS: + return TARGET_CLASS_EDEFAULT == null ? targetClass != null : !TARGET_CLASS_EDEFAULT.equals(targetClass); + case OrmPackage.XML_ELEMENT_COLLECTION__FETCH: + return fetch != FETCH_EDEFAULT; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY: + return mapKey != null; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS: + return mapKeyClass != null; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN: + return mapKeyColumn != null; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS: + return mapKeyJoinColumns != null && !mapKeyJoinColumns.isEmpty(); + case OrmPackage.XML_ELEMENT_COLLECTION__COLUMN: + return column != null; + case OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE: + return collectionTable != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlConvertibleMapping.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ELEMENT_COLLECTION__LOB: return OrmPackage.XML_CONVERTIBLE_MAPPING__LOB; + case OrmPackage.XML_ELEMENT_COLLECTION__TEMPORAL: return OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL; + case OrmPackage.XML_ELEMENT_COLLECTION__ENUMERATED: return OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED; + default: return -1; + } + } + if (baseClass == XmlOrderable_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN: return OrmV2_0Package.XML_ORDERABLE_20__ORDER_COLUMN; + default: return -1; + } + } + if (baseClass == XmlOrderable.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY: return OrmPackage.XML_ORDERABLE__ORDER_BY; + default: return -1; + } + } + if (baseClass == XmlAttributeOverrideContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlAssociationOverrideContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES: return OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlMapKeyAttributeOverrideContainer_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES: return OrmV2_0Package.XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlMapKeyConvertibleMapping_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL: return OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED: return OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED; + default: return -1; + } + } + if (baseClass == XmlElementCollection_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__TARGET_CLASS; + case OrmPackage.XML_ELEMENT_COLLECTION__FETCH: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__FETCH; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY_CLASS; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY_COLUMN; + case OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY_JOIN_COLUMNS; + case OrmPackage.XML_ELEMENT_COLLECTION__COLUMN: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__COLUMN; + case OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE: return OrmV2_0Package.XML_ELEMENT_COLLECTION_20__COLLECTION_TABLE; + 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 == XmlConvertibleMapping.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_CONVERTIBLE_MAPPING__LOB: return OrmPackage.XML_ELEMENT_COLLECTION__LOB; + case OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL: return OrmPackage.XML_ELEMENT_COLLECTION__TEMPORAL; + case OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED: return OrmPackage.XML_ELEMENT_COLLECTION__ENUMERATED; + default: return -1; + } + } + if (baseClass == XmlOrderable_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_ORDERABLE_20__ORDER_COLUMN: return OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN; + default: return -1; + } + } + if (baseClass == XmlOrderable.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_ORDERABLE__ORDER_BY: return OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY; + default: return -1; + } + } + if (baseClass == XmlAttributeOverrideContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlAssociationOverrideContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES: return OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlMapKeyAttributeOverrideContainer_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ATTRIBUTE_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlMapKeyConvertibleMapping_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_TEMPORAL; + case OrmV2_0Package.XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_ENUMERATED; + default: return -1; + } + } + if (baseClass == XmlElementCollection_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__TARGET_CLASS: return OrmPackage.XML_ELEMENT_COLLECTION__TARGET_CLASS; + case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__FETCH: return OrmPackage.XML_ELEMENT_COLLECTION__FETCH; + case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY; + case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY_CLASS: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_CLASS; + case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY_COLUMN: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_COLUMN; + case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__MAP_KEY_JOIN_COLUMNS: return OrmPackage.XML_ELEMENT_COLLECTION__MAP_KEY_JOIN_COLUMNS; + case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__COLUMN: return OrmPackage.XML_ELEMENT_COLLECTION__COLUMN; + case OrmV2_0Package.XML_ELEMENT_COLLECTION_20__COLLECTION_TABLE: return OrmPackage.XML_ELEMENT_COLLECTION__COLLECTION_TABLE; + 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(", orderBy: "); + result.append(orderBy); + result.append(", mapKeyTemporal: "); + result.append(mapKeyTemporal); + result.append(", mapKeyEnumerated: "); + result.append(mapKeyEnumerated); + result.append(", targetClass: "); + result.append(targetClass); + result.append(", fetch: "); + result.append(fetch); + result.append(')'); + return result.toString(); + } + + + // **************** XmlAttributeMapping impl ****************************** + + public String getMappingKey() { + return MappingKeys2_0.ELEMENT_COLLECTION_ATTRIBUTE_MAPPING_KEY; + } + + + // **************** validation support ************************************ + + public TextRange getEnumeratedTextRange() { + return getAttributeTextRange(JPA2_0.ENUMERATED); + } + + public TextRange getLobTextRange() { + return getAttributeTextRange(JPA2_0.LOB); + } + + public TextRange getTemporalTextRange() { + return getAttributeTextRange(JPA2_0.TEMPORAL); + } + + public TextRange getTargetClassTextRange() { + return getAttributeTextRange(JPA2_0.TARGET_CLASS); + } + + public TextRange getMapKeyEnumeratedTextRange() { + return getAttributeTextRange(JPA2_0.MAP_KEY_ENUMERATED); + } + + public TextRange getMapKeyTemporalTextRange() { + return getAttributeTextRange(JPA2_0.MAP_KEY_TEMPORAL); + } + + public TextRange getMapKeyClassTextRange() { + return getElementTextRange(JPA2_0.MAP_KEY_CLASS); + } + + // **************** translators ******************************************* + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildTargetClassTranslator(), + buildFetchTranslator(), + buildAccessTranslator(), + buildOrderByTranslator(), + buildOrderColumnTranslator(), + buildMapKeyTranslator(), + buildMapKeyClassTranslator(), + buildMapKeyTemporalTranslator(), + buildMapKeyEnumeratedTranslator(), + buildMapKeyAttributeOverrideTranslator(), + XmlColumn.buildTranslator(JPA2_0.MAP_KEY_COLUMN, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_MapKeyColumn()), + XmlJoinColumn.buildTranslator(JPA2_0.MAP_KEY_JOIN_COLUMN, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_MapKeyJoinColumns()), + XmlColumn.buildTranslator(JPA.COLUMN, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_Column()), + buildTemporalTranslator(), + buildEnumeratedTranslator(), + buildLobTranslator(), + buildAttributeOverrideTranslator(), + buildAssociationOverrideTranslator(), + XmlCollectionTable.buildTranslator(JPA2_0.COLLECTION_TABLE, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_CollectionTable()) + }; + } + + protected static Translator buildTargetClassTranslator() { + return new Translator(JPA2_0.TARGET_CLASS, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_TargetClass(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildFetchTranslator() { + return new Translator(JPA.FETCH, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_Fetch(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildOrderByTranslator() { + return new Translator(JPA.ORDER_BY, OrmPackage.eINSTANCE.getXmlOrderable_OrderBy()); + } + + protected static Translator buildOrderColumnTranslator() { + return XmlOrderColumn.buildTranslator(JPA2_0.ORDER_COLUMN, OrmV2_0Package.eINSTANCE.getXmlOrderable_2_0_OrderColumn()); + } + + protected static Translator buildColumnTranslator() { + return XmlColumn.buildTranslator(JPA.COLUMN, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_Column()); + } + + protected static Translator buildLobTranslator() { + return new EmptyTagBooleanTranslator(JPA.LOB, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Lob()); + } + + protected static Translator buildTemporalTranslator() { + return new Translator(JPA.TEMPORAL, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Temporal()); + } + + protected static Translator buildEnumeratedTranslator() { + return new Translator(JPA.ENUMERATED, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Enumerated()); + } + + protected static Translator buildMapKeyTranslator() { + return MapKey.buildTranslator(JPA.MAP_KEY, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_MapKey()); + } + + protected static Translator buildMapKeyClassTranslator() { + return XmlClassReference.buildTranslator(JPA2_0.MAP_KEY_CLASS, OrmV2_0Package.eINSTANCE.getXmlElementCollection_2_0_MapKeyClass()); + } + + protected static Translator buildMapKeyTemporalTranslator() { + return new Translator(JPA2_0.MAP_KEY_TEMPORAL, OrmV2_0Package.eINSTANCE.getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal()); + } + + protected static Translator buildMapKeyEnumeratedTranslator() { + return new Translator(JPA2_0.MAP_KEY_ENUMERATED, OrmV2_0Package.eINSTANCE.getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated()); + } + + protected static Translator buildAttributeOverrideTranslator() { + return XmlAttributeOverride.buildTranslator(JPA.ATTRIBUTE_OVERRIDE, OrmPackage.eINSTANCE.getXmlAttributeOverrideContainer_AttributeOverrides()); + } + + protected static Translator buildAssociationOverrideTranslator() { + return XmlAssociationOverride.buildTranslator(JPA.ASSOCIATION_OVERRIDE, OrmPackage.eINSTANCE.getXmlAssociationOverrideContainer_AssociationOverrides()); + } + + protected static Translator buildMapKeyAttributeOverrideTranslator() { + return XmlAttributeOverride.buildTranslator(JPA2_0.MAP_KEY_ATTRIBUTE_OVERRIDE, OrmV2_0Package.eINSTANCE.getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides()); + } + + + // ********** refactoring ********** + + public ReplaceEdit createRenameTargetClassEdit(IType originalType, String newName) { + String originalName = originalType.getElementName(); + int nameIndex = this.targetClass.lastIndexOf(originalName); + int offset = getAttributeNode(JPA2_0.TARGET_CLASS).getValueRegionStartOffset() + 1; + return new ReplaceEdit(offset + nameIndex, originalName.length(), newName); + } + + public ReplaceEdit createRenameMapKeyClassEdit(IType originalType, String newName) { + return getMapKeyClass().createRenameEdit(originalType, newName); + } + + public ReplaceEdit createRenameTargetClassPackageEdit(String newPackageName) { + int packageLength = this.targetClass.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(JPA2_0.TARGET_CLASS).getValueRegionStartOffset() + 1; // +1 = opening double quote + return new ReplaceEdit(offset, packageLength, newPackageName); + } + + public ReplaceEdit createRenameMapKeyClassPackageEdit(String newName) { + return getMapKeyClass().createRenamePackageEdit(newName); + } + + // ********** content assist *************** + + public TextRange getTargetClassCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA2_0.TARGET_CLASS); + } + + public boolean targetClassTouches(int pos) { + TextRange textRange = this.getTargetClassCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddable.java new file mode 100644 index 0000000000..08c7369358 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddable.java @@ -0,0 +1,81 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.jpa.core.MappingKeys; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Embeddable</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.jpa.core.resource.orm.OrmPackage#getXmlEmbeddable() + * @model kind="class" + * @generated + */ +public class XmlEmbeddable extends AbstractXmlTypeMapping +{ + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlEmbeddable() + { + super(); + } + + public String getMappingKey() { + return MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY; + } + + public XmlEntityMappings getEntityMappings() { + return (XmlEntityMappings) eContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_EMBEDDABLE; + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildClassTranslator(), + buildAccessTranslator(), + buildMetadataCompleteTranslator(), + buildDescriptionTranslator(), + buildAttributesTranslator() + }; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbedded.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbedded.java new file mode 100644 index 0000000000..486eb8e4a7 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbedded.java @@ -0,0 +1,256 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.jpa.core.MappingKeys; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Embedded</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.jpa.core.resource.orm.OrmPackage#getXmlEmbedded() + * @model kind="class" + * @generated + */ +public class XmlEmbedded extends AbstractXmlEmbedded implements XmlEmbedded_2_0 +{ + /** + * The cached value of the '{@link #getAssociationOverrides() <em>Association Overrides</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAssociationOverrides() + * @generated + * @ordered + */ + protected EList<XmlAssociationOverride> associationOverrides; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlEmbedded() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_EMBEDDED; + } + + /** + * Returns the value of the '<em><b>Association Overrides</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Association Overrides</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Association Overrides</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer_AssociationOverrides() + * @model containment="true" + * @generated + */ + public EList<XmlAssociationOverride> getAssociationOverrides() + { + if (associationOverrides == null) + { + associationOverrides = new EObjectContainmentEList<XmlAssociationOverride>(XmlAssociationOverride.class, this, OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES); + } + return associationOverrides; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES: + return ((InternalEList<?>)getAssociationOverrides()).basicRemove(otherEnd, 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_EMBEDDED__ASSOCIATION_OVERRIDES: + return getAssociationOverrides(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES: + getAssociationOverrides().clear(); + getAssociationOverrides().addAll((Collection<? extends XmlAssociationOverride>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES: + getAssociationOverrides().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES: + return associationOverrides != null && !associationOverrides.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlAssociationOverrideContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES: return OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlEmbedded_2_0.class) + { + switch (derivedFeatureID) + { + 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 == XmlAssociationOverrideContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES: return OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlEmbedded_2_0.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + public String getMappingKey() { + return MappingKeys.EMBEDDED_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(), + buildAttributeOverrideTranslator(), + buildAssociationOverrideTranslator() + }; + } + + protected static Translator buildAssociationOverrideTranslator() { + return XmlAssociationOverride.buildTranslator(JPA.ASSOCIATION_OVERRIDE, OrmPackage.eINSTANCE.getXmlAssociationOverrideContainer_AssociationOverrides()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddedId.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddedId.java new file mode 100644 index 0000000000..865eea2dab --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEmbeddedId.java @@ -0,0 +1,74 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.jpa.core.MappingKeys; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Embedded 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 --> + * + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEmbeddedId() + * @model kind="class" + * @generated + */ +public class XmlEmbeddedId extends AbstractXmlEmbedded +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlEmbeddedId() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_EMBEDDED_ID; + } + + public String getMappingKey() { + return MappingKeys.EMBEDDED_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(), + buildAttributeOverrideTranslator() + }; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntity.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntity.java new file mode 100644 index 0000000000..72f58c1394 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntity.java @@ -0,0 +1,2308 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +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.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.EmptyTagBooleanTranslator; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.MappingKeys; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Entity</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.jpa.core.resource.orm.XmlEntity#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getTable <em>Table</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getSecondaryTables <em>Secondary Tables</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getInheritance <em>Inheritance</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorValue <em>Discriminator Value</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorColumn <em>Discriminator Column</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getSqlResultSetMappings <em>Sql Result Set Mappings</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getEntityListeners <em>Entity Listeners</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity() + * @model kind="class" + * @generated + */ +public class XmlEntity extends AbstractXmlTypeMapping implements XmlQueryContainer, XmlGeneratorContainer, XmlEventMethodContainer, XmlAttributeOverrideContainer, XmlAssociationOverrideContainer, XmlEntity_2_0, XmlIdClassContainer +{ + + /** + * The cached value of the '{@link #getNamedQueries() <em>Named Queries</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNamedQueries() + * @generated + * @ordered + */ + protected EList<XmlNamedQuery> namedQueries; + + /** + * The cached value of the '{@link #getNamedNativeQueries() <em>Named Native Queries</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNamedNativeQueries() + * @generated + * @ordered + */ + protected EList<XmlNamedNativeQuery> namedNativeQueries; + + /** + * 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 #getPrePersist() <em>Pre Persist</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPrePersist() + * @generated + * @ordered + */ + protected PrePersist prePersist; + + /** + * The cached value of the '{@link #getPostPersist() <em>Post Persist</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPostPersist() + * @generated + * @ordered + */ + protected PostPersist postPersist; + + /** + * The cached value of the '{@link #getPreRemove() <em>Pre Remove</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPreRemove() + * @generated + * @ordered + */ + protected PreRemove preRemove; + + /** + * The cached value of the '{@link #getPostRemove() <em>Post Remove</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPostRemove() + * @generated + * @ordered + */ + protected PostRemove postRemove; + + /** + * The cached value of the '{@link #getPreUpdate() <em>Pre Update</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPreUpdate() + * @generated + * @ordered + */ + protected PreUpdate preUpdate; + + /** + * The cached value of the '{@link #getPostUpdate() <em>Post Update</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPostUpdate() + * @generated + * @ordered + */ + protected PostUpdate postUpdate; + + /** + * The cached value of the '{@link #getPostLoad() <em>Post Load</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPostLoad() + * @generated + * @ordered + */ + protected PostLoad postLoad; + + /** + * The cached value of the '{@link #getAttributeOverrides() <em>Attribute Overrides</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAttributeOverrides() + * @generated + * @ordered + */ + protected EList<XmlAttributeOverride> attributeOverrides; + + /** + * The cached value of the '{@link #getAssociationOverrides() <em>Association Overrides</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAssociationOverrides() + * @generated + * @ordered + */ + protected EList<XmlAssociationOverride> associationOverrides; + + /** + * The default value of the '{@link #getCacheable() <em>Cacheable</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCacheable() + * @generated + * @ordered + */ + protected static final Boolean CACHEABLE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCacheable() <em>Cacheable</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCacheable() + * @generated + * @ordered + */ + protected Boolean cacheable = CACHEABLE_EDEFAULT; + + /** + * The cached value of the '{@link #getIdClass() <em>Id Class</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getIdClass() + * @generated + * @ordered + */ + protected XmlClassReference idClass; + + /** + * 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 cached value of the '{@link #getTable() <em>Table</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTable() + * @generated + * @ordered + */ + protected XmlTable table; + + /** + * The cached value of the '{@link #getSecondaryTables() <em>Secondary Tables</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSecondaryTables() + * @generated + * @ordered + */ + protected EList<XmlSecondaryTable> secondaryTables; + + /** + * The cached value of the '{@link #getPrimaryKeyJoinColumns() <em>Primary Key Join Columns</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPrimaryKeyJoinColumns() + * @generated + * @ordered + */ + protected EList<XmlPrimaryKeyJoinColumn> primaryKeyJoinColumns; + + /** + * The cached value of the '{@link #getInheritance() <em>Inheritance</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getInheritance() + * @generated + * @ordered + */ + protected Inheritance inheritance; + + /** + * The default value of the '{@link #getDiscriminatorValue() <em>Discriminator Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDiscriminatorValue() + * @generated + * @ordered + */ + protected static final String DISCRIMINATOR_VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getDiscriminatorValue() <em>Discriminator Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDiscriminatorValue() + * @generated + * @ordered + */ + protected String discriminatorValue = DISCRIMINATOR_VALUE_EDEFAULT; + + /** + * The cached value of the '{@link #getDiscriminatorColumn() <em>Discriminator Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDiscriminatorColumn() + * @generated + * @ordered + */ + protected XmlDiscriminatorColumn discriminatorColumn; + + /** + * The cached value of the '{@link #getSqlResultSetMappings() <em>Sql Result Set Mappings</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSqlResultSetMappings() + * @generated + * @ordered + */ + protected EList<SqlResultSetMapping> sqlResultSetMappings; + + /** + * The default value of the '{@link #isExcludeDefaultListeners() <em>Exclude Default Listeners</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isExcludeDefaultListeners() + * @generated + * @ordered + */ + protected static final boolean EXCLUDE_DEFAULT_LISTENERS_EDEFAULT = false; + + /** + * The cached value of the '{@link #isExcludeDefaultListeners() <em>Exclude Default Listeners</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isExcludeDefaultListeners() + * @generated + * @ordered + */ + protected boolean excludeDefaultListeners = EXCLUDE_DEFAULT_LISTENERS_EDEFAULT; + + /** + * The default value of the '{@link #isExcludeSuperclassListeners() <em>Exclude Superclass Listeners</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isExcludeSuperclassListeners() + * @generated + * @ordered + */ + protected static final boolean EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT = false; + + /** + * The cached value of the '{@link #isExcludeSuperclassListeners() <em>Exclude Superclass Listeners</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isExcludeSuperclassListeners() + * @generated + * @ordered + */ + protected boolean excludeSuperclassListeners = EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT; + + /** + * The cached value of the '{@link #getEntityListeners() <em>Entity Listeners</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEntityListeners() + * @generated + * @ordered + */ + protected EntityListeners entityListeners; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlEntity() + { + super(); + } + + public String getMappingKey() { + return MappingKeys.ENTITY_TYPE_MAPPING_KEY; + } + + public XmlEntityMappings entityMappings() { + return (XmlEntityMappings) eContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_ENTITY; + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlEntity_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.jpa.core.resource.orm.XmlEntity#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_ENTITY__NAME, oldName, name)); + } + + /** + * Returns the value of the '<em><b>Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Table</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</em>' containment reference. + * @see #setTable(XmlTable) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_Table() + * @model containment="true" + * @generated + */ + public XmlTable getTable() + { + return table; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetTable(XmlTable newTable, NotificationChain msgs) + { + XmlTable oldTable = table; + table = newTable; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__TABLE, oldTable, newTable); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getTable <em>Table</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Table</em>' containment reference. + * @see #getTable() + * @generated + */ + public void setTable(XmlTable newTable) + { + if (newTable != table) + { + NotificationChain msgs = null; + if (table != null) + msgs = ((InternalEObject)table).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__TABLE, null, msgs); + if (newTable != null) + msgs = ((InternalEObject)newTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__TABLE, null, msgs); + msgs = basicSetTable(newTable, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__TABLE, newTable, newTable)); + } + + /** + * Returns the value of the '<em><b>Secondary Tables</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Secondary Tables</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Secondary Tables</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_SecondaryTables() + * @model containment="true" + * @generated + */ + public EList<XmlSecondaryTable> getSecondaryTables() + { + if (secondaryTables == null) + { + secondaryTables = new EObjectContainmentEList<XmlSecondaryTable>(XmlSecondaryTable.class, this, OrmPackage.XML_ENTITY__SECONDARY_TABLES); + } + return secondaryTables; + } + + /** + * Returns the value of the '<em><b>Primary Key Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Primary Key Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Primary Key Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_PrimaryKeyJoinColumns() + * @model containment="true" + * @generated + */ + public EList<XmlPrimaryKeyJoinColumn> getPrimaryKeyJoinColumns() + { + if (primaryKeyJoinColumns == null) + { + primaryKeyJoinColumns = new EObjectContainmentEList<XmlPrimaryKeyJoinColumn>(XmlPrimaryKeyJoinColumn.class, this, OrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS); + } + return primaryKeyJoinColumns; + } + + /** + * Returns the value of the '<em><b>Id Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Id Class</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>Id Class</em>' containment reference. + * @see #setIdClass(XmlClassReference) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlIdClassContainer_IdClass() + * @model containment="true" + * @generated + */ + public XmlClassReference getIdClass() + { + return idClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetIdClass(XmlClassReference newIdClass, NotificationChain msgs) + { + XmlClassReference oldIdClass = idClass; + idClass = newIdClass; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__ID_CLASS, oldIdClass, newIdClass); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getIdClass <em>Id Class</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Id Class</em>' containment reference. + * @see #getIdClass() + * @generated + */ + public void setIdClass(XmlClassReference newIdClass) + { + if (newIdClass != idClass) + { + NotificationChain msgs = null; + if (idClass != null) + msgs = ((InternalEObject)idClass).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__ID_CLASS, null, msgs); + if (newIdClass != null) + msgs = ((InternalEObject)newIdClass).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__ID_CLASS, null, msgs); + msgs = basicSetIdClass(newIdClass, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__ID_CLASS, newIdClass, newIdClass)); + } + + /** + * Returns the value of the '<em><b>Inheritance</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Inheritance</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>Inheritance</em>' containment reference. + * @see #setInheritance(Inheritance) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_Inheritance() + * @model containment="true" + * @generated + */ + public Inheritance getInheritance() + { + return inheritance; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetInheritance(Inheritance newInheritance, NotificationChain msgs) + { + Inheritance oldInheritance = inheritance; + inheritance = newInheritance; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__INHERITANCE, oldInheritance, newInheritance); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getInheritance <em>Inheritance</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Inheritance</em>' containment reference. + * @see #getInheritance() + * @generated + */ + public void setInheritance(Inheritance newInheritance) + { + if (newInheritance != inheritance) + { + NotificationChain msgs = null; + if (inheritance != null) + msgs = ((InternalEObject)inheritance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__INHERITANCE, null, msgs); + if (newInheritance != null) + msgs = ((InternalEObject)newInheritance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__INHERITANCE, null, msgs); + msgs = basicSetInheritance(newInheritance, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__INHERITANCE, newInheritance, newInheritance)); + } + + /** + * Returns the value of the '<em><b>Discriminator Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Discriminator Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Discriminator Value</em>' attribute. + * @see #setDiscriminatorValue(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_DiscriminatorValue() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getDiscriminatorValue() + { + return discriminatorValue; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorValue <em>Discriminator Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Discriminator Value</em>' attribute. + * @see #getDiscriminatorValue() + * @generated + */ + public void setDiscriminatorValue(String newDiscriminatorValue) + { + String oldDiscriminatorValue = discriminatorValue; + discriminatorValue = newDiscriminatorValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE, oldDiscriminatorValue, discriminatorValue)); + } + + /** + * Returns the value of the '<em><b>Discriminator Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Discriminator 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>Discriminator Column</em>' containment reference. + * @see #setDiscriminatorColumn(XmlDiscriminatorColumn) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_DiscriminatorColumn() + * @model containment="true" + * @generated + */ + public XmlDiscriminatorColumn getDiscriminatorColumn() + { + return discriminatorColumn; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetDiscriminatorColumn(XmlDiscriminatorColumn newDiscriminatorColumn, NotificationChain msgs) + { + XmlDiscriminatorColumn oldDiscriminatorColumn = discriminatorColumn; + discriminatorColumn = newDiscriminatorColumn; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN, oldDiscriminatorColumn, newDiscriminatorColumn); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getDiscriminatorColumn <em>Discriminator Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Discriminator Column</em>' containment reference. + * @see #getDiscriminatorColumn() + * @generated + */ + public void setDiscriminatorColumn(XmlDiscriminatorColumn newDiscriminatorColumn) + { + if (newDiscriminatorColumn != discriminatorColumn) + { + NotificationChain msgs = null; + if (discriminatorColumn != null) + msgs = ((InternalEObject)discriminatorColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN, null, msgs); + if (newDiscriminatorColumn != null) + msgs = ((InternalEObject)newDiscriminatorColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN, null, msgs); + msgs = basicSetDiscriminatorColumn(newDiscriminatorColumn, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN, newDiscriminatorColumn, newDiscriminatorColumn)); + } + + /** + * 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.jpa.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_ENTITY__SEQUENCE_GENERATOR, oldSequenceGenerator, newSequenceGenerator); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#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_ENTITY__SEQUENCE_GENERATOR, null, msgs); + if (newSequenceGenerator != null) + msgs = ((InternalEObject)newSequenceGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR, null, msgs); + msgs = basicSetSequenceGenerator(newSequenceGenerator, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR, newSequenceGenerator, newSequenceGenerator)); + } + + /** + * 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.jpa.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_ENTITY__TABLE_GENERATOR, oldTableGenerator, newTableGenerator); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#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_ENTITY__TABLE_GENERATOR, null, msgs); + if (newTableGenerator != null) + msgs = ((InternalEObject)newTableGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__TABLE_GENERATOR, null, msgs); + msgs = basicSetTableGenerator(newTableGenerator, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__TABLE_GENERATOR, newTableGenerator, newTableGenerator)); + } + + /** + * Returns the value of the '<em><b>Named Queries</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Named Queries</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Named Queries</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer_NamedQueries() + * @model containment="true" + * @generated + */ + public EList<XmlNamedQuery> getNamedQueries() + { + if (namedQueries == null) + { + namedQueries = new EObjectContainmentEList<XmlNamedQuery>(XmlNamedQuery.class, this, OrmPackage.XML_ENTITY__NAMED_QUERIES); + } + return namedQueries; + } + + /** + * Returns the value of the '<em><b>Named Native Queries</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Named Native Queries</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Named Native Queries</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer_NamedNativeQueries() + * @model containment="true" + * @generated + */ + public EList<XmlNamedNativeQuery> getNamedNativeQueries() + { + if (namedNativeQueries == null) + { + namedNativeQueries = new EObjectContainmentEList<XmlNamedNativeQuery>(XmlNamedNativeQuery.class, this, OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES); + } + return namedNativeQueries; + } + + /** + * Returns the value of the '<em><b>Sql Result Set Mappings</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Sql Result Set Mappings</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Sql Result Set Mappings</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_SqlResultSetMappings() + * @model containment="true" + * @generated + */ + public EList<SqlResultSetMapping> getSqlResultSetMappings() + { + if (sqlResultSetMappings == null) + { + sqlResultSetMappings = new EObjectContainmentEList<SqlResultSetMapping>(SqlResultSetMapping.class, this, OrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS); + } + return sqlResultSetMappings; + } + + /** + * Returns the value of the '<em><b>Exclude Default Listeners</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Exclude Default Listeners</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Exclude Default Listeners</em>' attribute. + * @see #setExcludeDefaultListeners(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_ExcludeDefaultListeners() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isExcludeDefaultListeners() + { + return excludeDefaultListeners; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Exclude Default Listeners</em>' attribute. + * @see #isExcludeDefaultListeners() + * @generated + */ + public void setExcludeDefaultListeners(boolean newExcludeDefaultListeners) + { + boolean oldExcludeDefaultListeners = excludeDefaultListeners; + excludeDefaultListeners = newExcludeDefaultListeners; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS, oldExcludeDefaultListeners, excludeDefaultListeners)); + } + + /** + * Returns the value of the '<em><b>Exclude Superclass Listeners</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Exclude Superclass Listeners</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Exclude Superclass Listeners</em>' attribute. + * @see #setExcludeSuperclassListeners(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_ExcludeSuperclassListeners() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isExcludeSuperclassListeners() + { + return excludeSuperclassListeners; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Exclude Superclass Listeners</em>' attribute. + * @see #isExcludeSuperclassListeners() + * @generated + */ + public void setExcludeSuperclassListeners(boolean newExcludeSuperclassListeners) + { + boolean oldExcludeSuperclassListeners = excludeSuperclassListeners; + excludeSuperclassListeners = newExcludeSuperclassListeners; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS, oldExcludeSuperclassListeners, excludeSuperclassListeners)); + } + + /** + * Returns the value of the '<em><b>Entity Listeners</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Entity Listeners</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>Entity Listeners</em>' containment reference. + * @see #setEntityListeners(EntityListeners) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntity_EntityListeners() + * @model containment="true" + * @generated + */ + public EntityListeners getEntityListeners() + { + return entityListeners; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetEntityListeners(EntityListeners newEntityListeners, NotificationChain msgs) + { + EntityListeners oldEntityListeners = entityListeners; + entityListeners = newEntityListeners; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__ENTITY_LISTENERS, oldEntityListeners, newEntityListeners); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getEntityListeners <em>Entity Listeners</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Entity Listeners</em>' containment reference. + * @see #getEntityListeners() + * @generated + */ + public void setEntityListeners(EntityListeners newEntityListeners) + { + if (newEntityListeners != entityListeners) + { + NotificationChain msgs = null; + if (entityListeners != null) + msgs = ((InternalEObject)entityListeners).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__ENTITY_LISTENERS, null, msgs); + if (newEntityListeners != null) + msgs = ((InternalEObject)newEntityListeners).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__ENTITY_LISTENERS, null, msgs); + msgs = basicSetEntityListeners(newEntityListeners, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__ENTITY_LISTENERS, newEntityListeners, newEntityListeners)); + } + + /** + * Returns the value of the '<em><b>Pre Persist</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Pre Persist</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>Pre Persist</em>' containment reference. + * @see #setPrePersist(PrePersist) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PrePersist() + * @model containment="true" + * @generated + */ + public PrePersist getPrePersist() + { + return prePersist; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPrePersist(PrePersist newPrePersist, NotificationChain msgs) + { + PrePersist oldPrePersist = prePersist; + prePersist = newPrePersist; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__PRE_PERSIST, oldPrePersist, newPrePersist); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPrePersist <em>Pre Persist</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Pre Persist</em>' containment reference. + * @see #getPrePersist() + * @generated + */ + public void setPrePersist(PrePersist newPrePersist) + { + if (newPrePersist != prePersist) + { + NotificationChain msgs = null; + if (prePersist != null) + msgs = ((InternalEObject)prePersist).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__PRE_PERSIST, null, msgs); + if (newPrePersist != null) + msgs = ((InternalEObject)newPrePersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__PRE_PERSIST, null, msgs); + msgs = basicSetPrePersist(newPrePersist, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__PRE_PERSIST, newPrePersist, newPrePersist)); + } + + /** + * Returns the value of the '<em><b>Post Persist</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Post Persist</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>Post Persist</em>' containment reference. + * @see #setPostPersist(PostPersist) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostPersist() + * @model containment="true" + * @generated + */ + public PostPersist getPostPersist() + { + return postPersist; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPostPersist(PostPersist newPostPersist, NotificationChain msgs) + { + PostPersist oldPostPersist = postPersist; + postPersist = newPostPersist; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_PERSIST, oldPostPersist, newPostPersist); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPostPersist <em>Post Persist</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Post Persist</em>' containment reference. + * @see #getPostPersist() + * @generated + */ + public void setPostPersist(PostPersist newPostPersist) + { + if (newPostPersist != postPersist) + { + NotificationChain msgs = null; + if (postPersist != null) + msgs = ((InternalEObject)postPersist).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_PERSIST, null, msgs); + if (newPostPersist != null) + msgs = ((InternalEObject)newPostPersist).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_PERSIST, null, msgs); + msgs = basicSetPostPersist(newPostPersist, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_PERSIST, newPostPersist, newPostPersist)); + } + + /** + * Returns the value of the '<em><b>Pre Remove</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Pre Remove</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>Pre Remove</em>' containment reference. + * @see #setPreRemove(PreRemove) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PreRemove() + * @model containment="true" + * @generated + */ + public PreRemove getPreRemove() + { + return preRemove; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPreRemove(PreRemove newPreRemove, NotificationChain msgs) + { + PreRemove oldPreRemove = preRemove; + preRemove = newPreRemove; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__PRE_REMOVE, oldPreRemove, newPreRemove); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPreRemove <em>Pre Remove</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Pre Remove</em>' containment reference. + * @see #getPreRemove() + * @generated + */ + public void setPreRemove(PreRemove newPreRemove) + { + if (newPreRemove != preRemove) + { + NotificationChain msgs = null; + if (preRemove != null) + msgs = ((InternalEObject)preRemove).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__PRE_REMOVE, null, msgs); + if (newPreRemove != null) + msgs = ((InternalEObject)newPreRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__PRE_REMOVE, null, msgs); + msgs = basicSetPreRemove(newPreRemove, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__PRE_REMOVE, newPreRemove, newPreRemove)); + } + + /** + * Returns the value of the '<em><b>Post Remove</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Post Remove</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>Post Remove</em>' containment reference. + * @see #setPostRemove(PostRemove) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostRemove() + * @model containment="true" + * @generated + */ + public PostRemove getPostRemove() + { + return postRemove; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPostRemove(PostRemove newPostRemove, NotificationChain msgs) + { + PostRemove oldPostRemove = postRemove; + postRemove = newPostRemove; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_REMOVE, oldPostRemove, newPostRemove); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPostRemove <em>Post Remove</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Post Remove</em>' containment reference. + * @see #getPostRemove() + * @generated + */ + public void setPostRemove(PostRemove newPostRemove) + { + if (newPostRemove != postRemove) + { + NotificationChain msgs = null; + if (postRemove != null) + msgs = ((InternalEObject)postRemove).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_REMOVE, null, msgs); + if (newPostRemove != null) + msgs = ((InternalEObject)newPostRemove).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_REMOVE, null, msgs); + msgs = basicSetPostRemove(newPostRemove, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_REMOVE, newPostRemove, newPostRemove)); + } + + /** + * Returns the value of the '<em><b>Pre Update</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Pre Update</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>Pre Update</em>' containment reference. + * @see #setPreUpdate(PreUpdate) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PreUpdate() + * @model containment="true" + * @generated + */ + public PreUpdate getPreUpdate() + { + return preUpdate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPreUpdate(PreUpdate newPreUpdate, NotificationChain msgs) + { + PreUpdate oldPreUpdate = preUpdate; + preUpdate = newPreUpdate; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__PRE_UPDATE, oldPreUpdate, newPreUpdate); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPreUpdate <em>Pre Update</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Pre Update</em>' containment reference. + * @see #getPreUpdate() + * @generated + */ + public void setPreUpdate(PreUpdate newPreUpdate) + { + if (newPreUpdate != preUpdate) + { + NotificationChain msgs = null; + if (preUpdate != null) + msgs = ((InternalEObject)preUpdate).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__PRE_UPDATE, null, msgs); + if (newPreUpdate != null) + msgs = ((InternalEObject)newPreUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__PRE_UPDATE, null, msgs); + msgs = basicSetPreUpdate(newPreUpdate, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__PRE_UPDATE, newPreUpdate, newPreUpdate)); + } + + /** + * Returns the value of the '<em><b>Post Update</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Post Update</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>Post Update</em>' containment reference. + * @see #setPostUpdate(PostUpdate) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostUpdate() + * @model containment="true" + * @generated + */ + public PostUpdate getPostUpdate() + { + return postUpdate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPostUpdate(PostUpdate newPostUpdate, NotificationChain msgs) + { + PostUpdate oldPostUpdate = postUpdate; + postUpdate = newPostUpdate; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_UPDATE, oldPostUpdate, newPostUpdate); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPostUpdate <em>Post Update</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Post Update</em>' containment reference. + * @see #getPostUpdate() + * @generated + */ + public void setPostUpdate(PostUpdate newPostUpdate) + { + if (newPostUpdate != postUpdate) + { + NotificationChain msgs = null; + if (postUpdate != null) + msgs = ((InternalEObject)postUpdate).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_UPDATE, null, msgs); + if (newPostUpdate != null) + msgs = ((InternalEObject)newPostUpdate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_UPDATE, null, msgs); + msgs = basicSetPostUpdate(newPostUpdate, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_UPDATE, newPostUpdate, newPostUpdate)); + } + + /** + * Returns the value of the '<em><b>Post Load</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Post Load</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>Post Load</em>' containment reference. + * @see #setPostLoad(PostLoad) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostLoad() + * @model containment="true" + * @generated + */ + public PostLoad getPostLoad() + { + return postLoad; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPostLoad(PostLoad newPostLoad, NotificationChain msgs) + { + PostLoad oldPostLoad = postLoad; + postLoad = newPostLoad; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_LOAD, oldPostLoad, newPostLoad); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getPostLoad <em>Post Load</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Post Load</em>' containment reference. + * @see #getPostLoad() + * @generated + */ + public void setPostLoad(PostLoad newPostLoad) + { + if (newPostLoad != postLoad) + { + NotificationChain msgs = null; + if (postLoad != null) + msgs = ((InternalEObject)postLoad).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_LOAD, null, msgs); + if (newPostLoad != null) + msgs = ((InternalEObject)newPostLoad).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY__POST_LOAD, null, msgs); + msgs = basicSetPostLoad(newPostLoad, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__POST_LOAD, newPostLoad, newPostLoad)); + } + + /** + * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Attribute Overrides</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Attribute Overrides</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer_AttributeOverrides() + * @model containment="true" + * @generated + */ + public EList<XmlAttributeOverride> getAttributeOverrides() + { + if (attributeOverrides == null) + { + attributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES); + } + return attributeOverrides; + } + + /** + * Returns the value of the '<em><b>Association Overrides</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Association Overrides</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Association Overrides</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAssociationOverrideContainer_AssociationOverrides() + * @model containment="true" + * @generated + */ + public EList<XmlAssociationOverride> getAssociationOverrides() + { + if (associationOverrides == null) + { + associationOverrides = new EObjectContainmentEList<XmlAssociationOverride>(XmlAssociationOverride.class, this, OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES); + } + return associationOverrides; + } + + /** + * Returns the value of the '<em><b>Cacheable</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Cacheable</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Cacheable</em>' attribute. + * @see #setCacheable(Boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlCacheable_2_0_Cacheable() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + public Boolean getCacheable() + { + return cacheable; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity#getCacheable <em>Cacheable</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Cacheable</em>' attribute. + * @see #getCacheable() + * @generated + */ + public void setCacheable(Boolean newCacheable) + { + Boolean oldCacheable = cacheable; + cacheable = newCacheable; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY__CACHEABLE, oldCacheable, cacheable)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_ENTITY__NAMED_QUERIES: + return ((InternalEList<?>)getNamedQueries()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES: + return ((InternalEList<?>)getNamedNativeQueries()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR: + return basicSetSequenceGenerator(null, msgs); + case OrmPackage.XML_ENTITY__TABLE_GENERATOR: + return basicSetTableGenerator(null, msgs); + case OrmPackage.XML_ENTITY__PRE_PERSIST: + return basicSetPrePersist(null, msgs); + case OrmPackage.XML_ENTITY__POST_PERSIST: + return basicSetPostPersist(null, msgs); + case OrmPackage.XML_ENTITY__PRE_REMOVE: + return basicSetPreRemove(null, msgs); + case OrmPackage.XML_ENTITY__POST_REMOVE: + return basicSetPostRemove(null, msgs); + case OrmPackage.XML_ENTITY__PRE_UPDATE: + return basicSetPreUpdate(null, msgs); + case OrmPackage.XML_ENTITY__POST_UPDATE: + return basicSetPostUpdate(null, msgs); + case OrmPackage.XML_ENTITY__POST_LOAD: + return basicSetPostLoad(null, msgs); + case OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES: + return ((InternalEList<?>)getAttributeOverrides()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES: + return ((InternalEList<?>)getAssociationOverrides()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY__ID_CLASS: + return basicSetIdClass(null, msgs); + case OrmPackage.XML_ENTITY__TABLE: + return basicSetTable(null, msgs); + case OrmPackage.XML_ENTITY__SECONDARY_TABLES: + return ((InternalEList<?>)getSecondaryTables()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS: + return ((InternalEList<?>)getPrimaryKeyJoinColumns()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY__INHERITANCE: + return basicSetInheritance(null, msgs); + case OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN: + return basicSetDiscriminatorColumn(null, msgs); + case OrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS: + return ((InternalEList<?>)getSqlResultSetMappings()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY__ENTITY_LISTENERS: + return basicSetEntityListeners(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_ENTITY__NAMED_QUERIES: + return getNamedQueries(); + case OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES: + return getNamedNativeQueries(); + case OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR: + return getSequenceGenerator(); + case OrmPackage.XML_ENTITY__TABLE_GENERATOR: + return getTableGenerator(); + case OrmPackage.XML_ENTITY__PRE_PERSIST: + return getPrePersist(); + case OrmPackage.XML_ENTITY__POST_PERSIST: + return getPostPersist(); + case OrmPackage.XML_ENTITY__PRE_REMOVE: + return getPreRemove(); + case OrmPackage.XML_ENTITY__POST_REMOVE: + return getPostRemove(); + case OrmPackage.XML_ENTITY__PRE_UPDATE: + return getPreUpdate(); + case OrmPackage.XML_ENTITY__POST_UPDATE: + return getPostUpdate(); + case OrmPackage.XML_ENTITY__POST_LOAD: + return getPostLoad(); + case OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES: + return getAttributeOverrides(); + case OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES: + return getAssociationOverrides(); + case OrmPackage.XML_ENTITY__CACHEABLE: + return getCacheable(); + case OrmPackage.XML_ENTITY__ID_CLASS: + return getIdClass(); + case OrmPackage.XML_ENTITY__NAME: + return getName(); + case OrmPackage.XML_ENTITY__TABLE: + return getTable(); + case OrmPackage.XML_ENTITY__SECONDARY_TABLES: + return getSecondaryTables(); + case OrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS: + return getPrimaryKeyJoinColumns(); + case OrmPackage.XML_ENTITY__INHERITANCE: + return getInheritance(); + case OrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE: + return getDiscriminatorValue(); + case OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN: + return getDiscriminatorColumn(); + case OrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS: + return getSqlResultSetMappings(); + case OrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS: + return isExcludeDefaultListeners(); + case OrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS: + return isExcludeSuperclassListeners(); + case OrmPackage.XML_ENTITY__ENTITY_LISTENERS: + return getEntityListeners(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.XML_ENTITY__NAMED_QUERIES: + getNamedQueries().clear(); + getNamedQueries().addAll((Collection<? extends XmlNamedQuery>)newValue); + return; + case OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES: + getNamedNativeQueries().clear(); + getNamedNativeQueries().addAll((Collection<? extends XmlNamedNativeQuery>)newValue); + return; + case OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR: + setSequenceGenerator((XmlSequenceGenerator)newValue); + return; + case OrmPackage.XML_ENTITY__TABLE_GENERATOR: + setTableGenerator((XmlTableGenerator)newValue); + return; + case OrmPackage.XML_ENTITY__PRE_PERSIST: + setPrePersist((PrePersist)newValue); + return; + case OrmPackage.XML_ENTITY__POST_PERSIST: + setPostPersist((PostPersist)newValue); + return; + case OrmPackage.XML_ENTITY__PRE_REMOVE: + setPreRemove((PreRemove)newValue); + return; + case OrmPackage.XML_ENTITY__POST_REMOVE: + setPostRemove((PostRemove)newValue); + return; + case OrmPackage.XML_ENTITY__PRE_UPDATE: + setPreUpdate((PreUpdate)newValue); + return; + case OrmPackage.XML_ENTITY__POST_UPDATE: + setPostUpdate((PostUpdate)newValue); + return; + case OrmPackage.XML_ENTITY__POST_LOAD: + setPostLoad((PostLoad)newValue); + return; + case OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES: + getAttributeOverrides().clear(); + getAttributeOverrides().addAll((Collection<? extends XmlAttributeOverride>)newValue); + return; + case OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES: + getAssociationOverrides().clear(); + getAssociationOverrides().addAll((Collection<? extends XmlAssociationOverride>)newValue); + return; + case OrmPackage.XML_ENTITY__CACHEABLE: + setCacheable((Boolean)newValue); + return; + case OrmPackage.XML_ENTITY__ID_CLASS: + setIdClass((XmlClassReference)newValue); + return; + case OrmPackage.XML_ENTITY__NAME: + setName((String)newValue); + return; + case OrmPackage.XML_ENTITY__TABLE: + setTable((XmlTable)newValue); + return; + case OrmPackage.XML_ENTITY__SECONDARY_TABLES: + getSecondaryTables().clear(); + getSecondaryTables().addAll((Collection<? extends XmlSecondaryTable>)newValue); + return; + case OrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS: + getPrimaryKeyJoinColumns().clear(); + getPrimaryKeyJoinColumns().addAll((Collection<? extends XmlPrimaryKeyJoinColumn>)newValue); + return; + case OrmPackage.XML_ENTITY__INHERITANCE: + setInheritance((Inheritance)newValue); + return; + case OrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE: + setDiscriminatorValue((String)newValue); + return; + case OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN: + setDiscriminatorColumn((XmlDiscriminatorColumn)newValue); + return; + case OrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS: + getSqlResultSetMappings().clear(); + getSqlResultSetMappings().addAll((Collection<? extends SqlResultSetMapping>)newValue); + return; + case OrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS: + setExcludeDefaultListeners((Boolean)newValue); + return; + case OrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS: + setExcludeSuperclassListeners((Boolean)newValue); + return; + case OrmPackage.XML_ENTITY__ENTITY_LISTENERS: + setEntityListeners((EntityListeners)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ENTITY__NAMED_QUERIES: + getNamedQueries().clear(); + return; + case OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES: + getNamedNativeQueries().clear(); + return; + case OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR: + setSequenceGenerator((XmlSequenceGenerator)null); + return; + case OrmPackage.XML_ENTITY__TABLE_GENERATOR: + setTableGenerator((XmlTableGenerator)null); + return; + case OrmPackage.XML_ENTITY__PRE_PERSIST: + setPrePersist((PrePersist)null); + return; + case OrmPackage.XML_ENTITY__POST_PERSIST: + setPostPersist((PostPersist)null); + return; + case OrmPackage.XML_ENTITY__PRE_REMOVE: + setPreRemove((PreRemove)null); + return; + case OrmPackage.XML_ENTITY__POST_REMOVE: + setPostRemove((PostRemove)null); + return; + case OrmPackage.XML_ENTITY__PRE_UPDATE: + setPreUpdate((PreUpdate)null); + return; + case OrmPackage.XML_ENTITY__POST_UPDATE: + setPostUpdate((PostUpdate)null); + return; + case OrmPackage.XML_ENTITY__POST_LOAD: + setPostLoad((PostLoad)null); + return; + case OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES: + getAttributeOverrides().clear(); + return; + case OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES: + getAssociationOverrides().clear(); + return; + case OrmPackage.XML_ENTITY__CACHEABLE: + setCacheable(CACHEABLE_EDEFAULT); + return; + case OrmPackage.XML_ENTITY__ID_CLASS: + setIdClass((XmlClassReference)null); + return; + case OrmPackage.XML_ENTITY__NAME: + setName(NAME_EDEFAULT); + return; + case OrmPackage.XML_ENTITY__TABLE: + setTable((XmlTable)null); + return; + case OrmPackage.XML_ENTITY__SECONDARY_TABLES: + getSecondaryTables().clear(); + return; + case OrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS: + getPrimaryKeyJoinColumns().clear(); + return; + case OrmPackage.XML_ENTITY__INHERITANCE: + setInheritance((Inheritance)null); + return; + case OrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE: + setDiscriminatorValue(DISCRIMINATOR_VALUE_EDEFAULT); + return; + case OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN: + setDiscriminatorColumn((XmlDiscriminatorColumn)null); + return; + case OrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS: + getSqlResultSetMappings().clear(); + return; + case OrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS: + setExcludeDefaultListeners(EXCLUDE_DEFAULT_LISTENERS_EDEFAULT); + return; + case OrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS: + setExcludeSuperclassListeners(EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT); + return; + case OrmPackage.XML_ENTITY__ENTITY_LISTENERS: + setEntityListeners((EntityListeners)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ENTITY__NAMED_QUERIES: + return namedQueries != null && !namedQueries.isEmpty(); + case OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES: + return namedNativeQueries != null && !namedNativeQueries.isEmpty(); + case OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR: + return sequenceGenerator != null; + case OrmPackage.XML_ENTITY__TABLE_GENERATOR: + return tableGenerator != null; + case OrmPackage.XML_ENTITY__PRE_PERSIST: + return prePersist != null; + case OrmPackage.XML_ENTITY__POST_PERSIST: + return postPersist != null; + case OrmPackage.XML_ENTITY__PRE_REMOVE: + return preRemove != null; + case OrmPackage.XML_ENTITY__POST_REMOVE: + return postRemove != null; + case OrmPackage.XML_ENTITY__PRE_UPDATE: + return preUpdate != null; + case OrmPackage.XML_ENTITY__POST_UPDATE: + return postUpdate != null; + case OrmPackage.XML_ENTITY__POST_LOAD: + return postLoad != null; + case OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES: + return attributeOverrides != null && !attributeOverrides.isEmpty(); + case OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES: + return associationOverrides != null && !associationOverrides.isEmpty(); + case OrmPackage.XML_ENTITY__CACHEABLE: + return CACHEABLE_EDEFAULT == null ? cacheable != null : !CACHEABLE_EDEFAULT.equals(cacheable); + case OrmPackage.XML_ENTITY__ID_CLASS: + return idClass != null; + case OrmPackage.XML_ENTITY__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case OrmPackage.XML_ENTITY__TABLE: + return table != null; + case OrmPackage.XML_ENTITY__SECONDARY_TABLES: + return secondaryTables != null && !secondaryTables.isEmpty(); + case OrmPackage.XML_ENTITY__PRIMARY_KEY_JOIN_COLUMNS: + return primaryKeyJoinColumns != null && !primaryKeyJoinColumns.isEmpty(); + case OrmPackage.XML_ENTITY__INHERITANCE: + return inheritance != null; + case OrmPackage.XML_ENTITY__DISCRIMINATOR_VALUE: + return DISCRIMINATOR_VALUE_EDEFAULT == null ? discriminatorValue != null : !DISCRIMINATOR_VALUE_EDEFAULT.equals(discriminatorValue); + case OrmPackage.XML_ENTITY__DISCRIMINATOR_COLUMN: + return discriminatorColumn != null; + case OrmPackage.XML_ENTITY__SQL_RESULT_SET_MAPPINGS: + return sqlResultSetMappings != null && !sqlResultSetMappings.isEmpty(); + case OrmPackage.XML_ENTITY__EXCLUDE_DEFAULT_LISTENERS: + return excludeDefaultListeners != EXCLUDE_DEFAULT_LISTENERS_EDEFAULT; + case OrmPackage.XML_ENTITY__EXCLUDE_SUPERCLASS_LISTENERS: + return excludeSuperclassListeners != EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT; + case OrmPackage.XML_ENTITY__ENTITY_LISTENERS: + return entityListeners != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlQueryContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ENTITY__NAMED_QUERIES: return OrmPackage.XML_QUERY_CONTAINER__NAMED_QUERIES; + case OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES: return OrmPackage.XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES; + default: return -1; + } + } + if (baseClass == XmlGeneratorContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR: return OrmPackage.XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR; + case OrmPackage.XML_ENTITY__TABLE_GENERATOR: return OrmPackage.XML_GENERATOR_CONTAINER__TABLE_GENERATOR; + default: return -1; + } + } + if (baseClass == XmlEventMethodContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ENTITY__PRE_PERSIST: return OrmPackage.XML_EVENT_METHOD_CONTAINER__PRE_PERSIST; + case OrmPackage.XML_ENTITY__POST_PERSIST: return OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_PERSIST; + case OrmPackage.XML_ENTITY__PRE_REMOVE: return OrmPackage.XML_EVENT_METHOD_CONTAINER__PRE_REMOVE; + case OrmPackage.XML_ENTITY__POST_REMOVE: return OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_REMOVE; + case OrmPackage.XML_ENTITY__PRE_UPDATE: return OrmPackage.XML_EVENT_METHOD_CONTAINER__PRE_UPDATE; + case OrmPackage.XML_ENTITY__POST_UPDATE: return OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_UPDATE; + case OrmPackage.XML_ENTITY__POST_LOAD: return OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_LOAD; + default: return -1; + } + } + if (baseClass == XmlAttributeOverrideContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlAssociationOverrideContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES: return OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlCacheable_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ENTITY__CACHEABLE: return OrmV2_0Package.XML_CACHEABLE_20__CACHEABLE; + default: return -1; + } + } + if (baseClass == XmlEntity_2_0.class) + { + switch (derivedFeatureID) + { + default: return -1; + } + } + if (baseClass == XmlIdClassContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ENTITY__ID_CLASS: return OrmPackage.XML_ID_CLASS_CONTAINER__ID_CLASS; + 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 == XmlQueryContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_QUERY_CONTAINER__NAMED_QUERIES: return OrmPackage.XML_ENTITY__NAMED_QUERIES; + case OrmPackage.XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES: return OrmPackage.XML_ENTITY__NAMED_NATIVE_QUERIES; + default: return -1; + } + } + if (baseClass == XmlGeneratorContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_GENERATOR_CONTAINER__SEQUENCE_GENERATOR: return OrmPackage.XML_ENTITY__SEQUENCE_GENERATOR; + case OrmPackage.XML_GENERATOR_CONTAINER__TABLE_GENERATOR: return OrmPackage.XML_ENTITY__TABLE_GENERATOR; + default: return -1; + } + } + if (baseClass == XmlEventMethodContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_EVENT_METHOD_CONTAINER__PRE_PERSIST: return OrmPackage.XML_ENTITY__PRE_PERSIST; + case OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_PERSIST: return OrmPackage.XML_ENTITY__POST_PERSIST; + case OrmPackage.XML_EVENT_METHOD_CONTAINER__PRE_REMOVE: return OrmPackage.XML_ENTITY__PRE_REMOVE; + case OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_REMOVE: return OrmPackage.XML_ENTITY__POST_REMOVE; + case OrmPackage.XML_EVENT_METHOD_CONTAINER__PRE_UPDATE: return OrmPackage.XML_ENTITY__PRE_UPDATE; + case OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_UPDATE: return OrmPackage.XML_ENTITY__POST_UPDATE; + case OrmPackage.XML_EVENT_METHOD_CONTAINER__POST_LOAD: return OrmPackage.XML_ENTITY__POST_LOAD; + default: return -1; + } + } + if (baseClass == XmlAttributeOverrideContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ENTITY__ATTRIBUTE_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlAssociationOverrideContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES: return OrmPackage.XML_ENTITY__ASSOCIATION_OVERRIDES; + default: return -1; + } + } + if (baseClass == XmlCacheable_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_CACHEABLE_20__CACHEABLE: return OrmPackage.XML_ENTITY__CACHEABLE; + default: return -1; + } + } + if (baseClass == XmlEntity_2_0.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } + if (baseClass == XmlIdClassContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_ID_CLASS_CONTAINER__ID_CLASS: return OrmPackage.XML_ENTITY__ID_CLASS; + 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(" (cacheable: "); + result.append(cacheable); + result.append(", name: "); + result.append(name); + result.append(", discriminatorValue: "); + result.append(discriminatorValue); + result.append(", excludeDefaultListeners: "); + result.append(excludeDefaultListeners); + result.append(", excludeSuperclassListeners: "); + result.append(excludeSuperclassListeners); + result.append(')'); + return result.toString(); + } + + public TextRange getDiscriminatorValueTextRange() { + return getElementTextRange(JPA.DISCRIMINATOR_VALUE); + } + + public TextRange getInheritanceStrategyTextRange() { + return getInheritance() != null ? getInheritance().getStrategyTextRange() : getValidationTextRange(); + } + + public TextRange getCacheableTextRange() { + return getAttributeTextRange(JPA2_0.CACHEABLE); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildClassTranslator(), + buildAccessTranslator(), + buildCacheableTranslator(), + buildMetadataCompleteTranslator(), + buildDescriptionTranslator(), + buildTableTranslator(), + buildSecondaryTableTranslator(), + buildPrimaryKeyJoinColumnTranslator(), + buildIdClassTranslator(), + buildInheritanceTranslator(), + buildDiscriminatorValueTranslator(), + buildDiscriminatorColumnTranslator(), + buildSequenceGeneratorTranslator(), + buildTableGeneratorTranslator(), + buildNamedQueryTranslator(), + buildNamedNativeQueryTranslator(), + buildSqlResultSetMappingTranslator(), + buildExcludeDefaultListenersTranslator(), + buildExcludeSuperclassListenersTranslator(), + buildEntityListenersTranslator(), + PrePersist.buildTranslator(), + PostPersist.buildTranslator(), + PreRemove.buildTranslator(), + PostRemove.buildTranslator(), + PreUpdate.buildTranslator(), + PostUpdate.buildTranslator(), + PostLoad.buildTranslator(), + buildAttributeOverrideTranslator(), + buildAssociationOverrideTranslator(), + Attributes.buildTranslator() + }; + } + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlEntity_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildCacheableTranslator() { + return new Translator(JPA2_0.CACHEABLE, OrmV2_0Package.eINSTANCE.getXmlCacheable_2_0_Cacheable(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildTableTranslator() { + return XmlTable.buildTranslator(JPA.TABLE, OrmPackage.eINSTANCE.getXmlEntity_Table()); + } + + protected static Translator buildSecondaryTableTranslator() { + return XmlSecondaryTable.buildTranslator(JPA.SECONDARY_TABLE, OrmPackage.eINSTANCE.getXmlEntity_SecondaryTables()); + } + + protected static Translator buildPrimaryKeyJoinColumnTranslator() { + return XmlPrimaryKeyJoinColumn.buildTranslator(JPA.PRIMARY_KEY_JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlEntity_PrimaryKeyJoinColumns()); + } + + protected static Translator buildIdClassTranslator() { + return XmlClassReference.buildTranslator(JPA.ID_CLASS, OrmPackage.eINSTANCE.getXmlIdClassContainer_IdClass()); + } + + protected static Translator buildInheritanceTranslator() { + return Inheritance.buildTranslator(JPA.INHERITANCE, OrmPackage.eINSTANCE.getXmlEntity_Inheritance()); + } + + protected static Translator buildDiscriminatorValueTranslator() { + return new Translator(JPA.DISCRIMINATOR_VALUE, OrmPackage.eINSTANCE.getXmlEntity_DiscriminatorValue()); + } + + protected static Translator buildDiscriminatorColumnTranslator() { + return XmlDiscriminatorColumn.buildTranslator(JPA.DISCRIMINATOR_COLUMN, OrmPackage.eINSTANCE.getXmlEntity_DiscriminatorColumn()); + } + + protected static Translator buildSequenceGeneratorTranslator() { + return XmlSequenceGenerator.buildTranslator(JPA.SEQUENCE_GENERATOR, OrmPackage.eINSTANCE.getXmlGeneratorContainer_SequenceGenerator()); + } + + protected static Translator buildTableGeneratorTranslator() { + return XmlTableGenerator.buildTranslator(JPA.TABLE_GENERATOR, OrmPackage.eINSTANCE.getXmlGeneratorContainer_TableGenerator()); + } + + protected static Translator buildNamedQueryTranslator() { + return XmlNamedQuery.buildTranslator(JPA.NAMED_QUERY, OrmPackage.eINSTANCE.getXmlQueryContainer_NamedQueries()); + } + + protected static Translator buildNamedNativeQueryTranslator() { + return XmlNamedNativeQuery.buildTranslator(JPA.NAMED_NATIVE_QUERY, OrmPackage.eINSTANCE.getXmlQueryContainer_NamedNativeQueries()); + } + + protected static Translator buildSqlResultSetMappingTranslator() { + return SqlResultSetMapping.buildTranslator(JPA.SQL_RESULT_SET_MAPPING, OrmPackage.eINSTANCE.getXmlEntity_SqlResultSetMappings()); + } + + protected static Translator buildExcludeDefaultListenersTranslator() { + return new EmptyTagBooleanTranslator(JPA.EXCLUDE_DEFAULT_LISTENERS, OrmPackage.eINSTANCE.getXmlEntity_ExcludeDefaultListeners()); + } + + protected static Translator buildExcludeSuperclassListenersTranslator() { + return new EmptyTagBooleanTranslator(JPA.EXCLUDE_SUPERCLASS_LISTENERS, OrmPackage.eINSTANCE.getXmlEntity_ExcludeSuperclassListeners()); + } + + protected static Translator buildEntityListenersTranslator() { + return EntityListeners.buildTranslator(JPA.ENTITY_LISTENERS, OrmPackage.eINSTANCE.getXmlEntity_EntityListeners()); + } + + protected static Translator buildPrePersistTranslator() { + return PrePersist.buildTranslator(); + } + + protected static Translator buildPostPersistTranslator() { + return PostPersist.buildTranslator(); + } + + protected static Translator buildPreRemoveTranslator() { + return PreRemove.buildTranslator(); + } + + protected static Translator buildPostRemoveTranslator() { + return PostRemove.buildTranslator(); + } + + protected static Translator buildPreUpdateTranslator() { + return PreUpdate.buildTranslator(); + } + + protected static Translator buildPostUpdateTranslator() { + return PostUpdate.buildTranslator(); + } + + protected static Translator buildPostLoadTranslator() { + return PostLoad.buildTranslator(); + } + + protected static Translator buildAttributeOverrideTranslator() { + return XmlAttributeOverride.buildTranslator(JPA.ATTRIBUTE_OVERRIDE, OrmPackage.eINSTANCE.getXmlAttributeOverrideContainer_AttributeOverrides()); + } + + protected static Translator buildAssociationOverrideTranslator() { + return XmlAssociationOverride.buildTranslator(JPA.ASSOCIATION_OVERRIDE, OrmPackage.eINSTANCE.getXmlAssociationOverrideContainer_AssociationOverrides()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntityMappings.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntityMappings.java new file mode 100644 index 0000000000..01398a12ba --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEntityMappings.java @@ -0,0 +1,1154 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleRootTranslator; +import org.eclipse.jpt.common.core.resource.xml.ERootObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.common.utility.internal.collection.CollectionTools; +import org.eclipse.jpt.jpa.core.internal.plugin.JptJpaCorePlugin; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_1.JPA2_1; +import org.eclipse.text.edits.ReplaceEdit; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Entity Mappings</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.jpa.core.resource.orm.XmlEntityMappings#getDescription <em>Description</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPersistenceUnitMetadata <em>Persistence Unit Metadata</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPackage <em>Package</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSchema <em>Schema</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getCatalog <em>Catalog</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSequenceGenerators <em>Sequence Generators</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getTableGenerators <em>Table Generators</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSqlResultSetMappings <em>Sql Result Set Mappings</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getMappedSuperclasses <em>Mapped Superclasses</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getEntities <em>Entities</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getEmbeddables <em>Embeddables</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings() + * @model kind="class" + * @generated + */ +public class XmlEntityMappings extends ERootObjectImpl implements XmlQueryContainer, XmlAccessHolder +{ + /** + * The cached value of the '{@link #getNamedQueries() <em>Named Queries</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNamedQueries() + * @generated + * @ordered + */ + protected EList<XmlNamedQuery> namedQueries; + + /** + * The cached value of the '{@link #getNamedNativeQueries() <em>Named Native Queries</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNamedNativeQueries() + * @generated + * @ordered + */ + protected EList<XmlNamedNativeQuery> namedNativeQueries; + + /** + * The default value of the '{@link #getAccess() <em>Access</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAccess() + * @generated + * @ordered + */ + protected static final String ACCESS_EDEFAULT = null; + + /** + * The cached value of the '{@link #getAccess() <em>Access</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAccess() + * @generated + * @ordered + */ + protected String access = ACCESS_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 #getPersistenceUnitMetadata() <em>Persistence Unit Metadata</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPersistenceUnitMetadata() + * @generated + * @ordered + */ + protected XmlPersistenceUnitMetadata persistenceUnitMetadata; + + /** + * The default value of the '{@link #getPackage() <em>Package</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPackage() + * @generated + * @ordered + */ + protected static final String PACKAGE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getPackage() <em>Package</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPackage() + * @generated + * @ordered + */ + protected String package_ = PACKAGE_EDEFAULT; + + /** + * The default value of the '{@link #getSchema() <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSchema() + * @generated + * @ordered + */ + protected static final String SCHEMA_EDEFAULT = null; + + /** + * The cached value of the '{@link #getSchema() <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSchema() + * @generated + * @ordered + */ + protected String schema = SCHEMA_EDEFAULT; + + /** + * The default value of the '{@link #getCatalog() <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCatalog() + * @generated + * @ordered + */ + protected static final String CATALOG_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCatalog() <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCatalog() + * @generated + * @ordered + */ + protected String catalog = CATALOG_EDEFAULT; + + /** + * The cached value of the '{@link #getSequenceGenerators() <em>Sequence Generators</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSequenceGenerators() + * @generated + * @ordered + */ + protected EList<XmlSequenceGenerator> sequenceGenerators; + + /** + * The cached value of the '{@link #getTableGenerators() <em>Table Generators</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTableGenerators() + * @generated + * @ordered + */ + protected EList<XmlTableGenerator> tableGenerators; + + /** + * The cached value of the '{@link #getSqlResultSetMappings() <em>Sql Result Set Mappings</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSqlResultSetMappings() + * @generated + * @ordered + */ + protected EList<SqlResultSetMapping> sqlResultSetMappings; + + /** + * The cached value of the '{@link #getMappedSuperclasses() <em>Mapped Superclasses</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMappedSuperclasses() + * @generated + * @ordered + */ + protected EList<XmlMappedSuperclass> mappedSuperclasses; + + /** + * The cached value of the '{@link #getEntities() <em>Entities</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEntities() + * @generated + * @ordered + */ + protected EList<XmlEntity> entities; + + /** + * The cached value of the '{@link #getEmbeddables() <em>Embeddables</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEmbeddables() + * @generated + * @ordered + */ + protected EList<XmlEmbeddable> embeddables; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlEntityMappings() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_ENTITY_MAPPINGS; + } + + /** + * Returns the value of the '<em><b>Named Queries</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Named Queries</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Named Queries</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer_NamedQueries() + * @model containment="true" + * @generated + */ + public EList<XmlNamedQuery> getNamedQueries() + { + if (namedQueries == null) + { + namedQueries = new EObjectContainmentEList<XmlNamedQuery>(XmlNamedQuery.class, this, OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES); + } + return namedQueries; + } + + /** + * Returns the value of the '<em><b>Named Native Queries</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Named Native Queries</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Named Native Queries</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer_NamedNativeQueries() + * @model containment="true" + * @generated + */ + public EList<XmlNamedNativeQuery> getNamedNativeQueries() + { + if (namedNativeQueries == null) + { + namedNativeQueries = new EObjectContainmentEList<XmlNamedNativeQuery>(XmlNamedNativeQuery.class, this, OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES); + } + return namedNativeQueries; + } + + /** + * 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#getXmlEntityMappings_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.XmlEntityMappings#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.XML_ENTITY_MAPPINGS__DESCRIPTION, oldDescription, description)); + } + + /** + * Returns the value of the '<em><b>Persistence Unit Metadata</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>XmlPersistence Unit Metadata</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>Persistence Unit Metadata</em>' containment reference. + * @see #setPersistenceUnitMetadata(XmlPersistenceUnitMetadata) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_PersistenceUnitMetadata() + * @model containment="true" + * @generated + */ + public XmlPersistenceUnitMetadata getPersistenceUnitMetadata() + { + return persistenceUnitMetadata; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPersistenceUnitMetadata(XmlPersistenceUnitMetadata newPersistenceUnitMetadata, NotificationChain msgs) + { + XmlPersistenceUnitMetadata oldPersistenceUnitMetadata = persistenceUnitMetadata; + persistenceUnitMetadata = newPersistenceUnitMetadata; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA, oldPersistenceUnitMetadata, newPersistenceUnitMetadata); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPersistenceUnitMetadata <em>Persistence Unit Metadata</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Persistence Unit Metadata</em>' containment reference. + * @see #getPersistenceUnitMetadata() + * @generated + */ + public void setPersistenceUnitMetadata(XmlPersistenceUnitMetadata newPersistenceUnitMetadata) + { + if (newPersistenceUnitMetadata != persistenceUnitMetadata) + { + NotificationChain msgs = null; + if (persistenceUnitMetadata != null) + msgs = ((InternalEObject)persistenceUnitMetadata).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA, null, msgs); + if (newPersistenceUnitMetadata != null) + msgs = ((InternalEObject)newPersistenceUnitMetadata).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA, null, msgs); + msgs = basicSetPersistenceUnitMetadata(newPersistenceUnitMetadata, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA, newPersistenceUnitMetadata, newPersistenceUnitMetadata)); + } + + /** + * Returns the value of the '<em><b>Package</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Package</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Package</em>' attribute. + * @see #setPackage(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_Package() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getPackage() + { + return package_; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getPackage <em>Package</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Package</em>' attribute. + * @see #getPackage() + * @generated + */ + public void setPackage(String newPackage) + { + String oldPackage = package_; + package_ = newPackage; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY_MAPPINGS__PACKAGE, oldPackage, package_)); + } + + /** + * Returns the value of the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Schema</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Schema</em>' attribute. + * @see #setSchema(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_Schema() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getSchema() + { + return schema; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getSchema <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Schema</em>' attribute. + * @see #getSchema() + * @generated + */ + public void setSchema(String newSchema) + { + String oldSchema = schema; + schema = newSchema; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY_MAPPINGS__SCHEMA, oldSchema, schema)); + } + + /** + * Returns the value of the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Catalog</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Catalog</em>' attribute. + * @see #setCatalog(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_Catalog() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getCatalog() + { + return catalog; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getCatalog <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Catalog</em>' attribute. + * @see #getCatalog() + * @generated + */ + public void setCatalog(String newCatalog) + { + String oldCatalog = catalog; + catalog = newCatalog; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY_MAPPINGS__CATALOG, oldCatalog, catalog)); + } + + /** + * Returns the value of the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Access</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Access</em>' attribute. + * @see #setAccess(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder_Access() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getAccess() + { + return access; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntityMappings#getAccess <em>Access</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Access</em>' attribute. + * @see #getAccess() + * @generated + */ + public void setAccess(String newAccess) + { + String oldAccess = access; + access = newAccess; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ENTITY_MAPPINGS__ACCESS, oldAccess, access)); + } + + /** + * Returns the value of the '<em><b>Sequence Generators</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Sequence Generators</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Sequence Generators</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_SequenceGenerators() + * @model containment="true" + * @generated + */ + public EList<XmlSequenceGenerator> getSequenceGenerators() + { + if (sequenceGenerators == null) + { + sequenceGenerators = new EObjectContainmentEList<XmlSequenceGenerator>(XmlSequenceGenerator.class, this, OrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS); + } + return sequenceGenerators; + } + + /** + * Returns the value of the '<em><b>Table Generators</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Table Generators</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Table Generators</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_TableGenerators() + * @model containment="true" + * @generated + */ + public EList<XmlTableGenerator> getTableGenerators() + { + if (tableGenerators == null) + { + tableGenerators = new EObjectContainmentEList<XmlTableGenerator>(XmlTableGenerator.class, this, OrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS); + } + return tableGenerators; + } + + /** + * Returns the value of the '<em><b>Sql Result Set Mappings</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Sql Result Set Mappings</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Sql Result Set Mappings</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_SqlResultSetMappings() + * @model containment="true" + * @generated + */ + public EList<SqlResultSetMapping> getSqlResultSetMappings() + { + if (sqlResultSetMappings == null) + { + sqlResultSetMappings = new EObjectContainmentEList<SqlResultSetMapping>(SqlResultSetMapping.class, this, OrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS); + } + return sqlResultSetMappings; + } + + /** + * Returns the value of the '<em><b>Mapped Superclasses</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Mapped Superclasses</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Mapped Superclasses</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_MappedSuperclasses() + * @model containment="true" + * @generated + */ + public EList<XmlMappedSuperclass> getMappedSuperclasses() + { + if (mappedSuperclasses == null) + { + mappedSuperclasses = new EObjectContainmentEList<XmlMappedSuperclass>(XmlMappedSuperclass.class, this, OrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES); + } + return mappedSuperclasses; + } + + /** + * Returns the value of the '<em><b>Entities</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlEntity}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Entities</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Entities</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_Entities() + * @model containment="true" + * @generated + */ + public EList<XmlEntity> getEntities() + { + if (entities == null) + { + entities = new EObjectContainmentEList<XmlEntity>(XmlEntity.class, this, OrmPackage.XML_ENTITY_MAPPINGS__ENTITIES); + } + return entities; + } + + /** + * Returns the value of the '<em><b>Embeddables</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Embeddables</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Embeddables</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEntityMappings_Embeddables() + * @model containment="true" + * @generated + */ + public EList<XmlEmbeddable> getEmbeddables() + { + if (embeddables == null) + { + embeddables = new EObjectContainmentEList<XmlEmbeddable>(XmlEmbeddable.class, this, OrmPackage.XML_ENTITY_MAPPINGS__EMBEDDABLES); + } + return embeddables; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES: + return ((InternalEList<?>)getNamedQueries()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES: + return ((InternalEList<?>)getNamedNativeQueries()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA: + return basicSetPersistenceUnitMetadata(null, msgs); + case OrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS: + return ((InternalEList<?>)getSequenceGenerators()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS: + return ((InternalEList<?>)getTableGenerators()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS: + return ((InternalEList<?>)getSqlResultSetMappings()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES: + return ((InternalEList<?>)getMappedSuperclasses()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY_MAPPINGS__ENTITIES: + return ((InternalEList<?>)getEntities()).basicRemove(otherEnd, msgs); + case OrmPackage.XML_ENTITY_MAPPINGS__EMBEDDABLES: + return ((InternalEList<?>)getEmbeddables()).basicRemove(otherEnd, 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_ENTITY_MAPPINGS__NAMED_QUERIES: + return getNamedQueries(); + case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES: + return getNamedNativeQueries(); + case OrmPackage.XML_ENTITY_MAPPINGS__ACCESS: + return getAccess(); + case OrmPackage.XML_ENTITY_MAPPINGS__DESCRIPTION: + return getDescription(); + case OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA: + return getPersistenceUnitMetadata(); + case OrmPackage.XML_ENTITY_MAPPINGS__PACKAGE: + return getPackage(); + case OrmPackage.XML_ENTITY_MAPPINGS__SCHEMA: + return getSchema(); + case OrmPackage.XML_ENTITY_MAPPINGS__CATALOG: + return getCatalog(); + case OrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS: + return getSequenceGenerators(); + case OrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS: + return getTableGenerators(); + case OrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS: + return getSqlResultSetMappings(); + case OrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES: + return getMappedSuperclasses(); + case OrmPackage.XML_ENTITY_MAPPINGS__ENTITIES: + return getEntities(); + case OrmPackage.XML_ENTITY_MAPPINGS__EMBEDDABLES: + return getEmbeddables(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES: + getNamedQueries().clear(); + getNamedQueries().addAll((Collection<? extends XmlNamedQuery>)newValue); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES: + getNamedNativeQueries().clear(); + getNamedNativeQueries().addAll((Collection<? extends XmlNamedNativeQuery>)newValue); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__ACCESS: + setAccess((String)newValue); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__DESCRIPTION: + setDescription((String)newValue); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA: + setPersistenceUnitMetadata((XmlPersistenceUnitMetadata)newValue); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__PACKAGE: + setPackage((String)newValue); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__SCHEMA: + setSchema((String)newValue); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__CATALOG: + setCatalog((String)newValue); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS: + getSequenceGenerators().clear(); + getSequenceGenerators().addAll((Collection<? extends XmlSequenceGenerator>)newValue); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS: + getTableGenerators().clear(); + getTableGenerators().addAll((Collection<? extends XmlTableGenerator>)newValue); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS: + getSqlResultSetMappings().clear(); + getSqlResultSetMappings().addAll((Collection<? extends SqlResultSetMapping>)newValue); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES: + getMappedSuperclasses().clear(); + getMappedSuperclasses().addAll((Collection<? extends XmlMappedSuperclass>)newValue); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__ENTITIES: + getEntities().clear(); + getEntities().addAll((Collection<? extends XmlEntity>)newValue); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__EMBEDDABLES: + getEmbeddables().clear(); + getEmbeddables().addAll((Collection<? extends XmlEmbeddable>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES: + getNamedQueries().clear(); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES: + getNamedNativeQueries().clear(); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__ACCESS: + setAccess(ACCESS_EDEFAULT); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA: + setPersistenceUnitMetadata((XmlPersistenceUnitMetadata)null); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__PACKAGE: + setPackage(PACKAGE_EDEFAULT); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__SCHEMA: + setSchema(SCHEMA_EDEFAULT); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__CATALOG: + setCatalog(CATALOG_EDEFAULT); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS: + getSequenceGenerators().clear(); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS: + getTableGenerators().clear(); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS: + getSqlResultSetMappings().clear(); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES: + getMappedSuperclasses().clear(); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__ENTITIES: + getEntities().clear(); + return; + case OrmPackage.XML_ENTITY_MAPPINGS__EMBEDDABLES: + getEmbeddables().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES: + return namedQueries != null && !namedQueries.isEmpty(); + case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES: + return namedNativeQueries != null && !namedNativeQueries.isEmpty(); + case OrmPackage.XML_ENTITY_MAPPINGS__ACCESS: + return ACCESS_EDEFAULT == null ? access != null : !ACCESS_EDEFAULT.equals(access); + case OrmPackage.XML_ENTITY_MAPPINGS__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case OrmPackage.XML_ENTITY_MAPPINGS__PERSISTENCE_UNIT_METADATA: + return persistenceUnitMetadata != null; + case OrmPackage.XML_ENTITY_MAPPINGS__PACKAGE: + return PACKAGE_EDEFAULT == null ? package_ != null : !PACKAGE_EDEFAULT.equals(package_); + case OrmPackage.XML_ENTITY_MAPPINGS__SCHEMA: + return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema); + case OrmPackage.XML_ENTITY_MAPPINGS__CATALOG: + return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog); + case OrmPackage.XML_ENTITY_MAPPINGS__SEQUENCE_GENERATORS: + return sequenceGenerators != null && !sequenceGenerators.isEmpty(); + case OrmPackage.XML_ENTITY_MAPPINGS__TABLE_GENERATORS: + return tableGenerators != null && !tableGenerators.isEmpty(); + case OrmPackage.XML_ENTITY_MAPPINGS__SQL_RESULT_SET_MAPPINGS: + return sqlResultSetMappings != null && !sqlResultSetMappings.isEmpty(); + case OrmPackage.XML_ENTITY_MAPPINGS__MAPPED_SUPERCLASSES: + return mappedSuperclasses != null && !mappedSuperclasses.isEmpty(); + case OrmPackage.XML_ENTITY_MAPPINGS__ENTITIES: + return entities != null && !entities.isEmpty(); + case OrmPackage.XML_ENTITY_MAPPINGS__EMBEDDABLES: + return embeddables != null && !embeddables.isEmpty(); + } + return super.eIsSet(featureID); + } + + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlQueryContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES: return OrmPackage.XML_QUERY_CONTAINER__NAMED_QUERIES; + case OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES: return OrmPackage.XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES; + default: return -1; + } + } + if (baseClass == XmlAccessHolder.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ENTITY_MAPPINGS__ACCESS: return OrmPackage.XML_ACCESS_HOLDER__ACCESS; + 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 == XmlQueryContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_QUERY_CONTAINER__NAMED_QUERIES: return OrmPackage.XML_ENTITY_MAPPINGS__NAMED_QUERIES; + case OrmPackage.XML_QUERY_CONTAINER__NAMED_NATIVE_QUERIES: return OrmPackage.XML_ENTITY_MAPPINGS__NAMED_NATIVE_QUERIES; + default: return -1; + } + } + if (baseClass == XmlAccessHolder.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_ACCESS_HOLDER__ACCESS: return OrmPackage.XML_ENTITY_MAPPINGS__ACCESS; + 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(" (access: "); + result.append(access); + result.append(", description: "); + result.append(description); + result.append(", package: "); + result.append(package_); + result.append(", schema: "); + result.append(schema); + result.append(", catalog: "); + result.append(catalog); + result.append(')'); + return result.toString(); + } + + + // ********** type mappings ********** + + public List<XmlTypeMapping> getTypeMappings() { + // convert lists to arrays to *reduce* risk of ConcurrentModificationException + ArrayList<XmlTypeMapping> typeMappings = new ArrayList<XmlTypeMapping>(); + CollectionTools.addAll(typeMappings, this.getMappedSuperclasses().toArray(EMPTY_XML_TYPE_MAPPING_ARRAY)); + CollectionTools.addAll(typeMappings, this.getEntities().toArray(EMPTY_XML_TYPE_MAPPING_ARRAY)); + CollectionTools.addAll(typeMappings, this.getEmbeddables().toArray(EMPTY_XML_TYPE_MAPPING_ARRAY)); + return typeMappings; + } + + private static final XmlTypeMapping[] EMPTY_XML_TYPE_MAPPING_ARRAY = new XmlTypeMapping[0]; + + + // ********** version -> schema location mapping ********** + + private static final HashMap<String, String> SCHEMA_LOCATIONS = buildSchemaLocations(); + + private static HashMap<String, String> buildSchemaLocations() { + HashMap<String, String> map = new HashMap<String, String>(); + map.put(JPA.SCHEMA_VERSION, JPA.SCHEMA_LOCATION); + map.put(JPA2_0.SCHEMA_VERSION, JPA2_0.SCHEMA_LOCATION); + map.put(JPA2_1.SCHEMA_VERSION, JPA2_1.SCHEMA_LOCATION); + return map; + } + + @Override + protected String getNamespace() { + return JPA.SCHEMA_NAMESPACE; + } + + @Override + protected HashMap<String, String> schemaLocations() { + return SCHEMA_LOCATIONS; + } + + + // ********** content type ********** + + /** + * The content type for <code>orm.xml</code> mapping files. + * @see org.eclipse.jpt.jpa.core.resource.ResourceMappingFile.Root#CONTENT_TYPE + */ + public static final IContentType CONTENT_TYPE = JptJpaCorePlugin.instance().getContentType("orm"); //$NON-NLS-1$ + + + // ********** default runtime path ********** + + public static final String DEFAULT_RUNTIME_PATH_NAME = "META-INF/orm.xml"; //$NON-NLS-1$ + + public static final IPath DEFAULT_RUNTIME_PATH = new Path(DEFAULT_RUNTIME_PATH_NAME); + + + // ********** translators ********** + + public static Translator getRootTranslator() { + return ROOT_TRANSLATOR; + } + + private static final Translator ROOT_TRANSLATOR = buildRootTranslator(); + + private static Translator buildRootTranslator() { + return new SimpleRootTranslator(JPA.ENTITY_MAPPINGS, OrmPackage.eINSTANCE.getXmlEntityMappings(), buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildVersionTranslator(SCHEMA_LOCATIONS), + buildNamespaceTranslator(JPA.SCHEMA_NAMESPACE), + buildSchemaNamespaceTranslator(), + buildSchemaLocationTranslator(JPA.SCHEMA_NAMESPACE, SCHEMA_LOCATIONS), + buildDescriptionTranslator(), + XmlPersistenceUnitMetadata.buildTranslator(JPA.PERSISTENCE_UNIT_METADATA, OrmPackage.eINSTANCE.getXmlEntityMappings_PersistenceUnitMetadata()), + buildPackageTranslator(), + buildSchemaTranslator(), + buildCatalogTranslator(), + buildAccessTranslator(), + XmlSequenceGenerator.buildTranslator(JPA.SEQUENCE_GENERATOR, OrmPackage.eINSTANCE.getXmlEntityMappings_SequenceGenerators()), + XmlTableGenerator.buildTranslator(JPA.TABLE_GENERATOR, OrmPackage.eINSTANCE.getXmlEntityMappings_TableGenerators()), + XmlNamedQuery.buildTranslator(JPA.NAMED_QUERY, OrmPackage.eINSTANCE.getXmlQueryContainer_NamedQueries()), + XmlNamedNativeQuery.buildTranslator(JPA.NAMED_NATIVE_QUERY, OrmPackage.eINSTANCE.getXmlQueryContainer_NamedNativeQueries()), + SqlResultSetMapping.buildTranslator(JPA.SQL_RESULT_SET_MAPPING, OrmPackage.eINSTANCE.getXmlEntityMappings_SqlResultSetMappings()), + XmlMappedSuperclass.buildTranslator(JPA.MAPPED_SUPERCLASS, OrmPackage.eINSTANCE.getXmlEntityMappings_MappedSuperclasses()), + XmlEntity.buildTranslator(JPA.ENTITY, OrmPackage.eINSTANCE.getXmlEntityMappings_Entities()), + XmlEmbeddable.buildTranslator(JPA.EMBEDDABLE, OrmPackage.eINSTANCE.getXmlEntityMappings_Embeddables()), + }; + } + + protected static Translator buildDescriptionTranslator() { + return new Translator(JPA.DESCRIPTION, OrmPackage.eINSTANCE.getXmlEntityMappings_Description()); + } + + protected static Translator buildPackageTranslator() { + return new Translator(JPA.PACKAGE, OrmPackage.eINSTANCE.getXmlEntityMappings_Package()); + } + + protected static Translator buildSchemaTranslator() { + return new Translator(JPA.SCHEMA, OrmPackage.eINSTANCE.getXmlEntityMappings_Schema()); + } + + protected static Translator buildCatalogTranslator() { + return new Translator(JPA.CATALOG, OrmPackage.eINSTANCE.getXmlEntityMappings_Catalog()); + } + + protected static Translator buildAccessTranslator() { + return new Translator(JPA.ACCESS, OrmPackage.eINSTANCE.getXmlAccessHolder_Access()); + } + + + // ********** refactorings ********** + + public ReplaceEdit createRenamePackageEdit(String newName) { + int offset = getElementNode(JPA.PACKAGE).getStartStructuredDocumentRegion().getEndOffset(); + return new ReplaceEdit(offset, this.package_.length(), newName); + } + + + // *********** content assist ********* + + public boolean schemaTouches(int pos) { + TextRange textRange = this.getElementCodeAssistTextRange(JPA.SCHEMA); + return (textRange != null) && (textRange.touches(pos)); + } + + public boolean catalogTouches(int pos) { + TextRange textRange = this.getElementCodeAssistTextRange(JPA.CATALOG); + return (textRange != null) && (textRange.touches(pos)); + } + + public boolean packageTouches(int pos) { + TextRange textRange = this.getElementCodeAssistTextRange(JPA.PACKAGE); + return (textRange != null) && (textRange.touches(pos)); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEventMethodContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEventMethodContainer.java new file mode 100644 index 0000000000..2e513073c2 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlEventMethodContainer.java @@ -0,0 +1,227 @@ +/******************************************************************************* + * Copyright (c)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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Event Method Container</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.jpa.core.resource.orm.XmlEventMethodContainer#getPrePersist <em>Pre Persist</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostPersist <em>Post Persist</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreRemove <em>Pre Remove</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostRemove <em>Post Remove</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreUpdate <em>Pre Update</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostUpdate <em>Post Update</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostLoad <em>Post Load</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlEventMethodContainer extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Pre Persist</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Pre Persist</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>Pre Persist</em>' containment reference. + * @see #setPrePersist(PrePersist) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PrePersist() + * @model containment="true" + * @generated + */ + PrePersist getPrePersist(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPrePersist <em>Pre Persist</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Pre Persist</em>' containment reference. + * @see #getPrePersist() + * @generated + */ + void setPrePersist(PrePersist value); + + /** + * Returns the value of the '<em><b>Post Persist</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Post Persist</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>Post Persist</em>' containment reference. + * @see #setPostPersist(PostPersist) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostPersist() + * @model containment="true" + * @generated + */ + PostPersist getPostPersist(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostPersist <em>Post Persist</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Post Persist</em>' containment reference. + * @see #getPostPersist() + * @generated + */ + void setPostPersist(PostPersist value); + + /** + * Returns the value of the '<em><b>Pre Remove</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Pre Remove</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>Pre Remove</em>' containment reference. + * @see #setPreRemove(PreRemove) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PreRemove() + * @model containment="true" + * @generated + */ + PreRemove getPreRemove(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreRemove <em>Pre Remove</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Pre Remove</em>' containment reference. + * @see #getPreRemove() + * @generated + */ + void setPreRemove(PreRemove value); + + /** + * Returns the value of the '<em><b>Post Remove</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Post Remove</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>Post Remove</em>' containment reference. + * @see #setPostRemove(PostRemove) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostRemove() + * @model containment="true" + * @generated + */ + PostRemove getPostRemove(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostRemove <em>Post Remove</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Post Remove</em>' containment reference. + * @see #getPostRemove() + * @generated + */ + void setPostRemove(PostRemove value); + + /** + * Returns the value of the '<em><b>Pre Update</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Pre Update</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>Pre Update</em>' containment reference. + * @see #setPreUpdate(PreUpdate) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PreUpdate() + * @model containment="true" + * @generated + */ + PreUpdate getPreUpdate(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPreUpdate <em>Pre Update</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Pre Update</em>' containment reference. + * @see #getPreUpdate() + * @generated + */ + void setPreUpdate(PreUpdate value); + + /** + * Returns the value of the '<em><b>Post Update</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Post Update</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>Post Update</em>' containment reference. + * @see #setPostUpdate(PostUpdate) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostUpdate() + * @model containment="true" + * @generated + */ + PostUpdate getPostUpdate(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostUpdate <em>Post Update</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Post Update</em>' containment reference. + * @see #getPostUpdate() + * @generated + */ + void setPostUpdate(PostUpdate value); + + /** + * Returns the value of the '<em><b>Post Load</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Post Load</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>Post Load</em>' containment reference. + * @see #setPostLoad(PostLoad) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlEventMethodContainer_PostLoad() + * @model containment="true" + * @generated + */ + PostLoad getPostLoad(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlEventMethodContainer#getPostLoad <em>Post Load</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Post Load</em>' containment reference. + * @see #getPostLoad() + * @generated + */ + void setPostLoad(PostLoad value); + +} // XmlEventMethodContainer diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratedValue.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratedValue.java new file mode 100644 index 0000000000..43f8028ae7 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratedValue.java @@ -0,0 +1,313 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Generated Value</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.jpa.core.resource.orm.XmlGeneratedValue#getGenerator <em>Generator</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#getStrategy <em>Strategy</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratedValue() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class XmlGeneratedValue extends EBaseObjectImpl implements EBaseObject +{ + /** + * The default value of the '{@link #getGenerator() <em>Generator</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGenerator() + * @generated + * @ordered + */ + protected static final String GENERATOR_EDEFAULT = null; + + /** + * The cached value of the '{@link #getGenerator() <em>Generator</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGenerator() + * @generated + * @ordered + */ + protected String generator = GENERATOR_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 GenerationType STRATEGY_EDEFAULT = null; + + /** + * The cached value of the '{@link #getStrategy() <em>Strategy</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStrategy() + * @generated + * @ordered + */ + protected GenerationType strategy = STRATEGY_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlGeneratedValue() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_GENERATED_VALUE; + } + + /** + * Returns the value of the '<em><b>Generator</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Generator</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Generator</em>' attribute. + * @see #setGenerator(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratedValue_Generator() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getGenerator() + { + return generator; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#getGenerator <em>Generator</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Generator</em>' attribute. + * @see #getGenerator() + * @generated + */ + public void setGenerator(String newGenerator) + { + String oldGenerator = generator; + generator = newGenerator; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_GENERATED_VALUE__GENERATOR, oldGenerator, generator)); + } + + /** + * Returns the value of the '<em><b>Strategy</b></em>' attribute. + * The default value is <code>"TABLE"</code>. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.GenerationType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Strategy</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Strategy</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.GenerationType + * @see #setStrategy(GenerationType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratedValue_Strategy() + * @model default="TABLE" + * @generated + */ + public GenerationType getStrategy() + { + return strategy; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratedValue#getStrategy <em>Strategy</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Strategy</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.GenerationType + * @see #getStrategy() + * @generated + */ + public void setStrategy(GenerationType newStrategy) + { + GenerationType oldStrategy = strategy; + strategy = newStrategy == null ? STRATEGY_EDEFAULT : newStrategy; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_GENERATED_VALUE__STRATEGY, oldStrategy, strategy)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.XML_GENERATED_VALUE__GENERATOR: + return getGenerator(); + case OrmPackage.XML_GENERATED_VALUE__STRATEGY: + return getStrategy(); + } + 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_GENERATED_VALUE__GENERATOR: + setGenerator((String)newValue); + return; + case OrmPackage.XML_GENERATED_VALUE__STRATEGY: + setStrategy((GenerationType)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_GENERATED_VALUE__GENERATOR: + setGenerator(GENERATOR_EDEFAULT); + return; + case OrmPackage.XML_GENERATED_VALUE__STRATEGY: + setStrategy(STRATEGY_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_GENERATED_VALUE__GENERATOR: + return GENERATOR_EDEFAULT == null ? generator != null : !GENERATOR_EDEFAULT.equals(generator); + case OrmPackage.XML_GENERATED_VALUE__STRATEGY: + return strategy != STRATEGY_EDEFAULT; + } + 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(" (generator: "); + result.append(generator); + result.append(", strategy: "); + result.append(strategy); + result.append(')'); + return result.toString(); + } + + public TextRange getGeneratorTextRange() { + return getAttributeTextRange(JPA.GENERATOR); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren() + ); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildStrategyTranslator(), + buildGeneratorTranslator() + }; + } + + protected static Translator buildStrategyTranslator() { + return new Translator(JPA.STRATEGY, OrmPackage.eINSTANCE.getXmlGeneratedValue_Strategy(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildGeneratorTranslator() { + return new Translator(JPA.GENERATOR, OrmPackage.eINSTANCE.getXmlGeneratedValue_Generator(), Translator.DOM_ATTRIBUTE); + } + + // *********** content assist ************ + + protected TextRange getGeneratorCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.GENERATOR); + } + public boolean generatorTouches(int pos) { + TextRange textRange = this.getGeneratorCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } +} // GeneratedValue diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGenerator.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGenerator.java new file mode 100644 index 0000000000..c3a1fab13f --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGenerator.java @@ -0,0 +1,128 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Generator</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.jpa.core.resource.orm.XmlGenerator#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getInitialValue <em>Initial Value</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getAllocationSize <em>Allocation Size</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlGenerator extends XmlGenerator_2_0 +{ + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlGenerator_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#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 + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Initial Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Initial Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Initial Value</em>' attribute. + * @see #setInitialValue(Integer) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_InitialValue() + * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject" + * @generated + */ + Integer getInitialValue(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getInitialValue <em>Initial Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Initial Value</em>' attribute. + * @see #getInitialValue() + * @generated + */ + void setInitialValue(Integer value); + + /** + * Returns the value of the '<em><b>Allocation Size</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Allocation Size</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Allocation Size</em>' attribute. + * @see #setAllocationSize(Integer) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_AllocationSize() + * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject" + * @generated + */ + Integer getAllocationSize(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGenerator#getAllocationSize <em>Allocation Size</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Allocation Size</em>' attribute. + * @see #getAllocationSize() + * @generated + */ + void setAllocationSize(Integer value); + + TextRange getNameTextRange(); + + TextRange getSchemaCodeAssistTextRange(); + + TextRange getCatalogCodeAssistTextRange(); + + boolean schemaTouches(int pos); + + boolean catalogTouches(int pos); +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratorContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratorContainer.java new file mode 100644 index 0000000000..e7c1795ed1 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlGeneratorContainer.java @@ -0,0 +1,86 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Generator Container</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#getSequenceGenerator <em>Sequence Generator</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#getTableGenerator <em>Table Generator</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlGeneratorContainer extends EBaseObject +{ + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer_SequenceGenerator() + * @model containment="true" + * @generated + */ + XmlSequenceGenerator getSequenceGenerator(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#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 + */ + void setSequenceGenerator(XmlSequenceGenerator value); + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlGeneratorContainer_TableGenerator() + * @model containment="true" + * @generated + */ + XmlTableGenerator getTableGenerator(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer#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 + */ + void setTableGenerator(XmlTableGenerator value); + +} // XmlGeneratorContainer diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlId.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlId.java new file mode 100644 index 0000000000..7877c89fed --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlId.java @@ -0,0 +1,801 @@ +/******************************************************************************* + * Copyright (c) 2007, 2011 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.jpa.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.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.MappingKeys; +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.jpa.core.resource.orm.XmlId#getGeneratedValue <em>Generated Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.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; + /** + * 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 EnumType ENUMERATED_EDEFAULT = null; + /** + * 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.jpa.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.jpa.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.jpa.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.jpa.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.jpa.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.jpa.core.resource.orm.TemporalType + * @see #setTemporal(TemporalType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Temporal() + * @model + * @generated + */ + public TemporalType getTemporal() + { + return temporal; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.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.jpa.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.jpa.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.jpa.core.resource.orm.EnumType + * @see #setEnumerated(EnumType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Enumerated() + * @model + * @generated + */ + public EnumType getEnumerated() + { + return enumerated; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.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.jpa.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.jpa.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.jpa.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.jpa.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.jpa.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.jpa.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.jpa.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() { + throw new UnsupportedOperationException("enumerated not supported by id mappings"); + } + + public TextRange getLobTextRange() { + throw new UnsupportedOperationException("lob not supported by id mappings"); + } + + public TextRange getTemporalTextRange() { + return getAttributeTextRange(JPA.TEMPORAL); + } + + 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()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlIdClassContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlIdClassContainer.java new file mode 100644 index 0000000000..41c7d741e0 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlIdClassContainer.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2010 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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Id Class Container</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer#getIdClass <em>Id Class</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlIdClassContainer() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlIdClassContainer extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Id Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Id Class</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>Id Class</em>' containment reference. + * @see #setIdClass(XmlClassReference) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlIdClassContainer_IdClass() + * @model containment="true" + * @generated + */ + XmlClassReference getIdClass(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlIdClassContainer#getIdClass <em>Id Class</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Id Class</em>' containment reference. + * @see #getIdClass() + * @generated + */ + void setIdClass(XmlClassReference value); + +} // XmlIdClassContainer diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumn.java new file mode 100644 index 0000000000..3cf2d975f0 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumn.java @@ -0,0 +1,277 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Join 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.jpa.core.resource.orm.OrmPackage#getXmlJoinColumn() + * @model kind="class" + * @generated + */ +public class XmlJoinColumn extends AbstractXmlBaseColumn implements XmlBaseJoinColumn +{ + /** + * The default value of the '{@link #getReferencedColumnName() <em>Referenced Column Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferencedColumnName() + * @generated + * @ordered + */ + protected static final String REFERENCED_COLUMN_NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getReferencedColumnName() <em>Referenced Column Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferencedColumnName() + * @generated + * @ordered + */ + protected String referencedColumnName = REFERENCED_COLUMN_NAME_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlJoinColumn() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_JOIN_COLUMN; + } + + /** + * Returns the value of the '<em><b>Referenced Column Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referenced Column 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>Referenced Column Name</em>' attribute. + * @see #setReferencedColumnName(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseJoinColumn_ReferencedColumnName() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getReferencedColumnName() + { + return referencedColumnName; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Referenced Column Name</em>' attribute. + * @see #getReferencedColumnName() + * @generated + */ + public void setReferencedColumnName(String newReferencedColumnName) + { + String oldReferencedColumnName = referencedColumnName; + referencedColumnName = newReferencedColumnName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME, oldReferencedColumnName, referencedColumnName)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME: + return getReferencedColumnName(); + } + 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_JOIN_COLUMN__REFERENCED_COLUMN_NAME: + setReferencedColumnName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME: + setReferencedColumnName(REFERENCED_COLUMN_NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME: + return REFERENCED_COLUMN_NAME_EDEFAULT == null ? referencedColumnName != null : !REFERENCED_COLUMN_NAME_EDEFAULT.equals(referencedColumnName); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlBaseJoinColumn.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_JOIN_COLUMN__REFERENCED_COLUMN_NAME: return OrmPackage.XML_BASE_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 == XmlBaseJoinColumn.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_BASE_JOIN_COLUMN__REFERENCED_COLUMN_NAME: return OrmPackage.XML_JOIN_COLUMN__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(" (referencedColumnName: "); + result.append(referencedColumnName); + result.append(')'); + return result.toString(); + } + + public TextRange getReferencedColumnNameTextRange() { + return getAttributeTextRange(JPA.REFERENCED_COLUMN_NAME); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren() + ); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildReferencedColumnNameTranslator(), + buildUniqueTranslator(), + buildNullableTranslator(), + buildInsertableTranslator(), + buildUpdatableTranslator(), + buildColumnDefinitionTranslator(), + buildTableTranslator(), + }; + } + + protected static Translator buildReferencedColumnNameTranslator() { + return new Translator(JPA.REFERENCED_COLUMN_NAME, OrmPackage.eINSTANCE.getXmlBaseJoinColumn_ReferencedColumnName(), Translator.DOM_ATTRIBUTE); + } + + // ************ content assist ************** + + public TextRange getReferencedColumnNameCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.REFERENCED_COLUMN_NAME); + } + + public boolean referencedColumnNameTouches(int pos) { + TextRange textRange = this.getReferencedColumnNameCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } +} // JoinColumn diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumnContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumnContainer.java new file mode 100644 index 0000000000..4d0b6f2b34 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinColumnContainer.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright (c) 2009, 2010 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Join Column Container</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumnContainer#getJoinColumns <em>Join Columns</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlJoinColumnContainer extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer_JoinColumns() + * @model containment="true" + * @generated + */ + EList<XmlJoinColumn> getJoinColumns(); + +} // XmlJoinColumnContainer diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTable.java new file mode 100644 index 0000000000..894c525703 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTable.java @@ -0,0 +1,210 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Join Table</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.jpa.core.resource.orm.XmlJoinTable#getInverseJoinColumns <em>Inverse Join Columns</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTable() + * @model kind="class" + * @generated + */ +public class XmlJoinTable extends AbstractXmlReferenceTable +{ + /** + * The cached value of the '{@link #getInverseJoinColumns() <em>Inverse Join Columns</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getInverseJoinColumns() + * @generated + * @ordered + */ + protected EList<XmlJoinColumn> inverseJoinColumns; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlJoinTable() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_JOIN_TABLE; + } + + /** + * Returns the value of the '<em><b>Inverse Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Inverse Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Inverse Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTable_InverseJoinColumns() + * @model containment="true" + * @generated + */ + public EList<XmlJoinColumn> getInverseJoinColumns() + { + if (inverseJoinColumns == null) + { + inverseJoinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS); + } + return inverseJoinColumns; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS: + return ((InternalEList<?>)getInverseJoinColumns()).basicRemove(otherEnd, 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_JOIN_TABLE__INVERSE_JOIN_COLUMNS: + return getInverseJoinColumns(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS: + getInverseJoinColumns().clear(); + getInverseJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS: + getInverseJoinColumns().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_JOIN_TABLE__INVERSE_JOIN_COLUMNS: + return inverseJoinColumns != null && !inverseJoinColumns.isEmpty(); + } + return super.eIsSet(featureID); + } + + public boolean isSpecified() { + return true; + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildCatalogTranslator(), + buildSchemaTranslator(), + buildJoinColumnTranslator(), + buildInverseJoinColumnTranslator(), + buildUniqueConstraintTranslator() + }; + } + + protected static Translator buildInverseJoinColumnTranslator() { + return XmlJoinColumn.buildTranslator(JPA.INVERSE_JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlJoinTable_InverseJoinColumns()); + } + +} // JoinTable diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTableContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTableContainer.java new file mode 100644 index 0000000000..5b32ef80f8 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlJoinTableContainer.java @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2009, 2010 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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Join Table Container</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer#getJoinTable <em>Join Table</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlJoinTableContainer extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Join Table</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>Join Table</em>' containment reference. + * @see #setJoinTable(XmlJoinTable) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinTableContainer_JoinTable() + * @model containment="true" + * @generated + */ + XmlJoinTable getJoinTable(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer#getJoinTable <em>Join Table</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Join Table</em>' containment reference. + * @see #getJoinTable() + * @generated + */ + void setJoinTable(XmlJoinTable value); + +} // XmlJoinTableContainer diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToMany.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToMany.java new file mode 100644 index 0000000000..b3012927bc --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToMany.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2007, 2010 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.jpa.core.MappingKeys; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Many To Many</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.jpa.core.resource.orm.OrmPackage#getXmlManyToMany() + * @model kind="class" + * @generated + */ +public class XmlManyToMany extends AbstractXmlMultiRelationshipMapping implements XmlManyToMany_2_0 +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlManyToMany() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_MANY_TO_MANY; + } + + public String getMappingKey() { + return MappingKeys.MANY_TO_MANY_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(), + buildTargetEntityTranslator(), + buildFetchTranslator(), + buildAccessTranslator(), + buildMappedByTranslator(), + buildOrderByTranslator(), + buildOrderColumnTranslator(), + buildMapKeyTranslator(), + buildMapKeyClassTranslator(), + buildMapKeyTemporalTranslator(), + buildMapKeyEnumeratedTranslator(), + buildMapKeyAttributeOverrideTranslator(), + buildMapKeyColumnTranslator(), + buildMapKeyJoinColumnTranslator(), + buildJoinTableTranslator(), + buildCascadeTranslator() + }; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToOne.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToOne.java new file mode 100644 index 0000000000..002ed41f75 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlManyToOne.java @@ -0,0 +1,85 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.jpa.core.MappingKeys; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Many To One</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.jpa.core.resource.orm.OrmPackage#getXmlManyToOne() + * @model kind="class" + * @generated + */ +public class XmlManyToOne extends AbstractXmlSingleRelationshipMapping +{ + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlManyToOne() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_MANY_TO_ONE; + } + + // **************** XmlAttributeMapping impl ****************************** + + public String getMappingKey() { + return MappingKeys.MANY_TO_ONE_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(), + buildTargetEntityTranslator(), + buildFetchTranslator(), + buildOptionalTranslator(), + buildAccessTranslator(), + buildMapsIdTranslator(), + buildIdTranslator(), + buildJoinColumnTranslator(), + buildJoinTableTranslator(), + buildCascadeTranslator() + }; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedByMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedByMapping.java new file mode 100644 index 0000000000..fdd7aa3025 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedByMapping.java @@ -0,0 +1,70 @@ +/******************************************************************************* + * Copyright (c) 2012 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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.utility.TextRange; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Ownable Relationship Mapping</b></em>'. + * <p> + * 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.jpa.core.resource.orm.XmlMappedByMapping#getMappedBy <em>Mapped By</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedByMapping() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlMappedByMapping extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Mapped By</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Mapped By</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Mapped By</em>' attribute. + * @see #setMappedBy(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedByMapping_MappedBy() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getMappedBy(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedByMapping#getMappedBy <em>Mapped By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Mapped By</em>' attribute. + * @see #getMappedBy() + * @generated + */ + void setMappedBy(String value); + + TextRange getMappedByTextRange(); + + boolean mappedByTouches(int pos); +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedSuperclass.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedSuperclass.java new file mode 100644 index 0000000000..466e872cab --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlMappedSuperclass.java @@ -0,0 +1,570 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.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.common.core.internal.utility.translators.EmptyTagBooleanTranslator; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.jpa.core.MappingKeys; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Mapped Superclass</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.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#getEntityListeners <em>Entity Listeners</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedSuperclass() + * @model kind="class" + * @generated + */ +public class XmlMappedSuperclass extends AbstractXmlTypeMapping implements XmlIdClassContainer +{ + + /** + * The cached value of the '{@link #getIdClass() <em>Id Class</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getIdClass() + * @generated + * @ordered + */ + protected XmlClassReference idClass; + + /** + * The default value of the '{@link #isExcludeDefaultListeners() <em>Exclude Default Listeners</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isExcludeDefaultListeners() + * @generated + * @ordered + */ + protected static final boolean EXCLUDE_DEFAULT_LISTENERS_EDEFAULT = false; + + /** + * The cached value of the '{@link #isExcludeDefaultListeners() <em>Exclude Default Listeners</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isExcludeDefaultListeners() + * @generated + * @ordered + */ + protected boolean excludeDefaultListeners = EXCLUDE_DEFAULT_LISTENERS_EDEFAULT; + + /** + * The default value of the '{@link #isExcludeSuperclassListeners() <em>Exclude Superclass Listeners</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isExcludeSuperclassListeners() + * @generated + * @ordered + */ + protected static final boolean EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT = false; + + /** + * The cached value of the '{@link #isExcludeSuperclassListeners() <em>Exclude Superclass Listeners</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isExcludeSuperclassListeners() + * @generated + * @ordered + */ + protected boolean excludeSuperclassListeners = EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT; + + /** + * The cached value of the '{@link #getEntityListeners() <em>Entity Listeners</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEntityListeners() + * @generated + * @ordered + */ + protected EntityListeners entityListeners; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlMappedSuperclass() + { + super(); + } + + public String getMappingKey() { + return MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY; + } + + public XmlEntityMappings entityMappings() { + return (XmlEntityMappings) eContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_MAPPED_SUPERCLASS; + } + + /** + * Returns the value of the '<em><b>Id Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Id Class</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>Id Class</em>' containment reference. + * @see #setIdClass(XmlClassReference) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlIdClassContainer_IdClass() + * @model containment="true" + * @generated + */ + public XmlClassReference getIdClass() + { + return idClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetIdClass(XmlClassReference newIdClass, NotificationChain msgs) + { + XmlClassReference oldIdClass = idClass; + idClass = newIdClass; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS, oldIdClass, newIdClass); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#getIdClass <em>Id Class</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Id Class</em>' containment reference. + * @see #getIdClass() + * @generated + */ + public void setIdClass(XmlClassReference newIdClass) + { + if (newIdClass != idClass) + { + NotificationChain msgs = null; + if (idClass != null) + msgs = ((InternalEObject)idClass).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS, null, msgs); + if (newIdClass != null) + msgs = ((InternalEObject)newIdClass).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS, null, msgs); + msgs = basicSetIdClass(newIdClass, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS, newIdClass, newIdClass)); + } + + /** + * Returns the value of the '<em><b>Exclude Default Listeners</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Exclude Default Listeners</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Exclude Default Listeners</em>' attribute. + * @see #setExcludeDefaultListeners(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedSuperclass_ExcludeDefaultListeners() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isExcludeDefaultListeners() + { + return excludeDefaultListeners; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeDefaultListeners <em>Exclude Default Listeners</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Exclude Default Listeners</em>' attribute. + * @see #isExcludeDefaultListeners() + * @generated + */ + public void setExcludeDefaultListeners(boolean newExcludeDefaultListeners) + { + boolean oldExcludeDefaultListeners = excludeDefaultListeners; + excludeDefaultListeners = newExcludeDefaultListeners; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS, oldExcludeDefaultListeners, excludeDefaultListeners)); + } + + /** + * Returns the value of the '<em><b>Exclude Superclass Listeners</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Exclude Superclass Listeners</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Exclude Superclass Listeners</em>' attribute. + * @see #setExcludeSuperclassListeners(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedSuperclass_ExcludeSuperclassListeners() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isExcludeSuperclassListeners() + { + return excludeSuperclassListeners; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#isExcludeSuperclassListeners <em>Exclude Superclass Listeners</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Exclude Superclass Listeners</em>' attribute. + * @see #isExcludeSuperclassListeners() + * @generated + */ + public void setExcludeSuperclassListeners(boolean newExcludeSuperclassListeners) + { + boolean oldExcludeSuperclassListeners = excludeSuperclassListeners; + excludeSuperclassListeners = newExcludeSuperclassListeners; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS, oldExcludeSuperclassListeners, excludeSuperclassListeners)); + } + + /** + * Returns the value of the '<em><b>Entity Listeners</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Entity Listeners</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>Entity Listeners</em>' containment reference. + * @see #setEntityListeners(EntityListeners) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedSuperclass_EntityListeners() + * @model containment="true" + * @generated + */ + public EntityListeners getEntityListeners() + { + return entityListeners; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetEntityListeners(EntityListeners newEntityListeners, NotificationChain msgs) + { + EntityListeners oldEntityListeners = entityListeners; + entityListeners = newEntityListeners; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS, oldEntityListeners, newEntityListeners); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass#getEntityListeners <em>Entity Listeners</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Entity Listeners</em>' containment reference. + * @see #getEntityListeners() + * @generated + */ + public void setEntityListeners(EntityListeners newEntityListeners) + { + if (newEntityListeners != entityListeners) + { + NotificationChain msgs = null; + if (entityListeners != null) + msgs = ((InternalEObject)entityListeners).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS, null, msgs); + if (newEntityListeners != null) + msgs = ((InternalEObject)newEntityListeners).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS, null, msgs); + msgs = basicSetEntityListeners(newEntityListeners, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS, newEntityListeners, newEntityListeners)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS: + return basicSetIdClass(null, msgs); + case OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS: + return basicSetEntityListeners(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_MAPPED_SUPERCLASS__ID_CLASS: + return getIdClass(); + case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS: + return isExcludeDefaultListeners(); + case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS: + return isExcludeSuperclassListeners(); + case OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS: + return getEntityListeners(); + } + 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_MAPPED_SUPERCLASS__ID_CLASS: + setIdClass((XmlClassReference)newValue); + return; + case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS: + setExcludeDefaultListeners((Boolean)newValue); + return; + case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS: + setExcludeSuperclassListeners((Boolean)newValue); + return; + case OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS: + setEntityListeners((EntityListeners)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS: + setIdClass((XmlClassReference)null); + return; + case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS: + setExcludeDefaultListeners(EXCLUDE_DEFAULT_LISTENERS_EDEFAULT); + return; + case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS: + setExcludeSuperclassListeners(EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT); + return; + case OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS: + setEntityListeners((EntityListeners)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS: + return idClass != null; + case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_LISTENERS: + return excludeDefaultListeners != EXCLUDE_DEFAULT_LISTENERS_EDEFAULT; + case OrmPackage.XML_MAPPED_SUPERCLASS__EXCLUDE_SUPERCLASS_LISTENERS: + return excludeSuperclassListeners != EXCLUDE_SUPERCLASS_LISTENERS_EDEFAULT; + case OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS: + return entityListeners != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlIdClassContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS: return OrmPackage.XML_ID_CLASS_CONTAINER__ID_CLASS; + 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 == XmlIdClassContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_ID_CLASS_CONTAINER__ID_CLASS: return OrmPackage.XML_MAPPED_SUPERCLASS__ID_CLASS; + 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(" (excludeDefaultListeners: "); + result.append(excludeDefaultListeners); + result.append(", excludeSuperclassListeners: "); + result.append(excludeSuperclassListeners); + result.append(')'); + return result.toString(); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildClassTranslator(), + buildAccessTranslator(), + buildMetadataCompleteTranslator(), + buildDescriptionTranslator(), + buildIdClassTranslator(), + buildExcludeDefaultListenersTranslator(), + buildExcludeSuperclassListenersTranslator(), + buildEntityListenersTranslator(), + PrePersist.buildTranslator(), + PostPersist.buildTranslator(), + PreRemove.buildTranslator(), + PostRemove.buildTranslator(), + PreUpdate.buildTranslator(), + PostUpdate.buildTranslator(), + PostLoad.buildTranslator(), + Attributes.buildTranslator() + }; + } + + protected static Translator buildIdClassTranslator() { + return XmlClassReference.buildTranslator(JPA.ID_CLASS, OrmPackage.eINSTANCE.getXmlIdClassContainer_IdClass()); + } + + protected static Translator buildExcludeDefaultListenersTranslator() { + return new EmptyTagBooleanTranslator(JPA.EXCLUDE_DEFAULT_LISTENERS, OrmPackage.eINSTANCE.getXmlMappedSuperclass_ExcludeDefaultListeners()); + } + + protected static Translator buildExcludeSuperclassListenersTranslator() { + return new EmptyTagBooleanTranslator(JPA.EXCLUDE_SUPERCLASS_LISTENERS, OrmPackage.eINSTANCE.getXmlMappedSuperclass_ExcludeSuperclassListeners()); + } + + protected static Translator buildEntityListenersTranslator() { + return EntityListeners.buildTranslator(JPA.ENTITY_LISTENERS, OrmPackage.eINSTANCE.getXmlMappedSuperclass_EntityListeners()); + } + + protected static Translator buildPrePersistTranslator() { + return PrePersist.buildTranslator(); + } + + protected static Translator buildPostPersistTranslator() { + return PostPersist.buildTranslator(); + } + + protected static Translator buildPreRemoveTranslator() { + return PreRemove.buildTranslator(); + } + + protected static Translator buildPostRemoveTranslator() { + return PostRemove.buildTranslator(); + } + + protected static Translator buildPreUpdateTranslator() { + return PreUpdate.buildTranslator(); + } + + protected static Translator buildPostUpdateTranslator() { + return PostUpdate.buildTranslator(); + } + + protected static Translator buildPostLoadTranslator() { + return PostLoad.buildTranslator(); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedColumn.java new file mode 100644 index 0000000000..1860e526cd --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedColumn.java @@ -0,0 +1,97 @@ +/******************************************************************************* + * Copyright (c) 2012 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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.utility.TextRange; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>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 --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#getColumnDefinition <em>Column Definition</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedColumn() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlNamedColumn extends EBaseObject +{ + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlNamedColumn_ColumnDefinition() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getColumnDefinition(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#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 + */ + void setColumnDefinition(String value); + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlNamedColumn_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedColumn#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 + */ + void setName(String value); + + TextRange getNameTextRange(); + + boolean columnNameTouches(int pos); + +} // XmlNamedColumn diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedNativeQuery.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedNativeQuery.java new file mode 100644 index 0000000000..56ca6faa4a --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedNativeQuery.java @@ -0,0 +1,646 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +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.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.wst.common.internal.emf.resource.Translator; +import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Named Native Query</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.jpa.core.resource.orm.XmlNamedNativeQuery#getResultClass <em>Result Class</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultSetMapping <em>Result Set Mapping</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedNativeQuery() + * @model kind="class" + * @generated + */ +@SuppressWarnings("nls") +public class XmlNamedNativeQuery extends EBaseObjectImpl implements XmlQuery +{ + /** + * 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 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 #getQuery() <em>Query</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getQuery() + * @generated + * @ordered + */ + protected static final String QUERY_EDEFAULT = null; + + /** + * The cached value of the '{@link #getQuery() <em>Query</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getQuery() + * @generated + * @ordered + */ + protected String query = QUERY_EDEFAULT; + + /** + * The cached value of the '{@link #getHints() <em>Hints</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHints() + * @generated + * @ordered + */ + protected EList<XmlQueryHint> hints; + + /** + * The default value of the '{@link #getResultClass() <em>Result Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getResultClass() + * @generated + * @ordered + */ + protected static final String RESULT_CLASS_EDEFAULT = null; + + /** + * The cached value of the '{@link #getResultClass() <em>Result Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getResultClass() + * @generated + * @ordered + */ + protected String resultClass = RESULT_CLASS_EDEFAULT; + + /** + * The default value of the '{@link #getResultSetMapping() <em>Result Set Mapping</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getResultSetMapping() + * @generated + * @ordered + */ + protected static final String RESULT_SET_MAPPING_EDEFAULT = null; + + /** + * The cached value of the '{@link #getResultSetMapping() <em>Result Set Mapping</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getResultSetMapping() + * @generated + * @ordered + */ + protected String resultSetMapping = RESULT_SET_MAPPING_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlNamedNativeQuery() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_NAMED_NATIVE_QUERY; + } + + /** + * 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#getXmlQuery_2_0_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.XmlNamedNativeQuery#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.XML_NAMED_NATIVE_QUERY__DESCRIPTION, oldDescription, description)); + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlQuery_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getName() + { + return name; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#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_NAMED_NATIVE_QUERY__NAME, oldName, name)); + } + + /** + * Returns the value of the '<em><b>Result Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Result Class</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Result Class</em>' attribute. + * @see #setResultClass(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedNativeQuery_ResultClass() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getResultClass() + { + return resultClass; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultClass <em>Result Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Result Class</em>' attribute. + * @see #getResultClass() + * @generated + */ + public void setResultClass(String newResultClass) + { + String oldResultClass = resultClass; + resultClass = newResultClass; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS, oldResultClass, resultClass)); + } + + /** + * Returns the value of the '<em><b>Result Set Mapping</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Result Set Mapping</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Result Set Mapping</em>' attribute. + * @see #setResultSetMapping(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedNativeQuery_ResultSetMapping() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getResultSetMapping() + { + return resultSetMapping; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getResultSetMapping <em>Result Set Mapping</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Result Set Mapping</em>' attribute. + * @see #getResultSetMapping() + * @generated + */ + public void setResultSetMapping(String newResultSetMapping) + { + String oldResultSetMapping = resultSetMapping; + resultSetMapping = newResultSetMapping; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING, oldResultSetMapping, resultSetMapping)); + } + + /** + * Returns the value of the '<em><b>Query</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Query</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Query</em>' attribute. + * @see #setQuery(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Query() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getQuery() + { + return query; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery#getQuery <em>Query</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Query</em>' attribute. + * @see #getQuery() + * @generated + */ + public void setQuery(String newQuery) + { + String oldQuery = query; + query = newQuery; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_NATIVE_QUERY__QUERY, oldQuery, query)); + } + + /** + * Returns the value of the '<em><b>Hints</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hints</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hints</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Hints() + * @model containment="true" + * @generated + */ + public EList<XmlQueryHint> getHints() + { + if (hints == null) + { + hints = new EObjectContainmentEList<XmlQueryHint>(XmlQueryHint.class, this, OrmPackage.XML_NAMED_NATIVE_QUERY__HINTS); + } + return hints; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_NAMED_NATIVE_QUERY__HINTS: + return ((InternalEList<?>)getHints()).basicRemove(otherEnd, 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_NAMED_NATIVE_QUERY__DESCRIPTION: + return getDescription(); + case OrmPackage.XML_NAMED_NATIVE_QUERY__NAME: + return getName(); + case OrmPackage.XML_NAMED_NATIVE_QUERY__QUERY: + return getQuery(); + case OrmPackage.XML_NAMED_NATIVE_QUERY__HINTS: + return getHints(); + case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS: + return getResultClass(); + case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING: + return getResultSetMapping(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.XML_NAMED_NATIVE_QUERY__DESCRIPTION: + setDescription((String)newValue); + return; + case OrmPackage.XML_NAMED_NATIVE_QUERY__NAME: + setName((String)newValue); + return; + case OrmPackage.XML_NAMED_NATIVE_QUERY__QUERY: + setQuery((String)newValue); + return; + case OrmPackage.XML_NAMED_NATIVE_QUERY__HINTS: + getHints().clear(); + getHints().addAll((Collection<? extends XmlQueryHint>)newValue); + return; + case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS: + setResultClass((String)newValue); + return; + case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING: + setResultSetMapping((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_NAMED_NATIVE_QUERY__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case OrmPackage.XML_NAMED_NATIVE_QUERY__NAME: + setName(NAME_EDEFAULT); + return; + case OrmPackage.XML_NAMED_NATIVE_QUERY__QUERY: + setQuery(QUERY_EDEFAULT); + return; + case OrmPackage.XML_NAMED_NATIVE_QUERY__HINTS: + getHints().clear(); + return; + case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS: + setResultClass(RESULT_CLASS_EDEFAULT); + return; + case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING: + setResultSetMapping(RESULT_SET_MAPPING_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_NAMED_NATIVE_QUERY__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case OrmPackage.XML_NAMED_NATIVE_QUERY__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case OrmPackage.XML_NAMED_NATIVE_QUERY__QUERY: + return QUERY_EDEFAULT == null ? query != null : !QUERY_EDEFAULT.equals(query); + case OrmPackage.XML_NAMED_NATIVE_QUERY__HINTS: + return hints != null && !hints.isEmpty(); + case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_CLASS: + return RESULT_CLASS_EDEFAULT == null ? resultClass != null : !RESULT_CLASS_EDEFAULT.equals(resultClass); + case OrmPackage.XML_NAMED_NATIVE_QUERY__RESULT_SET_MAPPING: + return RESULT_SET_MAPPING_EDEFAULT == null ? resultSetMapping != null : !RESULT_SET_MAPPING_EDEFAULT.equals(resultSetMapping); + } + 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(" (description: "); + result.append(description); + result.append(", name: "); + result.append(name); + result.append(", query: "); + result.append(query); + result.append(", resultClass: "); + result.append(resultClass); + result.append(", resultSetMapping: "); + result.append(resultSetMapping); + result.append(')'); + return result.toString(); + } + + public TextRange getNameTextRange() { + return getAttributeTextRange(JPA.NAME); + } + + public TextRange getQueryTextRange() { + return getAttributeTextRange(JPA.QUERY); + } + + public int getQueryOffset() { + + IDOMNode node = getElementNode(JPA.QUERY); + + if ((node != null) && node.hasChildNodes()) { + + IDOMNode child = (IDOMNode) node.getFirstChild(); + String jpqlQuery = child.getTextContent(); + int offset = 0; + + // Retrieve the length of whitespace before the query, which is the offset to return. + // This will help to adjust the cursor position within the query because the actual + // string handled by the model does not have those leading whitespace + for (int index = 0, count = jpqlQuery.length(); index < count; index++) { + if (Character.isWhitespace(jpqlQuery.charAt(index))) { + offset++; + } + else { + break; + } + } + return offset; + } + + return 0; + } + + public String getActualQuery() { + + IDOMNode node = getElementNode(JPA.QUERY); + + if ((node != null) && node.hasChildNodes()) { + IDOMNode child = (IDOMNode) node.getFirstChild(); + if (child.getNodeType() == IDOMNode.CDATA_SECTION_NODE) { + return child.getTextContent(); + } + return child.getSource(); + } + + return null; + } + + public boolean isQueryInsideCDATASection() { + + IDOMNode node = getElementNode(JPA.QUERY); + + if ((node != null) && node.hasChildNodes()) { + IDOMNode child = (IDOMNode) node.getFirstChild(); + return (child.getNodeType() == IDOMNode.CDATA_SECTION_NODE); + } + + return false; + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildResultClassTranslator(), + buildResultSetMappingTranslator(), + buildDescriptionTranslator(), + buildQueryTranslator(), + buildHintTranslator() + }; + } + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlQuery_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildResultClassTranslator() { + return new Translator(JPA.RESULT_CLASS, OrmPackage.eINSTANCE.getXmlNamedNativeQuery_ResultClass(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildResultSetMappingTranslator() { + return new Translator(JPA.RESULT_SET_MAPPING, OrmPackage.eINSTANCE.getXmlNamedNativeQuery_ResultSetMapping(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildDescriptionTranslator() { + return new Translator(JPA2_0.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlQuery_2_0_Description()); + } + + protected static Translator buildQueryTranslator() { + return new Translator(JPA.QUERY, OrmPackage.eINSTANCE.getXmlQuery_Query()); + } + + protected static Translator buildHintTranslator() { + return XmlQueryHint.buildTranslator(JPA.HINT, OrmPackage.eINSTANCE.getXmlQuery_Hints()); + } +}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedQuery.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedQuery.java new file mode 100644 index 0000000000..dc73d1bf00 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNamedQuery.java @@ -0,0 +1,644 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +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.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.SimpleTextRange; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; +import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList; +import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Named Query</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.jpa.core.resource.orm.OrmPackage#getXmlNamedQuery() + * @model kind="class" + * @generated + */ +@SuppressWarnings("nls") +public class XmlNamedQuery extends EBaseObjectImpl implements XmlQuery, XmlNamedQuery_2_0 +{ + /** + * 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 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 #getQuery() <em>Query</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getQuery() + * @generated + * @ordered + */ + protected static final String QUERY_EDEFAULT = null; + + /** + * The cached value of the '{@link #getQuery() <em>Query</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getQuery() + * @generated + * @ordered + */ + protected String query = QUERY_EDEFAULT; + + /** + * The cached value of the '{@link #getHints() <em>Hints</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHints() + * @generated + * @ordered + */ + protected EList<XmlQueryHint> hints; + + /** + * 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 LockModeType_2_0 LOCK_MODE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getLockMode() <em>Lock Mode</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLockMode() + * @generated + * @ordered + */ + protected LockModeType_2_0 lockMode = LOCK_MODE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlNamedQuery() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_NAMED_QUERY; + } + + /** + * 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#getXmlQuery_2_0_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.XmlNamedQuery#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.XML_NAMED_QUERY__DESCRIPTION, oldDescription, description)); + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlQuery_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getName() + { + return name; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery#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_NAMED_QUERY__NAME, oldName, name)); + } + + /** + * Returns the value of the '<em><b>Query</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Query</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Query</em>' attribute. + * @see #setQuery(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Query() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getQuery() + { + return query; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery#getQuery <em>Query</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Query</em>' attribute. + * @see #getQuery() + * @generated + */ + public void setQuery(String newQuery) + { + String oldQuery = query; + query = newQuery; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_QUERY__QUERY, oldQuery, query)); + } + + /** + * Returns the value of the '<em><b>Hints</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hints</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hints</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Hints() + * @model containment="true" + * @generated + */ + public EList<XmlQueryHint> getHints() + { + if (hints == null) + { + hints = new EObjectContainmentEList<XmlQueryHint>(XmlQueryHint.class, this, OrmPackage.XML_NAMED_QUERY__HINTS); + } + return hints; + } + + /** + * Returns the value of the '<em><b>Lock Mode</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Lock Mode</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Lock Mode</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0 + * @see #setLockMode(LockModeType_2_0) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlNamedQuery_2_0_LockMode() + * @model + * @generated + */ + public LockModeType_2_0 getLockMode() + { + return lockMode; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery#getLockMode <em>Lock Mode</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Lock Mode</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0 + * @see #getLockMode() + * @generated + */ + public void setLockMode(LockModeType_2_0 newLockMode) + { + LockModeType_2_0 oldLockMode = lockMode; + lockMode = newLockMode == null ? LOCK_MODE_EDEFAULT : newLockMode; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_NAMED_QUERY__LOCK_MODE, oldLockMode, lockMode)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_NAMED_QUERY__HINTS: + return ((InternalEList<?>)getHints()).basicRemove(otherEnd, 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_NAMED_QUERY__DESCRIPTION: + return getDescription(); + case OrmPackage.XML_NAMED_QUERY__NAME: + return getName(); + case OrmPackage.XML_NAMED_QUERY__QUERY: + return getQuery(); + case OrmPackage.XML_NAMED_QUERY__HINTS: + return getHints(); + case OrmPackage.XML_NAMED_QUERY__LOCK_MODE: + return getLockMode(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.XML_NAMED_QUERY__DESCRIPTION: + setDescription((String)newValue); + return; + case OrmPackage.XML_NAMED_QUERY__NAME: + setName((String)newValue); + return; + case OrmPackage.XML_NAMED_QUERY__QUERY: + setQuery((String)newValue); + return; + case OrmPackage.XML_NAMED_QUERY__HINTS: + getHints().clear(); + getHints().addAll((Collection<? extends XmlQueryHint>)newValue); + return; + case OrmPackage.XML_NAMED_QUERY__LOCK_MODE: + setLockMode((LockModeType_2_0)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_NAMED_QUERY__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case OrmPackage.XML_NAMED_QUERY__NAME: + setName(NAME_EDEFAULT); + return; + case OrmPackage.XML_NAMED_QUERY__QUERY: + setQuery(QUERY_EDEFAULT); + return; + case OrmPackage.XML_NAMED_QUERY__HINTS: + getHints().clear(); + return; + case OrmPackage.XML_NAMED_QUERY__LOCK_MODE: + setLockMode(LOCK_MODE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_NAMED_QUERY__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case OrmPackage.XML_NAMED_QUERY__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case OrmPackage.XML_NAMED_QUERY__QUERY: + return QUERY_EDEFAULT == null ? query != null : !QUERY_EDEFAULT.equals(query); + case OrmPackage.XML_NAMED_QUERY__HINTS: + return hints != null && !hints.isEmpty(); + case OrmPackage.XML_NAMED_QUERY__LOCK_MODE: + return lockMode != LOCK_MODE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlNamedQuery_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_NAMED_QUERY__LOCK_MODE: return OrmV2_0Package.XML_NAMED_QUERY_20__LOCK_MODE; + 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 == XmlNamedQuery_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_NAMED_QUERY_20__LOCK_MODE: return OrmPackage.XML_NAMED_QUERY__LOCK_MODE; + 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(" (description: "); + result.append(description); + result.append(", name: "); + result.append(name); + result.append(", query: "); + result.append(query); + result.append(", lockMode: "); + result.append(lockMode); + result.append(')'); + return result.toString(); + } + + public TextRange getNameTextRange() { + return getAttributeTextRange(JPA.NAME); + } + + public TextRange getQueryTextRange() { + + // <named-query> + IDOMNode node = getElementNode(JPA.QUERY); + + if (node != null) { + + // The query element has text + if (node.hasChildNodes()) { + IDOMNode child = (IDOMNode) node.getFirstChild(); + + // CDATA section + if (child.getNodeType() == IDOMNode.CDATA_SECTION_NODE) { + // A CDATA has either 2 sections (the open and close CDATA sections) or 3 sections + // (the open CDATA section, the actual content and the close CDATA section) + ITextRegionList regions = child.getFirstStructuredDocumentRegion().getRegions(); + return new SimpleTextRange( + child.getStartOffset() + regions.get(1).getStart(), + (regions.size() == 3) ? regions.get(1).getLength() : 0, + buildTextRange(node).getLineNumber() + ); + } + // Generic text node, the following handles the range with escape character, + // buildTextRange() uses the length of the converted text + else { + int startOffset = node.getStartStructuredDocumentRegion().getEndOffset(); + int endOffset = node.getEndStructuredDocumentRegion().getStartOffset(); + int lineNumber = child.getStructuredDocument().getLineOfOffset(startOffset) + 1; + return new SimpleTextRange(startOffset, endOffset - startOffset, lineNumber); + } + } + // The query element does not have text + else { + return new SimpleTextRange( + node.getEndStructuredDocumentRegion().getStartOffset(), + 0, + buildTextRange(node).getLineNumber() + ); + } + } + + return this.getValidationTextRange(); + } + + public int getQueryOffset() { + + IDOMNode node = getElementNode(JPA.QUERY); + + if ((node != null) && node.hasChildNodes()) { + + IDOMNode child = (IDOMNode) node.getFirstChild(); + String jpqlQuery = child.getTextContent(); + int offset = 0; + + // Retrieve the length of whitespace before the JPQL query, which is the offset to return. + // This will help to adjust the cursor position within the JPQL query because the actual + // string handled by the model does not have those leading whitespace + for (int index = 0, count = jpqlQuery.length(); index < count; index++) { + if (Character.isWhitespace(jpqlQuery.charAt(index))) { + offset++; + } + else { + break; + } + } + return offset; + } + + return 0; + } + + public String getActualQuery() { + + IDOMNode node = getElementNode(JPA.QUERY); + + if ((node != null) && node.hasChildNodes()) { + IDOMNode child = (IDOMNode) node.getFirstChild(); + if (child.getNodeType() == IDOMNode.CDATA_SECTION_NODE) { + return child.getTextContent(); + } + return child.getSource(); + } + + return null; + } + + public boolean isQueryInsideCDATASection() { + + IDOMNode node = getElementNode(JPA.QUERY); + + if ((node != null) && node.hasChildNodes()) { + IDOMNode child = (IDOMNode) node.getFirstChild(); + return (child.getNodeType() == IDOMNode.CDATA_SECTION_NODE); + } + + return false; + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildDescriptionTranslator(), + buildQueryTranslator(), + buildLockModeTranslator(), + XmlQueryHint.buildTranslator(JPA2_0.HINT, OrmPackage.eINSTANCE.getXmlQuery_Hints()), + }; + } + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlQuery_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildDescriptionTranslator() { + return new Translator(JPA2_0.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlQuery_2_0_Description()); + } + + protected static Translator buildQueryTranslator() { + return new Translator(JPA.QUERY, OrmPackage.eINSTANCE.getXmlQuery_Query()); + } + + protected static Translator buildLockModeTranslator() { + return new Translator(JPA2_0.NAMED_QUERY__LOCK_MODE, OrmV2_0Package.eINSTANCE.getXmlNamedQuery_2_0_LockMode()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNullAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNullAttributeMapping.java new file mode 100644 index 0000000000..d6e607828a --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlNullAttributeMapping.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2008, 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Null Attribute Mapping</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.jpa.core.resource.orm.OrmPackage#getXmlNullAttributeMapping() + * @model kind="class" abstract="true" + * @generated + */ +public abstract class XmlNullAttributeMapping extends AbstractXmlAttributeMapping +{ + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlNullAttributeMapping() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_NULL_ATTRIBUTE_MAPPING; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToMany.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToMany.java new file mode 100644 index 0000000000..456385128b --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToMany.java @@ -0,0 +1,376 @@ +/******************************************************************************* + * Copyright (c) 2007, 2010 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +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.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.jpa.core.MappingKeys; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>One To Many</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.jpa.core.resource.orm.OrmPackage#getXmlOneToMany() + * @model kind="class" + * @generated + */ +public class XmlOneToMany extends AbstractXmlMultiRelationshipMapping implements XmlJoinColumnContainer, XmlOneToMany_2_0 +{ + + /** + * The cached value of the '{@link #getJoinColumns() <em>Join Columns</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getJoinColumns() + * @generated + * @ordered + */ + protected EList<XmlJoinColumn> joinColumns; + + /** + * The default value of the '{@link #getOrphanRemoval() <em>Orphan Removal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOrphanRemoval() + * @generated + * @ordered + */ + protected static final Boolean ORPHAN_REMOVAL_EDEFAULT = null; + /** + * The cached value of the '{@link #getOrphanRemoval() <em>Orphan Removal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOrphanRemoval() + * @generated + * @ordered + */ + protected Boolean orphanRemoval = ORPHAN_REMOVAL_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlOneToMany() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_ONE_TO_MANY; + } + + /** + * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlJoinColumnContainer_JoinColumns() + * @model containment="true" + * @generated + */ + public EList<XmlJoinColumn> getJoinColumns() + { + if (joinColumns == null) + { + joinColumns = new EObjectContainmentEList<XmlJoinColumn>(XmlJoinColumn.class, this, OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS); + } + return joinColumns; + } + + /** + * Returns the value of the '<em><b>Orphan Removal</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Orphan Removal</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Orphan Removal</em>' attribute. + * @see #setOrphanRemoval(Boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrphanRemovable_2_0_OrphanRemoval() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + public Boolean getOrphanRemoval() + { + return orphanRemoval; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToMany#getOrphanRemoval <em>Orphan Removal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Orphan Removal</em>' attribute. + * @see #getOrphanRemoval() + * @generated + */ + public void setOrphanRemoval(Boolean newOrphanRemoval) + { + Boolean oldOrphanRemoval = orphanRemoval; + orphanRemoval = newOrphanRemoval; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL, oldOrphanRemoval, orphanRemoval)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS: + return ((InternalEList<?>)getJoinColumns()).basicRemove(otherEnd, 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_ONE_TO_MANY__JOIN_COLUMNS: + return getJoinColumns(); + case OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL: + return getOrphanRemoval(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS: + getJoinColumns().clear(); + getJoinColumns().addAll((Collection<? extends XmlJoinColumn>)newValue); + return; + case OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL: + setOrphanRemoval((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS: + getJoinColumns().clear(); + return; + case OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL: + setOrphanRemoval(ORPHAN_REMOVAL_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS: + return joinColumns != null && !joinColumns.isEmpty(); + case OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL: + return ORPHAN_REMOVAL_EDEFAULT == null ? orphanRemoval != null : !ORPHAN_REMOVAL_EDEFAULT.equals(orphanRemoval); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlJoinColumnContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS: return OrmPackage.XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS; + default: return -1; + } + } + if (baseClass == XmlOrphanRemovable_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL: return OrmV2_0Package.XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL; + default: return -1; + } + } + if (baseClass == XmlOneToMany_2_0.class) + { + switch (derivedFeatureID) + { + 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 == XmlJoinColumnContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_JOIN_COLUMN_CONTAINER__JOIN_COLUMNS: return OrmPackage.XML_ONE_TO_MANY__JOIN_COLUMNS; + default: return -1; + } + } + if (baseClass == XmlOrphanRemovable_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL: return OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL; + default: return -1; + } + } + if (baseClass == XmlOneToMany_2_0.class) + { + switch (baseFeatureID) + { + 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(" (orphanRemoval: "); + result.append(orphanRemoval); + result.append(')'); + return result.toString(); + } + + public String getMappingKey() { + return MappingKeys.ONE_TO_MANY_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(), + buildTargetEntityTranslator(), + buildFetchTranslator(), + buildAccessTranslator(), + buildMappedByTranslator(), + buildOrphanRemovalTranslator(), + buildOrderByTranslator(), + buildOrderColumnTranslator(), + buildMapKeyTranslator(), + buildMapKeyClassTranslator(), + buildMapKeyTemporalTranslator(), + buildMapKeyEnumeratedTranslator(), + buildMapKeyAttributeOverrideTranslator(), + buildMapKeyColumnTranslator(), + buildMapKeyJoinColumnTranslator(), + buildJoinTableTranslator(), + buildJoinColumnTranslator(), + buildCascadeTranslator() + }; + } + + protected static Translator buildOrphanRemovalTranslator() { + return new Translator(JPA2_0.ORPHAN_REMOVAL, OrmV2_0Package.eINSTANCE.getXmlOrphanRemovable_2_0_OrphanRemoval(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildJoinColumnTranslator() { + return XmlJoinColumn.buildTranslator(JPA.JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlJoinColumnContainer_JoinColumns()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToOne.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToOne.java new file mode 100644 index 0000000000..e11fe0f5cd --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOneToOne.java @@ -0,0 +1,478 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +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.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.MappingKeys; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>One To One</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.jpa.core.resource.orm.OrmPackage#getXmlOneToOne() + * @model kind="class" + * @generated + */ +public class XmlOneToOne extends AbstractXmlSingleRelationshipMapping implements XmlMappedByMapping, XmlPrimaryKeyJoinColumnContainer, XmlOneToOne_2_0 +{ + + /** + * The default value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMappedBy() + * @generated + * @ordered + */ + protected static final String MAPPED_BY_EDEFAULT = null; + /** + * The cached value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMappedBy() + * @generated + * @ordered + */ + protected String mappedBy = MAPPED_BY_EDEFAULT; + /** + * The cached value of the '{@link #getPrimaryKeyJoinColumns() <em>Primary Key Join Columns</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPrimaryKeyJoinColumns() + * @generated + * @ordered + */ + protected EList<XmlPrimaryKeyJoinColumn> primaryKeyJoinColumns; + /** + * The default value of the '{@link #getOrphanRemoval() <em>Orphan Removal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOrphanRemoval() + * @generated + * @ordered + */ + protected static final Boolean ORPHAN_REMOVAL_EDEFAULT = null; + /** + * The cached value of the '{@link #getOrphanRemoval() <em>Orphan Removal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOrphanRemoval() + * @generated + * @ordered + */ + protected Boolean orphanRemoval = ORPHAN_REMOVAL_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlOneToOne() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_ONE_TO_ONE; + } + + /** + * Returns the value of the '<em><b>Mapped By</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Mapped By</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Mapped By</em>' attribute. + * @see #setMappedBy(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlMappedByMapping_MappedBy() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getMappedBy() + { + return mappedBy; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne#getMappedBy <em>Mapped By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Mapped By</em>' attribute. + * @see #getMappedBy() + * @generated + */ + public void setMappedBy(String newMappedBy) + { + String oldMappedBy = mappedBy; + mappedBy = newMappedBy; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ONE_TO_ONE__MAPPED_BY, oldMappedBy, mappedBy)); + } + + /** + * Returns the value of the '<em><b>Orphan Removal</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Orphan Removal</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Orphan Removal</em>' attribute. + * @see #setOrphanRemoval(Boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrphanRemovable_2_0_OrphanRemoval() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + public Boolean getOrphanRemoval() + { + return orphanRemoval; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOneToOne#getOrphanRemoval <em>Orphan Removal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Orphan Removal</em>' attribute. + * @see #getOrphanRemoval() + * @generated + */ + public void setOrphanRemoval(Boolean newOrphanRemoval) + { + Boolean oldOrphanRemoval = orphanRemoval; + orphanRemoval = newOrphanRemoval; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL, oldOrphanRemoval, orphanRemoval)); + } + + /** + * Returns the value of the '<em><b>Primary Key Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Primary Key Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Primary Key Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumnContainer_PrimaryKeyJoinColumns() + * @model containment="true" + * @generated + */ + public EList<XmlPrimaryKeyJoinColumn> getPrimaryKeyJoinColumns() + { + if (primaryKeyJoinColumns == null) + { + primaryKeyJoinColumns = new EObjectContainmentEList<XmlPrimaryKeyJoinColumn>(XmlPrimaryKeyJoinColumn.class, this, OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS); + } + return primaryKeyJoinColumns; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS: + return ((InternalEList<?>)getPrimaryKeyJoinColumns()).basicRemove(otherEnd, 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_ONE_TO_ONE__MAPPED_BY: + return getMappedBy(); + case OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS: + return getPrimaryKeyJoinColumns(); + case OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL: + return getOrphanRemoval(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.XML_ONE_TO_ONE__MAPPED_BY: + setMappedBy((String)newValue); + return; + case OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS: + getPrimaryKeyJoinColumns().clear(); + getPrimaryKeyJoinColumns().addAll((Collection<? extends XmlPrimaryKeyJoinColumn>)newValue); + return; + case OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL: + setOrphanRemoval((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ONE_TO_ONE__MAPPED_BY: + setMappedBy(MAPPED_BY_EDEFAULT); + return; + case OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS: + getPrimaryKeyJoinColumns().clear(); + return; + case OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL: + setOrphanRemoval(ORPHAN_REMOVAL_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_ONE_TO_ONE__MAPPED_BY: + return MAPPED_BY_EDEFAULT == null ? mappedBy != null : !MAPPED_BY_EDEFAULT.equals(mappedBy); + case OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS: + return primaryKeyJoinColumns != null && !primaryKeyJoinColumns.isEmpty(); + case OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL: + return ORPHAN_REMOVAL_EDEFAULT == null ? orphanRemoval != null : !ORPHAN_REMOVAL_EDEFAULT.equals(orphanRemoval); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlMappedByMapping.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ONE_TO_ONE__MAPPED_BY: return OrmPackage.XML_MAPPED_BY_MAPPING__MAPPED_BY; + default: return -1; + } + } + if (baseClass == XmlPrimaryKeyJoinColumnContainer.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS: return OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER__PRIMARY_KEY_JOIN_COLUMNS; + default: return -1; + } + } + if (baseClass == XmlOrphanRemovable_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL: return OrmV2_0Package.XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL; + default: return -1; + } + } + if (baseClass == XmlOneToOne_2_0.class) + { + switch (derivedFeatureID) + { + 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 == XmlMappedByMapping.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_MAPPED_BY_MAPPING__MAPPED_BY: return OrmPackage.XML_ONE_TO_ONE__MAPPED_BY; + default: return -1; + } + } + if (baseClass == XmlPrimaryKeyJoinColumnContainer.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER__PRIMARY_KEY_JOIN_COLUMNS: return OrmPackage.XML_ONE_TO_ONE__PRIMARY_KEY_JOIN_COLUMNS; + default: return -1; + } + } + if (baseClass == XmlOrphanRemovable_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL: return OrmPackage.XML_ONE_TO_ONE__ORPHAN_REMOVAL; + default: return -1; + } + } + if (baseClass == XmlOneToOne_2_0.class) + { + switch (baseFeatureID) + { + 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(" (mappedBy: "); + result.append(mappedBy); + result.append(", orphanRemoval: "); + result.append(orphanRemoval); + result.append(')'); + return result.toString(); + } + + + // **************** XmlAttributeMapping impl ****************************** + + public String getMappingKey() { + return MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY; + } + + + // **************** validation support ************************************ + + public TextRange getMappedByTextRange() { + return getAttributeTextRange(JPA.MAPPED_BY); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildTargetEntityTranslator(), + buildFetchTranslator(), + buildOptionalTranslator(), + buildAccessTranslator(), + buildMappedByTranslator(), + buildOrphanRemovalTranslator(), + buildMapsIdTranslator(), + buildIdTranslator(), + buildPrimaryKeyJoinColumnTranslator(), + buildJoinColumnTranslator(), + buildJoinTableTranslator(), + buildCascadeTranslator() + }; + } + + protected static Translator buildMappedByTranslator() { + return new Translator(JPA.MAPPED_BY, OrmPackage.eINSTANCE.getXmlMappedByMapping_MappedBy(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildOrphanRemovalTranslator() { + return new Translator(JPA2_0.ORPHAN_REMOVAL, OrmV2_0Package.eINSTANCE.getXmlOrphanRemovable_2_0_OrphanRemoval(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildPrimaryKeyJoinColumnTranslator() { + return XmlPrimaryKeyJoinColumn.buildTranslator(JPA.PRIMARY_KEY_JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlPrimaryKeyJoinColumnContainer_PrimaryKeyJoinColumns()); + } + + // ********** content assist *************** + + public TextRange getMappedByCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.MAPPED_BY); + } + + public boolean mappedByTouches(int pos) { + TextRange textRange = this.getMappedByCodeAssistTextRange(); + return (textRange!= null) && textRange.touches(pos); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderColumn.java new file mode 100644 index 0000000000..73ad09cf47 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderColumn.java @@ -0,0 +1,404 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.BooleanTranslator; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Order Column</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderColumn() + * @model kind="class" + * @generated + */ +public class XmlOrderColumn extends AbstractXmlNamedColumn implements XmlOrderColumn_2_0 +{ + /** + * 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 #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 #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 XmlOrderColumn() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_ORDER_COLUMN; + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlOrderColumn_2_0_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.jpa.core.resource.orm.XmlOrderColumn#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.XML_ORDER_COLUMN__NULLABLE, oldNullable, nullable)); + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlOrderColumn_2_0_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.jpa.core.resource.orm.XmlOrderColumn#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.XML_ORDER_COLUMN__INSERTABLE, oldInsertable, insertable)); + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlOrderColumn_2_0_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.jpa.core.resource.orm.XmlOrderColumn#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.XML_ORDER_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.XML_ORDER_COLUMN__NULLABLE: + return getNullable(); + case OrmPackage.XML_ORDER_COLUMN__INSERTABLE: + return getInsertable(); + case OrmPackage.XML_ORDER_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.XML_ORDER_COLUMN__NULLABLE: + setNullable((Boolean)newValue); + return; + case OrmPackage.XML_ORDER_COLUMN__INSERTABLE: + setInsertable((Boolean)newValue); + return; + case OrmPackage.XML_ORDER_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.XML_ORDER_COLUMN__NULLABLE: + setNullable(NULLABLE_EDEFAULT); + return; + case OrmPackage.XML_ORDER_COLUMN__INSERTABLE: + setInsertable(INSERTABLE_EDEFAULT); + return; + case OrmPackage.XML_ORDER_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.XML_ORDER_COLUMN__NULLABLE: + return NULLABLE_EDEFAULT == null ? nullable != null : !NULLABLE_EDEFAULT.equals(nullable); + case OrmPackage.XML_ORDER_COLUMN__INSERTABLE: + return INSERTABLE_EDEFAULT == null ? insertable != null : !INSERTABLE_EDEFAULT.equals(insertable); + case OrmPackage.XML_ORDER_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 == XmlOrderColumn_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_ORDER_COLUMN__NULLABLE: return OrmV2_0Package.XML_ORDER_COLUMN_20__NULLABLE; + case OrmPackage.XML_ORDER_COLUMN__INSERTABLE: return OrmV2_0Package.XML_ORDER_COLUMN_20__INSERTABLE; + case OrmPackage.XML_ORDER_COLUMN__UPDATABLE: return OrmV2_0Package.XML_ORDER_COLUMN_20__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 == XmlOrderColumn_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_ORDER_COLUMN_20__NULLABLE: return OrmPackage.XML_ORDER_COLUMN__NULLABLE; + case OrmV2_0Package.XML_ORDER_COLUMN_20__INSERTABLE: return OrmPackage.XML_ORDER_COLUMN__INSERTABLE; + case OrmV2_0Package.XML_ORDER_COLUMN_20__UPDATABLE: return OrmPackage.XML_ORDER_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(" (nullable: "); + result.append(nullable); + result.append(", insertable: "); + result.append(insertable); + result.append(", updatable: "); + result.append(updatable); + result.append(')'); + return result.toString(); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren() + ); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildNullableTranslator(), + buildInsertableTranslator(), + buildUpdatableTranslator(), + buildColumnDefinitionTranslator(), + }; + } + + protected static Translator buildNullableTranslator() { + return new BooleanTranslator(JPA.NULLABLE, OrmV2_0Package.eINSTANCE.getXmlOrderColumn_2_0_Nullable(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildInsertableTranslator() { + return new BooleanTranslator(JPA.INSERTABLE, OrmV2_0Package.eINSTANCE.getXmlOrderColumn_2_0_Insertable(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildUpdatableTranslator() { + return new BooleanTranslator(JPA.UPDATABLE, OrmV2_0Package.eINSTANCE.getXmlOrderColumn_2_0_Updatable(), Translator.DOM_ATTRIBUTE); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderable.java new file mode 100644 index 0000000000..d7d50139d2 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderable.java @@ -0,0 +1,64 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm; + +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Orderable</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.jpa.core.resource.orm.XmlOrderable#getOrderBy <em>Order By</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlOrderable extends XmlOrderable_2_0 +{ + /** + * Returns the value of the '<em><b>Order By</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Order By</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Order By</em>' attribute. + * @see #setOrderBy(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable_OrderBy() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getOrderBy(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable#getOrderBy <em>Order By</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Order By</em>' attribute. + * @see #getOrderBy() + * @generated + */ + void setOrderBy(String value); + +} // XmlOrderable diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOverride.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOverride.java new file mode 100644 index 0000000000..8622238899 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOverride.java @@ -0,0 +1,69 @@ +/******************************************************************************* + * Copyright (c) 2012 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.jpa.core.resource.orm; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.utility.TextRange; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Override</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.jpa.core.resource.orm.XmlOverride#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOverride() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlOverride extends EBaseObject +{ + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlOverride_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOverride#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 + */ + void setName(String value); + + TextRange getNameTextRange(); + + boolean nameTouches(int pos); +} // XmlOverride diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitDefaults.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitDefaults.java new file mode 100644 index 0000000000..e98bc03e42 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitDefaults.java @@ -0,0 +1,742 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.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.common.core.internal.utility.translators.EmptyTagBooleanTranslator; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>XmlPersistence Unit Defaults</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.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getSchema <em>Schema</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getCatalog <em>Catalog</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#isCascadePersist <em>Cascade Persist</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getEntityListeners <em>Entity Listeners</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults() + * @model kind="class" + * @generated + */ +public class XmlPersistenceUnitDefaults extends EBaseObjectImpl implements XmlAccessHolder, XmlPersistenceUnitDefaults_2_0 +{ + + /** + * The default value of the '{@link #getAccess() <em>Access</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAccess() + * @generated + * @ordered + */ + protected static final String ACCESS_EDEFAULT = null; + + /** + * The cached value of the '{@link #getAccess() <em>Access</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAccess() + * @generated + * @ordered + */ + protected String access = ACCESS_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 default value of the '{@link #isDelimitedIdentifiers() <em>Delimited Identifiers</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isDelimitedIdentifiers() + * @generated + * @ordered + */ + protected static final boolean DELIMITED_IDENTIFIERS_EDEFAULT = false; + + /** + * The cached value of the '{@link #isDelimitedIdentifiers() <em>Delimited Identifiers</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isDelimitedIdentifiers() + * @generated + * @ordered + */ + protected boolean delimitedIdentifiers = DELIMITED_IDENTIFIERS_EDEFAULT; + + /** + * The default value of the '{@link #getSchema() <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSchema() + * @generated + * @ordered + */ + protected static final String SCHEMA_EDEFAULT = null; + + /** + * The cached value of the '{@link #getSchema() <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSchema() + * @generated + * @ordered + */ + protected String schema = SCHEMA_EDEFAULT; + + /** + * The default value of the '{@link #getCatalog() <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCatalog() + * @generated + * @ordered + */ + protected static final String CATALOG_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCatalog() <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCatalog() + * @generated + * @ordered + */ + protected String catalog = CATALOG_EDEFAULT; + + /** + * The default value of the '{@link #isCascadePersist() <em>Cascade Persist</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadePersist() + * @generated + * @ordered + */ + protected static final boolean CASCADE_PERSIST_EDEFAULT = false; + + /** + * The cached value of the '{@link #isCascadePersist() <em>Cascade Persist</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isCascadePersist() + * @generated + * @ordered + */ + protected boolean cascadePersist = CASCADE_PERSIST_EDEFAULT; + + /** + * The cached value of the '{@link #getEntityListeners() <em>Entity Listeners</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEntityListeners() + * @generated + * @ordered + */ + protected EntityListeners entityListeners; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlPersistenceUnitDefaults() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_PERSISTENCE_UNIT_DEFAULTS; + } + + /** + * Returns the value of the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Schema</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Schema</em>' attribute. + * @see #setSchema(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults_Schema() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getSchema() + { + return schema; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getSchema <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Schema</em>' attribute. + * @see #getSchema() + * @generated + */ + public void setSchema(String newSchema) + { + String oldSchema = schema; + schema = newSchema; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA, oldSchema, schema)); + } + + /** + * Returns the value of the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Catalog</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Catalog</em>' attribute. + * @see #setCatalog(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults_Catalog() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getCatalog() + { + return catalog; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getCatalog <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Catalog</em>' attribute. + * @see #getCatalog() + * @generated + */ + public void setCatalog(String newCatalog) + { + String oldCatalog = catalog; + catalog = newCatalog; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG, oldCatalog, catalog)); + } + + /** + * Returns the value of the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Access</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Access</em>' attribute. + * @see #setAccess(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlAccessHolder_Access() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getAccess() + { + return access; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getAccess <em>Access</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Access</em>' attribute. + * @see #getAccess() + * @generated + */ + public void setAccess(String newAccess) + { + String oldAccess = access; + access = newAccess; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS, oldAccess, access)); + } + + /** + * 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#getXmlPersistenceUnitDefaults_2_0_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.XmlPersistenceUnitDefaults#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.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION, oldDescription, description)); + } + + /** + * Returns the value of the '<em><b>Delimited Identifiers</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Delimited Identifiers</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Delimited Identifiers</em>' attribute. + * @see #setDelimitedIdentifiers(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults_2_0_DelimitedIdentifiers() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isDelimitedIdentifiers() + { + return delimitedIdentifiers; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#isDelimitedIdentifiers <em>Delimited Identifiers</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Delimited Identifiers</em>' attribute. + * @see #isDelimitedIdentifiers() + * @generated + */ + public void setDelimitedIdentifiers(boolean newDelimitedIdentifiers) + { + boolean oldDelimitedIdentifiers = delimitedIdentifiers; + delimitedIdentifiers = newDelimitedIdentifiers; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS, oldDelimitedIdentifiers, delimitedIdentifiers)); + } + + /** + * Returns the value of the '<em><b>Cascade Persist</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Cascade Persist</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Cascade Persist</em>' attribute. + * @see #setCascadePersist(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults_CascadePersist() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isCascadePersist() + { + return cascadePersist; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#isCascadePersist <em>Cascade Persist</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Cascade Persist</em>' attribute. + * @see #isCascadePersist() + * @generated + */ + public void setCascadePersist(boolean newCascadePersist) + { + boolean oldCascadePersist = cascadePersist; + cascadePersist = newCascadePersist; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST, oldCascadePersist, cascadePersist)); + } + + /** + * Returns the value of the '<em><b>Entity Listeners</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Entity Listeners</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>Entity Listeners</em>' containment reference. + * @see #setEntityListeners(EntityListeners) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults_EntityListeners() + * @model containment="true" + * @generated + */ + public EntityListeners getEntityListeners() + { + return entityListeners; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetEntityListeners(EntityListeners newEntityListeners, NotificationChain msgs) + { + EntityListeners oldEntityListeners = entityListeners; + entityListeners = newEntityListeners; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS, oldEntityListeners, newEntityListeners); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults#getEntityListeners <em>Entity Listeners</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Entity Listeners</em>' containment reference. + * @see #getEntityListeners() + * @generated + */ + public void setEntityListeners(EntityListeners newEntityListeners) + { + if (newEntityListeners != entityListeners) + { + NotificationChain msgs = null; + if (entityListeners != null) + msgs = ((InternalEObject)entityListeners).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS, null, msgs); + if (newEntityListeners != null) + msgs = ((InternalEObject)newEntityListeners).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS, null, msgs); + msgs = basicSetEntityListeners(newEntityListeners, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS, newEntityListeners, newEntityListeners)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS: + return basicSetEntityListeners(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_PERSISTENCE_UNIT_DEFAULTS__ACCESS: + return getAccess(); + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION: + return getDescription(); + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS: + return isDelimitedIdentifiers(); + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA: + return getSchema(); + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG: + return getCatalog(); + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST: + return isCascadePersist(); + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS: + return getEntityListeners(); + } + 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_PERSISTENCE_UNIT_DEFAULTS__ACCESS: + setAccess((String)newValue); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION: + setDescription((String)newValue); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS: + setDelimitedIdentifiers((Boolean)newValue); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA: + setSchema((String)newValue); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG: + setCatalog((String)newValue); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST: + setCascadePersist((Boolean)newValue); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS: + setEntityListeners((EntityListeners)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS: + setAccess(ACCESS_EDEFAULT); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS: + setDelimitedIdentifiers(DELIMITED_IDENTIFIERS_EDEFAULT); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA: + setSchema(SCHEMA_EDEFAULT); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG: + setCatalog(CATALOG_EDEFAULT); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST: + setCascadePersist(CASCADE_PERSIST_EDEFAULT); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS: + setEntityListeners((EntityListeners)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ACCESS: + return ACCESS_EDEFAULT == null ? access != null : !ACCESS_EDEFAULT.equals(access); + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS: + return delimitedIdentifiers != DELIMITED_IDENTIFIERS_EDEFAULT; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__SCHEMA: + return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema); + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CATALOG: + return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog); + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST: + return cascadePersist != CASCADE_PERSIST_EDEFAULT; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__ENTITY_LISTENERS: + return entityListeners != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlPersistenceUnitDefaults_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION: return OrmV2_0Package.XML_PERSISTENCE_UNIT_DEFAULTS_20__DESCRIPTION; + case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS: return OrmV2_0Package.XML_PERSISTENCE_UNIT_DEFAULTS_20__DELIMITED_IDENTIFIERS; + 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 == XmlPersistenceUnitDefaults_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_PERSISTENCE_UNIT_DEFAULTS_20__DESCRIPTION: return OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DESCRIPTION; + case OrmV2_0Package.XML_PERSISTENCE_UNIT_DEFAULTS_20__DELIMITED_IDENTIFIERS: return OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS__DELIMITED_IDENTIFIERS; + 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(" (access: "); + result.append(access); + result.append(", description: "); + result.append(description); + result.append(", delimitedIdentifiers: "); + result.append(delimitedIdentifiers); + result.append(", schema: "); + result.append(schema); + result.append(", catalog: "); + result.append(catalog); + result.append(", cascadePersist: "); + result.append(cascadePersist); + result.append(')'); + return result.toString(); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildDescriptionTranslator(), + buildSchemaTranslator(), + buildCatalogTranslator(), + buildDelimitedIdentifiersTranslator(), + buildAccessTranslator(), + buildCascadePersistTranslator(), + buildEntityListenersTranslator() + }; + } + + protected static Translator buildDescriptionTranslator() { + return new Translator(JPA.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlPersistenceUnitDefaults_2_0_Description()); + } + + protected static Translator buildSchemaTranslator() { + return new Translator(JPA.SCHEMA, OrmPackage.eINSTANCE.getXmlPersistenceUnitDefaults_Schema()); + } + + protected static Translator buildCatalogTranslator() { + return new Translator(JPA.CATALOG, OrmPackage.eINSTANCE.getXmlPersistenceUnitDefaults_Catalog()); + } + + protected static Translator buildDelimitedIdentifiersTranslator() { + return new EmptyTagBooleanTranslator(JPA2_0.DELIMITIED_IDENTIFIERS, OrmV2_0Package.eINSTANCE.getXmlPersistenceUnitDefaults_2_0_DelimitedIdentifiers()); + } + + protected static Translator buildAccessTranslator() { + return new Translator(JPA.ACCESS, OrmPackage.eINSTANCE.getXmlAccessHolder_Access()); + } + + protected static Translator buildCascadePersistTranslator() { + return new EmptyTagBooleanTranslator(JPA.CASCADE_PERSIST, OrmPackage.eINSTANCE.getXmlPersistenceUnitDefaults_CascadePersist()); + } + + protected static Translator buildEntityListenersTranslator() { + return EntityListeners.buildTranslator(JPA.ENTITY_LISTENERS, OrmPackage.eINSTANCE.getXmlPersistenceUnitDefaults_EntityListeners()); + } + + // *********** content assist ********* + + public boolean schemaTouches(int pos) { + TextRange textRange = this.getElementCodeAssistTextRange(JPA.SCHEMA); + return (textRange != null) && (textRange.touches(pos)); + } + + public boolean catalogTouches(int pos) { + TextRange textRange = this.getElementCodeAssistTextRange(JPA.CATALOG); + return (textRange != null) && (textRange.touches(pos)); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitMetadata.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitMetadata.java new file mode 100644 index 0000000000..6f92ab2d09 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPersistenceUnitMetadata.java @@ -0,0 +1,393 @@ +/******************************************************************************* + * 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.jpa.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.common.core.internal.utility.translators.EmptyTagBooleanTranslator; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>XmlPersistence Unit Metadata</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.jpa.core.resource.orm.XmlPersistenceUnitMetadata#isXmlMappingMetadataComplete <em>Xml Mapping Metadata Complete</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#getPersistenceUnitDefaults <em>Persistence Unit Defaults</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitMetadata() + * @model kind="class" + * @generated + */ +public class XmlPersistenceUnitMetadata extends EBaseObjectImpl implements XmlPersistenceUnitMetadata_2_0 +{ + /** + * 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 default value of the '{@link #isXmlMappingMetadataComplete() <em>Xml Mapping Metadata Complete</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isXmlMappingMetadataComplete() + * @generated + * @ordered + */ + protected static final boolean XML_MAPPING_METADATA_COMPLETE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isXmlMappingMetadataComplete() <em>Xml Mapping Metadata Complete</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isXmlMappingMetadataComplete() + * @generated + * @ordered + */ + protected boolean xmlMappingMetadataComplete = XML_MAPPING_METADATA_COMPLETE_EDEFAULT; + + /** + * The cached value of the '{@link #getPersistenceUnitDefaults() <em>Persistence Unit Defaults</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPersistenceUnitDefaults() + * @generated + * @ordered + */ + protected XmlPersistenceUnitDefaults persistenceUnitDefaults; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlPersistenceUnitMetadata() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_PERSISTENCE_UNIT_METADATA; + } + + /** + * 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#getXmlPersistenceUnitMetadata_2_0_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.XmlPersistenceUnitMetadata#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.XML_PERSISTENCE_UNIT_METADATA__DESCRIPTION, oldDescription, description)); + } + + /** + * Returns the value of the '<em><b>Xml Mapping Metadata Complete</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Xml Mapping Metadata Complete</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Xml Mapping Metadata Complete</em>' attribute. + * @see #setXmlMappingMetadataComplete(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitMetadata_XmlMappingMetadataComplete() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isXmlMappingMetadataComplete() + { + return xmlMappingMetadataComplete; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#isXmlMappingMetadataComplete <em>Xml Mapping Metadata Complete</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Xml Mapping Metadata Complete</em>' attribute. + * @see #isXmlMappingMetadataComplete() + * @generated + */ + public void setXmlMappingMetadataComplete(boolean newXmlMappingMetadataComplete) + { + boolean oldXmlMappingMetadataComplete = xmlMappingMetadataComplete; + xmlMappingMetadataComplete = newXmlMappingMetadataComplete; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE, oldXmlMappingMetadataComplete, xmlMappingMetadataComplete)); + } + + /** + * Returns the value of the '<em><b>Persistence Unit Defaults</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>XmlPersistence Unit Defaults</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>Persistence Unit Defaults</em>' containment reference. + * @see #setPersistenceUnitDefaults(XmlPersistenceUnitDefaults) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitMetadata_PersistenceUnitDefaults() + * @model containment="true" + * @generated + */ + public XmlPersistenceUnitDefaults getPersistenceUnitDefaults() + { + return persistenceUnitDefaults; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPersistenceUnitDefaults(XmlPersistenceUnitDefaults newPersistenceUnitDefaults, NotificationChain msgs) + { + XmlPersistenceUnitDefaults oldPersistenceUnitDefaults = persistenceUnitDefaults; + persistenceUnitDefaults = newPersistenceUnitDefaults; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS, oldPersistenceUnitDefaults, newPersistenceUnitDefaults); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata#getPersistenceUnitDefaults <em>Persistence Unit Defaults</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Persistence Unit Defaults</em>' containment reference. + * @see #getPersistenceUnitDefaults() + * @generated + */ + public void setPersistenceUnitDefaults(XmlPersistenceUnitDefaults newPersistenceUnitDefaults) + { + if (newPersistenceUnitDefaults != persistenceUnitDefaults) + { + NotificationChain msgs = null; + if (persistenceUnitDefaults != null) + msgs = ((InternalEObject)persistenceUnitDefaults).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS, null, msgs); + if (newPersistenceUnitDefaults != null) + msgs = ((InternalEObject)newPersistenceUnitDefaults).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS, null, msgs); + msgs = basicSetPersistenceUnitDefaults(newPersistenceUnitDefaults, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS, newPersistenceUnitDefaults, newPersistenceUnitDefaults)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS: + return basicSetPersistenceUnitDefaults(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_PERSISTENCE_UNIT_METADATA__DESCRIPTION: + return getDescription(); + case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE: + return isXmlMappingMetadataComplete(); + case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS: + return getPersistenceUnitDefaults(); + } + 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_PERSISTENCE_UNIT_METADATA__DESCRIPTION: + setDescription((String)newValue); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE: + setXmlMappingMetadataComplete((Boolean)newValue); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS: + setPersistenceUnitDefaults((XmlPersistenceUnitDefaults)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE: + setXmlMappingMetadataComplete(XML_MAPPING_METADATA_COMPLETE_EDEFAULT); + return; + case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS: + setPersistenceUnitDefaults((XmlPersistenceUnitDefaults)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE: + return xmlMappingMetadataComplete != XML_MAPPING_METADATA_COMPLETE_EDEFAULT; + case OrmPackage.XML_PERSISTENCE_UNIT_METADATA__PERSISTENCE_UNIT_DEFAULTS: + return persistenceUnitDefaults != null; + } + 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(" (description: "); + result.append(description); + result.append(", xmlMappingMetadataComplete: "); + result.append(xmlMappingMetadataComplete); + result.append(')'); + return result.toString(); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildDescriptionTranslator(), + buildXmlMappingMetadataCompleteTranslator(), + XmlPersistenceUnitDefaults.buildTranslator(JPA.PERSISTENCE_UNIT_DEFAULTS, OrmPackage.eINSTANCE.getXmlPersistenceUnitMetadata_PersistenceUnitDefaults()) + }; + } + + protected static Translator buildDescriptionTranslator() { + return new Translator(JPA.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlPersistenceUnitMetadata_2_0_Description()); + } + + protected static Translator buildXmlMappingMetadataCompleteTranslator() { + return new EmptyTagBooleanTranslator(JPA.XML_MAPPING_METADATA_COMPLETE, OrmPackage.eINSTANCE.getXmlPersistenceUnitMetadata_XmlMappingMetadataComplete()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumn.java new file mode 100644 index 0000000000..dcaa86b651 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumn.java @@ -0,0 +1,273 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Primary Key Join Column Impl</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.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumn() + * @model kind="class" + * @generated + */ +public class XmlPrimaryKeyJoinColumn extends AbstractXmlNamedColumn implements XmlBaseJoinColumn +{ + /** + * The default value of the '{@link #getReferencedColumnName() <em>Referenced Column Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferencedColumnName() + * @generated + * @ordered + */ + protected static final String REFERENCED_COLUMN_NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getReferencedColumnName() <em>Referenced Column Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferencedColumnName() + * @generated + * @ordered + */ + protected String referencedColumnName = REFERENCED_COLUMN_NAME_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlPrimaryKeyJoinColumn() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_PRIMARY_KEY_JOIN_COLUMN; + } + + /** + * Returns the value of the '<em><b>Referenced Column Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referenced Column 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>Referenced Column Name</em>' attribute. + * @see #setReferencedColumnName(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlBaseJoinColumn_ReferencedColumnName() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getReferencedColumnName() + { + return referencedColumnName; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Referenced Column Name</em>' attribute. + * @see #getReferencedColumnName() + * @generated + */ + public void setReferencedColumnName(String newReferencedColumnName) + { + String oldReferencedColumnName = referencedColumnName; + referencedColumnName = newReferencedColumnName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME, oldReferencedColumnName, referencedColumnName)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME: + return getReferencedColumnName(); + } + 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_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME: + setReferencedColumnName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME: + setReferencedColumnName(REFERENCED_COLUMN_NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME: + return REFERENCED_COLUMN_NAME_EDEFAULT == null ? referencedColumnName != null : !REFERENCED_COLUMN_NAME_EDEFAULT.equals(referencedColumnName); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlBaseJoinColumn.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME: return OrmPackage.XML_BASE_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 == XmlBaseJoinColumn.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_BASE_JOIN_COLUMN__REFERENCED_COLUMN_NAME: return OrmPackage.XML_PRIMARY_KEY_JOIN_COLUMN__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(" (referencedColumnName: "); + result.append(referencedColumnName); + result.append(')'); + return result.toString(); + } + + public TextRange getReferencedColumnNameTextRange() { + return getAttributeTextRange(JPA.REFERENCED_COLUMN_NAME); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren() + ); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildReferencedColumnNameTranslator(), + buildColumnDefinitionTranslator(), + }; + } + + protected static Translator buildReferencedColumnNameTranslator() { + return new Translator(JPA.REFERENCED_COLUMN_NAME, OrmPackage.eINSTANCE.getXmlBaseJoinColumn_ReferencedColumnName(), Translator.DOM_ATTRIBUTE); + } + + // *********** content assist *********** + + public TextRange getReferencedColumnNameCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.REFERENCED_COLUMN_NAME); + } + + public boolean referencedColumnNameTouches(int pos) { + TextRange textRange = this.getReferencedColumnNameCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } + +} // XmlPrimaryKeyJoinColumnImpl diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumnContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumnContainer.java new file mode 100644 index 0000000000..c656b92222 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlPrimaryKeyJoinColumnContainer.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright (c) 2010 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Primary Key Join Column Container</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumnContainer#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumnContainer() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlPrimaryKeyJoinColumnContainer extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Primary Key Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Primary Key Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Primary Key Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumnContainer_PrimaryKeyJoinColumns() + * @model containment="true" + * @generated + */ + EList<XmlPrimaryKeyJoinColumn> getPrimaryKeyJoinColumns(); + +} // XmlPrimaryKeyJoinColumnContainer diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQuery.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQuery.java new file mode 100644 index 0000000000..c992ed88cf --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQuery.java @@ -0,0 +1,126 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Query</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.jpa.core.resource.orm.XmlQuery#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getQuery <em>Query</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getHints <em>Hints</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlQuery extends XmlQuery_2_0 +{ + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlQuery_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#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 + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Query</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Query</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Query</em>' attribute. + * @see #setQuery(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Query() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + String getQuery(); + + String getActualQuery(); + + /** + * Returns the value of the '<em><b>Query</b></em>' element, including the whitespace before the + * JPQL query. + */ + int getQueryOffset(); + + /** + * Determines whether the JPQL query is inside a CDATA section. + */ + boolean isQueryInsideCDATASection(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQuery#getQuery <em>Query</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Query</em>' attribute. + * @see #getQuery() + * @generated + */ + void setQuery(String value); + + /** + * Returns the value of the '<em><b>Hints</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hints</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hints</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery_Hints() + * @model containment="true" + * @generated + */ + EList<XmlQueryHint> getHints(); + + TextRange getNameTextRange(); + + TextRange getQueryTextRange(); +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryContainer.java new file mode 100644 index 0000000000..583e89ade4 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryContainer.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Queries Holder</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer#getNamedQueries <em>Named Queries</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer#getNamedNativeQueries <em>Named Native Queries</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlQueryContainer extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Named Queries</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Named Queries</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Named Queries</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer_NamedQueries() + * @model containment="true" + * @generated + */ + EList<XmlNamedQuery> getNamedQueries(); + + /** + * Returns the value of the '<em><b>Named Native Queries</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Named Native Queries</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Named Native Queries</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer_NamedNativeQueries() + * @model containment="true" + * @generated + */ + EList<XmlNamedNativeQuery> getNamedNativeQueries(); + +} // XmlQueriesHolder diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryHint.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryHint.java new file mode 100644 index 0000000000..e8d04c4931 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlQueryHint.java @@ -0,0 +1,366 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Query Hint</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.jpa.core.resource.orm.XmlQueryHint#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryHint() + * @model kind="class" + * @generated + */ +public class XmlQueryHint extends EBaseObjectImpl implements XmlQueryHint_2_0 +{ + /** + * 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 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 #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected static final String VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected String value = VALUE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlQueryHint() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_QUERY_HINT; + } + + /** + * 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#getXmlQueryHint_2_0_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.XmlQueryHint#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.XML_QUERY_HINT__DESCRIPTION, oldDescription, description)); + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlQueryHint_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getName() + { + return name; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#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_QUERY_HINT__NAME, oldName, name)); + } + + /** + * Returns the value of the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' attribute. + * @see #setValue(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryHint_Value() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getValue() + { + return value; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryHint#getValue <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Value</em>' attribute. + * @see #getValue() + * @generated + */ + public void setValue(String newValue) + { + String oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_QUERY_HINT__VALUE, oldValue, value)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.XML_QUERY_HINT__DESCRIPTION: + return getDescription(); + case OrmPackage.XML_QUERY_HINT__NAME: + return getName(); + case OrmPackage.XML_QUERY_HINT__VALUE: + return getValue(); + } + 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_QUERY_HINT__DESCRIPTION: + setDescription((String)newValue); + return; + case OrmPackage.XML_QUERY_HINT__NAME: + setName((String)newValue); + return; + case OrmPackage.XML_QUERY_HINT__VALUE: + setValue((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_QUERY_HINT__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case OrmPackage.XML_QUERY_HINT__NAME: + setName(NAME_EDEFAULT); + return; + case OrmPackage.XML_QUERY_HINT__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_QUERY_HINT__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case OrmPackage.XML_QUERY_HINT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case OrmPackage.XML_QUERY_HINT__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + } + 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(" (description: "); + result.append(description); + result.append(", name: "); + result.append(name); + result.append(", value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildValueTranslator(), + buildDescriptionTranslator() + }; + } + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlQueryHint_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildValueTranslator() { + return new Translator(JPA.VALUE, OrmPackage.eINSTANCE.getXmlQueryHint_Value(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildDescriptionTranslator() { + return new Translator(JPA2_0.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlQueryHint_2_0_Description()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlReferenceTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlReferenceTable.java new file mode 100644 index 0000000000..0272a18583 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlReferenceTable.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Reference Table</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.jpa.core.resource.orm.XmlReferenceTable#getJoinColumns <em>Join Columns</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlReferenceTable() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlReferenceTable extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlReferenceTable_JoinColumns() + * @model containment="true" + * @generated + */ + EList<XmlJoinColumn> getJoinColumns(); + +} // XmlReferenceTable diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSecondaryTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSecondaryTable.java new file mode 100644 index 0000000000..6571012254 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSecondaryTable.java @@ -0,0 +1,205 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Secondary Table Impl</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.jpa.core.resource.orm.XmlSecondaryTable#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSecondaryTable() + * @model kind="class" + * @generated + */ +public class XmlSecondaryTable extends AbstractXmlTable +{ + /** + * The cached value of the '{@link #getPrimaryKeyJoinColumns() <em>Primary Key Join Columns</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPrimaryKeyJoinColumns() + * @generated + * @ordered + */ + protected EList<XmlPrimaryKeyJoinColumn> primaryKeyJoinColumns; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlSecondaryTable() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_SECONDARY_TABLE; + } + + /** + * Returns the value of the '<em><b>Primary Key Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Primary Key Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Primary Key Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSecondaryTable_PrimaryKeyJoinColumns() + * @model containment="true" + * @generated + */ + public EList<XmlPrimaryKeyJoinColumn> getPrimaryKeyJoinColumns() + { + if (primaryKeyJoinColumns == null) + { + primaryKeyJoinColumns = new EObjectContainmentEList<XmlPrimaryKeyJoinColumn>(XmlPrimaryKeyJoinColumn.class, this, OrmPackage.XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS); + } + return primaryKeyJoinColumns; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS: + return ((InternalEList<?>)getPrimaryKeyJoinColumns()).basicRemove(otherEnd, 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_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS: + return getPrimaryKeyJoinColumns(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS: + getPrimaryKeyJoinColumns().clear(); + getPrimaryKeyJoinColumns().addAll((Collection<? extends XmlPrimaryKeyJoinColumn>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS: + getPrimaryKeyJoinColumns().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_SECONDARY_TABLE__PRIMARY_KEY_JOIN_COLUMNS: + return primaryKeyJoinColumns != null && !primaryKeyJoinColumns.isEmpty(); + } + return super.eIsSet(featureID); + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildCatalogTranslator(), + buildSchemaTranslator(), + buildPrimaryKeyJoinColumnsTranslator(), + buildUniqueConstraintTranslator() + }; + } + + protected static Translator buildPrimaryKeyJoinColumnsTranslator() { + return XmlPrimaryKeyJoinColumn.buildTranslator(JPA.PRIMARY_KEY_JOIN_COLUMN, OrmPackage.eINSTANCE.getXmlSecondaryTable_PrimaryKeyJoinColumns()); + } + +} // XmlSecondaryTableImpl diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSequenceGenerator.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSequenceGenerator.java new file mode 100644 index 0000000000..e9891ce975 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlSequenceGenerator.java @@ -0,0 +1,731 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Sequence Generator</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.jpa.core.resource.orm.XmlSequenceGenerator#getSequenceName <em>Sequence Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSequenceGenerator() + * @model kind="class" + * @generated + */ +public class XmlSequenceGenerator extends EBaseObjectImpl implements XmlGenerator, XmlSequenceGenerator_2_0 +{ + /** + * 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 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 #getInitialValue() <em>Initial Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getInitialValue() + * @generated + * @ordered + */ + protected static final Integer INITIAL_VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getInitialValue() <em>Initial Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getInitialValue() + * @generated + * @ordered + */ + protected Integer initialValue = INITIAL_VALUE_EDEFAULT; + + /** + * The default value of the '{@link #getAllocationSize() <em>Allocation Size</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAllocationSize() + * @generated + * @ordered + */ + protected static final Integer ALLOCATION_SIZE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getAllocationSize() <em>Allocation Size</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAllocationSize() + * @generated + * @ordered + */ + protected Integer allocationSize = ALLOCATION_SIZE_EDEFAULT; + + /** + * The default value of the '{@link #getCatalog() <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCatalog() + * @generated + * @ordered + */ + protected static final String CATALOG_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCatalog() <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCatalog() + * @generated + * @ordered + */ + protected String catalog = CATALOG_EDEFAULT; + + /** + * The default value of the '{@link #getSchema() <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSchema() + * @generated + * @ordered + */ + protected static final String SCHEMA_EDEFAULT = null; + + /** + * The cached value of the '{@link #getSchema() <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSchema() + * @generated + * @ordered + */ + protected String schema = SCHEMA_EDEFAULT; + + /** + * The default value of the '{@link #getSequenceName() <em>Sequence Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSequenceName() + * @generated + * @ordered + */ + protected static final String SEQUENCE_NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getSequenceName() <em>Sequence Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSequenceName() + * @generated + * @ordered + */ + protected String sequenceName = SEQUENCE_NAME_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlSequenceGenerator() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_SEQUENCE_GENERATOR; + } + + /** + * 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#getXmlGenerator_2_0_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.XmlSequenceGenerator#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.XML_SEQUENCE_GENERATOR__DESCRIPTION, oldDescription, description)); + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlGenerator_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getName() + { + return name; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#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_SEQUENCE_GENERATOR__NAME, oldName, name)); + } + + /** + * Returns the value of the '<em><b>Sequence Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Sequence 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>Sequence Name</em>' attribute. + * @see #setSequenceName(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSequenceGenerator_SequenceName() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getSequenceName() + { + return sequenceName; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#getSequenceName <em>Sequence Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Sequence Name</em>' attribute. + * @see #getSequenceName() + * @generated + */ + public void setSequenceName(String newSequenceName) + { + String oldSequenceName = sequenceName; + sequenceName = newSequenceName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_SEQUENCE_GENERATOR__SEQUENCE_NAME, oldSequenceName, sequenceName)); + } + + /** + * Returns the value of the '<em><b>Initial Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Initial Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Initial Value</em>' attribute. + * @see #setInitialValue(Integer) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_InitialValue() + * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject" + * @generated + */ + public Integer getInitialValue() + { + return initialValue; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#getInitialValue <em>Initial Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Initial Value</em>' attribute. + * @see #getInitialValue() + * @generated + */ + public void setInitialValue(Integer newInitialValue) + { + Integer oldInitialValue = initialValue; + initialValue = newInitialValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_SEQUENCE_GENERATOR__INITIAL_VALUE, oldInitialValue, initialValue)); + } + + /** + * Returns the value of the '<em><b>Allocation Size</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Allocation Size</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Allocation Size</em>' attribute. + * @see #setAllocationSize(Integer) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_AllocationSize() + * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject" + * @generated + */ + public Integer getAllocationSize() + { + return allocationSize; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#getAllocationSize <em>Allocation Size</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Allocation Size</em>' attribute. + * @see #getAllocationSize() + * @generated + */ + public void setAllocationSize(Integer newAllocationSize) + { + Integer oldAllocationSize = allocationSize; + allocationSize = newAllocationSize; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_SEQUENCE_GENERATOR__ALLOCATION_SIZE, oldAllocationSize, allocationSize)); + } + + /** + * Returns the value of the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Catalog</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Catalog</em>' attribute. + * @see #setCatalog(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSequenceGenerator_2_0_Catalog() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getCatalog() + { + return catalog; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#getCatalog <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Catalog</em>' attribute. + * @see #getCatalog() + * @generated + */ + public void setCatalog(String newCatalog) + { + String oldCatalog = catalog; + catalog = newCatalog; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG, oldCatalog, catalog)); + } + + /** + * Returns the value of the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Schema</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Schema</em>' attribute. + * @see #setSchema(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSequenceGenerator_2_0_Schema() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getSchema() + { + return schema; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator#getSchema <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Schema</em>' attribute. + * @see #getSchema() + * @generated + */ + public void setSchema(String newSchema) + { + String oldSchema = schema; + schema = newSchema; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA, oldSchema, schema)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.XML_SEQUENCE_GENERATOR__DESCRIPTION: + return getDescription(); + case OrmPackage.XML_SEQUENCE_GENERATOR__NAME: + return getName(); + case OrmPackage.XML_SEQUENCE_GENERATOR__INITIAL_VALUE: + return getInitialValue(); + case OrmPackage.XML_SEQUENCE_GENERATOR__ALLOCATION_SIZE: + return getAllocationSize(); + case OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG: + return getCatalog(); + case OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA: + return getSchema(); + case OrmPackage.XML_SEQUENCE_GENERATOR__SEQUENCE_NAME: + return getSequenceName(); + } + 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_SEQUENCE_GENERATOR__DESCRIPTION: + setDescription((String)newValue); + return; + case OrmPackage.XML_SEQUENCE_GENERATOR__NAME: + setName((String)newValue); + return; + case OrmPackage.XML_SEQUENCE_GENERATOR__INITIAL_VALUE: + setInitialValue((Integer)newValue); + return; + case OrmPackage.XML_SEQUENCE_GENERATOR__ALLOCATION_SIZE: + setAllocationSize((Integer)newValue); + return; + case OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG: + setCatalog((String)newValue); + return; + case OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA: + setSchema((String)newValue); + return; + case OrmPackage.XML_SEQUENCE_GENERATOR__SEQUENCE_NAME: + setSequenceName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_SEQUENCE_GENERATOR__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case OrmPackage.XML_SEQUENCE_GENERATOR__NAME: + setName(NAME_EDEFAULT); + return; + case OrmPackage.XML_SEQUENCE_GENERATOR__INITIAL_VALUE: + setInitialValue(INITIAL_VALUE_EDEFAULT); + return; + case OrmPackage.XML_SEQUENCE_GENERATOR__ALLOCATION_SIZE: + setAllocationSize(ALLOCATION_SIZE_EDEFAULT); + return; + case OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG: + setCatalog(CATALOG_EDEFAULT); + return; + case OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA: + setSchema(SCHEMA_EDEFAULT); + return; + case OrmPackage.XML_SEQUENCE_GENERATOR__SEQUENCE_NAME: + setSequenceName(SEQUENCE_NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_SEQUENCE_GENERATOR__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case OrmPackage.XML_SEQUENCE_GENERATOR__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case OrmPackage.XML_SEQUENCE_GENERATOR__INITIAL_VALUE: + return INITIAL_VALUE_EDEFAULT == null ? initialValue != null : !INITIAL_VALUE_EDEFAULT.equals(initialValue); + case OrmPackage.XML_SEQUENCE_GENERATOR__ALLOCATION_SIZE: + return ALLOCATION_SIZE_EDEFAULT == null ? allocationSize != null : !ALLOCATION_SIZE_EDEFAULT.equals(allocationSize); + case OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG: + return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog); + case OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA: + return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema); + case OrmPackage.XML_SEQUENCE_GENERATOR__SEQUENCE_NAME: + return SEQUENCE_NAME_EDEFAULT == null ? sequenceName != null : !SEQUENCE_NAME_EDEFAULT.equals(sequenceName); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == XmlSequenceGenerator_2_0.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG: return OrmV2_0Package.XML_SEQUENCE_GENERATOR_20__CATALOG; + case OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA: return OrmV2_0Package.XML_SEQUENCE_GENERATOR_20__SCHEMA; + 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 == XmlSequenceGenerator_2_0.class) + { + switch (baseFeatureID) + { + case OrmV2_0Package.XML_SEQUENCE_GENERATOR_20__CATALOG: return OrmPackage.XML_SEQUENCE_GENERATOR__CATALOG; + case OrmV2_0Package.XML_SEQUENCE_GENERATOR_20__SCHEMA: return OrmPackage.XML_SEQUENCE_GENERATOR__SCHEMA; + 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(" (description: "); + result.append(description); + result.append(", name: "); + result.append(name); + result.append(", initialValue: "); + result.append(initialValue); + result.append(", allocationSize: "); + result.append(allocationSize); + result.append(", catalog: "); + result.append(catalog); + result.append(", schema: "); + result.append(schema); + result.append(", sequenceName: "); + result.append(sequenceName); + result.append(')'); + return result.toString(); + } + + public TextRange getNameTextRange() { + return getAttributeTextRange(JPA.NAME); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildSequenceNameTranslator(), + buildInitialValueTranslator(), + buildAllocationSizeTranslator(), + buildCatalogTranslator(), + buildSchemaTranslator(), + buildDescriptionTranslator(), + }; + } + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlGenerator_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildSequenceNameTranslator() { + return new Translator(JPA.SEQUENCE_NAME, OrmPackage.eINSTANCE.getXmlSequenceGenerator_SequenceName(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildInitialValueTranslator() { + return new Translator(JPA.INITIAL_VALUE, OrmPackage.eINSTANCE.getXmlGenerator_InitialValue(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildAllocationSizeTranslator() { + return new Translator(JPA.ALLOCATION_SIZE, OrmPackage.eINSTANCE.getXmlGenerator_AllocationSize(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildDescriptionTranslator() { + return new Translator(JPA.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlGenerator_2_0_Description()); + } + + protected static Translator buildCatalogTranslator() { + return new Translator(JPA.CATALOG, OrmV2_0Package.eINSTANCE.getXmlSequenceGenerator_2_0_Catalog(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildSchemaTranslator() { + return new Translator(JPA.SCHEMA, OrmV2_0Package.eINSTANCE.getXmlSequenceGenerator_2_0_Schema(), Translator.DOM_ATTRIBUTE); + } + + // *********** content assist **************** + + public TextRange getSequenceNameCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.SEQUENCE_NAME); + } + + public TextRange getSchemaCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.SCHEMA); + } + + public TextRange getCatalogCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.CATALOG); + } + + public boolean sequenceNameTouches(int pos) { + TextRange textRange = this.getSequenceNameCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } + + public boolean schemaTouches(int pos) { + TextRange textRange = this.getSchemaCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } + + public boolean catalogTouches(int pos) { + TextRange textRange = this.getCatalogCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTable.java new file mode 100644 index 0000000000..76c9db8b4f --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTable.java @@ -0,0 +1,71 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Table</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.jpa.core.resource.orm.OrmPackage#getXmlTable() + * @model kind="class" + * @generated + */ +public class XmlTable extends AbstractXmlTable +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlTable() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_TABLE; + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildCatalogTranslator(), + buildSchemaTranslator(), + buildUniqueConstraintTranslator() + }; + } + +} // Table diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTableGenerator.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTableGenerator.java new file mode 100644 index 0000000000..6140e6bb7d --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTableGenerator.java @@ -0,0 +1,994 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +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.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Table Generator</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.jpa.core.resource.orm.XmlTableGenerator#getTable <em>Table</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getCatalog <em>Catalog</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getSchema <em>Schema</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getPkColumnName <em>Pk Column Name</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getValueColumnName <em>Value Column Name</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getPkColumnValue <em>Pk Column Value</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getUniqueConstraints <em>Unique Constraints</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator() + * @model kind="class" + * @generated + */ +public class XmlTableGenerator extends EBaseObjectImpl implements XmlGenerator +{ + /** + * 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 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 #getInitialValue() <em>Initial Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getInitialValue() + * @generated + * @ordered + */ + protected static final Integer INITIAL_VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getInitialValue() <em>Initial Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getInitialValue() + * @generated + * @ordered + */ + protected Integer initialValue = INITIAL_VALUE_EDEFAULT; + + /** + * The default value of the '{@link #getAllocationSize() <em>Allocation Size</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAllocationSize() + * @generated + * @ordered + */ + protected static final Integer ALLOCATION_SIZE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getAllocationSize() <em>Allocation Size</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAllocationSize() + * @generated + * @ordered + */ + protected Integer allocationSize = ALLOCATION_SIZE_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 #getCatalog() <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCatalog() + * @generated + * @ordered + */ + protected static final String CATALOG_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCatalog() <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCatalog() + * @generated + * @ordered + */ + protected String catalog = CATALOG_EDEFAULT; + + /** + * The default value of the '{@link #getSchema() <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSchema() + * @generated + * @ordered + */ + protected static final String SCHEMA_EDEFAULT = null; + + /** + * The cached value of the '{@link #getSchema() <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSchema() + * @generated + * @ordered + */ + protected String schema = SCHEMA_EDEFAULT; + + /** + * The default value of the '{@link #getPkColumnName() <em>Pk Column Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPkColumnName() + * @generated + * @ordered + */ + protected static final String PK_COLUMN_NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getPkColumnName() <em>Pk Column Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPkColumnName() + * @generated + * @ordered + */ + protected String pkColumnName = PK_COLUMN_NAME_EDEFAULT; + + /** + * The default value of the '{@link #getValueColumnName() <em>Value Column Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValueColumnName() + * @generated + * @ordered + */ + protected static final String VALUE_COLUMN_NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValueColumnName() <em>Value Column Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValueColumnName() + * @generated + * @ordered + */ + protected String valueColumnName = VALUE_COLUMN_NAME_EDEFAULT; + + /** + * The default value of the '{@link #getPkColumnValue() <em>Pk Column Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPkColumnValue() + * @generated + * @ordered + */ + protected static final String PK_COLUMN_VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getPkColumnValue() <em>Pk Column Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPkColumnValue() + * @generated + * @ordered + */ + protected String pkColumnValue = PK_COLUMN_VALUE_EDEFAULT; + + /** + * The cached value of the '{@link #getUniqueConstraints() <em>Unique Constraints</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getUniqueConstraints() + * @generated + * @ordered + */ + protected EList<XmlUniqueConstraint> uniqueConstraints; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlTableGenerator() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_TABLE_GENERATOR; + } + + /** + * 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#getXmlGenerator_2_0_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.XmlTableGenerator#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.XML_TABLE_GENERATOR__DESCRIPTION, oldDescription, description)); + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlGenerator_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getName() + { + return name; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#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_TABLE_GENERATOR__NAME, oldName, name)); + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_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.jpa.core.resource.orm.XmlTableGenerator#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.XML_TABLE_GENERATOR__TABLE, oldTable, table)); + } + + /** + * Returns the value of the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Catalog</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Catalog</em>' attribute. + * @see #setCatalog(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_Catalog() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getCatalog() + { + return catalog; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getCatalog <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Catalog</em>' attribute. + * @see #getCatalog() + * @generated + */ + public void setCatalog(String newCatalog) + { + String oldCatalog = catalog; + catalog = newCatalog; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__CATALOG, oldCatalog, catalog)); + } + + /** + * Returns the value of the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Schema</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Schema</em>' attribute. + * @see #setSchema(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_Schema() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getSchema() + { + return schema; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getSchema <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Schema</em>' attribute. + * @see #getSchema() + * @generated + */ + public void setSchema(String newSchema) + { + String oldSchema = schema; + schema = newSchema; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__SCHEMA, oldSchema, schema)); + } + + /** + * Returns the value of the '<em><b>Pk Column Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Pk Column 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>Pk Column Name</em>' attribute. + * @see #setPkColumnName(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_PkColumnName() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getPkColumnName() + { + return pkColumnName; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getPkColumnName <em>Pk Column Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Pk Column Name</em>' attribute. + * @see #getPkColumnName() + * @generated + */ + public void setPkColumnName(String newPkColumnName) + { + String oldPkColumnName = pkColumnName; + pkColumnName = newPkColumnName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_NAME, oldPkColumnName, pkColumnName)); + } + + /** + * Returns the value of the '<em><b>Value Column Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value Column 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>Value Column Name</em>' attribute. + * @see #setValueColumnName(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_ValueColumnName() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getValueColumnName() + { + return valueColumnName; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getValueColumnName <em>Value Column Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Value Column Name</em>' attribute. + * @see #getValueColumnName() + * @generated + */ + public void setValueColumnName(String newValueColumnName) + { + String oldValueColumnName = valueColumnName; + valueColumnName = newValueColumnName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__VALUE_COLUMN_NAME, oldValueColumnName, valueColumnName)); + } + + /** + * Returns the value of the '<em><b>Pk Column Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Pk Column Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Pk Column Value</em>' attribute. + * @see #setPkColumnValue(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_PkColumnValue() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getPkColumnValue() + { + return pkColumnValue; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getPkColumnValue <em>Pk Column Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Pk Column Value</em>' attribute. + * @see #getPkColumnValue() + * @generated + */ + public void setPkColumnValue(String newPkColumnValue) + { + String oldPkColumnValue = pkColumnValue; + pkColumnValue = newPkColumnValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_VALUE, oldPkColumnValue, pkColumnValue)); + } + + /** + * Returns the value of the '<em><b>Initial Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Initial Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Initial Value</em>' attribute. + * @see #setInitialValue(Integer) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_InitialValue() + * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject" + * @generated + */ + public Integer getInitialValue() + { + return initialValue; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getInitialValue <em>Initial Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Initial Value</em>' attribute. + * @see #getInitialValue() + * @generated + */ + public void setInitialValue(Integer newInitialValue) + { + Integer oldInitialValue = initialValue; + initialValue = newInitialValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__INITIAL_VALUE, oldInitialValue, initialValue)); + } + + /** + * Returns the value of the '<em><b>Allocation Size</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Allocation Size</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Allocation Size</em>' attribute. + * @see #setAllocationSize(Integer) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlGenerator_AllocationSize() + * @model dataType="org.eclipse.emf.ecore.xml.type.IntObject" + * @generated + */ + public Integer getAllocationSize() + { + return allocationSize; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator#getAllocationSize <em>Allocation Size</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Allocation Size</em>' attribute. + * @see #getAllocationSize() + * @generated + */ + public void setAllocationSize(Integer newAllocationSize) + { + Integer oldAllocationSize = allocationSize; + allocationSize = newAllocationSize; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_TABLE_GENERATOR__ALLOCATION_SIZE, oldAllocationSize, allocationSize)); + } + + /** + * Returns the value of the '<em><b>Unique Constraints</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Unique Constraints</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Unique Constraints</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator_UniqueConstraints() + * @model containment="true" + * @generated + */ + public EList<XmlUniqueConstraint> getUniqueConstraints() + { + if (uniqueConstraints == null) + { + uniqueConstraints = new EObjectContainmentEList<XmlUniqueConstraint>(XmlUniqueConstraint.class, this, OrmPackage.XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS); + } + return uniqueConstraints; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS: + return ((InternalEList<?>)getUniqueConstraints()).basicRemove(otherEnd, 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_TABLE_GENERATOR__DESCRIPTION: + return getDescription(); + case OrmPackage.XML_TABLE_GENERATOR__NAME: + return getName(); + case OrmPackage.XML_TABLE_GENERATOR__INITIAL_VALUE: + return getInitialValue(); + case OrmPackage.XML_TABLE_GENERATOR__ALLOCATION_SIZE: + return getAllocationSize(); + case OrmPackage.XML_TABLE_GENERATOR__TABLE: + return getTable(); + case OrmPackage.XML_TABLE_GENERATOR__CATALOG: + return getCatalog(); + case OrmPackage.XML_TABLE_GENERATOR__SCHEMA: + return getSchema(); + case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_NAME: + return getPkColumnName(); + case OrmPackage.XML_TABLE_GENERATOR__VALUE_COLUMN_NAME: + return getValueColumnName(); + case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_VALUE: + return getPkColumnValue(); + case OrmPackage.XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS: + return getUniqueConstraints(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.XML_TABLE_GENERATOR__DESCRIPTION: + setDescription((String)newValue); + return; + case OrmPackage.XML_TABLE_GENERATOR__NAME: + setName((String)newValue); + return; + case OrmPackage.XML_TABLE_GENERATOR__INITIAL_VALUE: + setInitialValue((Integer)newValue); + return; + case OrmPackage.XML_TABLE_GENERATOR__ALLOCATION_SIZE: + setAllocationSize((Integer)newValue); + return; + case OrmPackage.XML_TABLE_GENERATOR__TABLE: + setTable((String)newValue); + return; + case OrmPackage.XML_TABLE_GENERATOR__CATALOG: + setCatalog((String)newValue); + return; + case OrmPackage.XML_TABLE_GENERATOR__SCHEMA: + setSchema((String)newValue); + return; + case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_NAME: + setPkColumnName((String)newValue); + return; + case OrmPackage.XML_TABLE_GENERATOR__VALUE_COLUMN_NAME: + setValueColumnName((String)newValue); + return; + case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_VALUE: + setPkColumnValue((String)newValue); + return; + case OrmPackage.XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS: + getUniqueConstraints().clear(); + getUniqueConstraints().addAll((Collection<? extends XmlUniqueConstraint>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_TABLE_GENERATOR__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case OrmPackage.XML_TABLE_GENERATOR__NAME: + setName(NAME_EDEFAULT); + return; + case OrmPackage.XML_TABLE_GENERATOR__INITIAL_VALUE: + setInitialValue(INITIAL_VALUE_EDEFAULT); + return; + case OrmPackage.XML_TABLE_GENERATOR__ALLOCATION_SIZE: + setAllocationSize(ALLOCATION_SIZE_EDEFAULT); + return; + case OrmPackage.XML_TABLE_GENERATOR__TABLE: + setTable(TABLE_EDEFAULT); + return; + case OrmPackage.XML_TABLE_GENERATOR__CATALOG: + setCatalog(CATALOG_EDEFAULT); + return; + case OrmPackage.XML_TABLE_GENERATOR__SCHEMA: + setSchema(SCHEMA_EDEFAULT); + return; + case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_NAME: + setPkColumnName(PK_COLUMN_NAME_EDEFAULT); + return; + case OrmPackage.XML_TABLE_GENERATOR__VALUE_COLUMN_NAME: + setValueColumnName(VALUE_COLUMN_NAME_EDEFAULT); + return; + case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_VALUE: + setPkColumnValue(PK_COLUMN_VALUE_EDEFAULT); + return; + case OrmPackage.XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS: + getUniqueConstraints().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_TABLE_GENERATOR__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case OrmPackage.XML_TABLE_GENERATOR__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case OrmPackage.XML_TABLE_GENERATOR__INITIAL_VALUE: + return INITIAL_VALUE_EDEFAULT == null ? initialValue != null : !INITIAL_VALUE_EDEFAULT.equals(initialValue); + case OrmPackage.XML_TABLE_GENERATOR__ALLOCATION_SIZE: + return ALLOCATION_SIZE_EDEFAULT == null ? allocationSize != null : !ALLOCATION_SIZE_EDEFAULT.equals(allocationSize); + case OrmPackage.XML_TABLE_GENERATOR__TABLE: + return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table); + case OrmPackage.XML_TABLE_GENERATOR__CATALOG: + return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog); + case OrmPackage.XML_TABLE_GENERATOR__SCHEMA: + return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema); + case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_NAME: + return PK_COLUMN_NAME_EDEFAULT == null ? pkColumnName != null : !PK_COLUMN_NAME_EDEFAULT.equals(pkColumnName); + case OrmPackage.XML_TABLE_GENERATOR__VALUE_COLUMN_NAME: + return VALUE_COLUMN_NAME_EDEFAULT == null ? valueColumnName != null : !VALUE_COLUMN_NAME_EDEFAULT.equals(valueColumnName); + case OrmPackage.XML_TABLE_GENERATOR__PK_COLUMN_VALUE: + return PK_COLUMN_VALUE_EDEFAULT == null ? pkColumnValue != null : !PK_COLUMN_VALUE_EDEFAULT.equals(pkColumnValue); + case OrmPackage.XML_TABLE_GENERATOR__UNIQUE_CONSTRAINTS: + return uniqueConstraints != null && !uniqueConstraints.isEmpty(); + } + 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(" (description: "); + result.append(description); + result.append(", name: "); + result.append(name); + result.append(", initialValue: "); + result.append(initialValue); + result.append(", allocationSize: "); + result.append(allocationSize); + result.append(", table: "); + result.append(table); + result.append(", catalog: "); + result.append(catalog); + result.append(", schema: "); + result.append(schema); + result.append(", pkColumnName: "); + result.append(pkColumnName); + result.append(", valueColumnName: "); + result.append(valueColumnName); + result.append(", pkColumnValue: "); + result.append(pkColumnValue); + result.append(')'); + return result.toString(); + } + + public TextRange getNameTextRange() { + return getAttributeTextRange(JPA.NAME); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildTableTranslator(), + buildCatalogTranslator(), + buildSchemaTranslator(), + buildPkColumnNameTranslator(), + buildValueColumnNameTranslator(), + buildPkColumnValueTranslator(), + buildInitialValueTranslator(), + buildAllocationSizeTranslator(), + buildDescriptionTranslator(), + XmlUniqueConstraint.buildTranslator(JPA.UNIQUE_CONSTRAINT, OrmPackage.eINSTANCE.getXmlTableGenerator_UniqueConstraints()) + }; + } + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmPackage.eINSTANCE.getXmlGenerator_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildTableTranslator() { + return new Translator(JPA.TABLE, OrmPackage.eINSTANCE.getXmlTableGenerator_Table(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildCatalogTranslator() { + return new Translator(JPA.CATALOG, OrmPackage.eINSTANCE.getXmlTableGenerator_Catalog(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildSchemaTranslator() { + return new Translator(JPA.SCHEMA, OrmPackage.eINSTANCE.getXmlTableGenerator_Schema(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildPkColumnNameTranslator() { + return new Translator(JPA.PK_COLUMN_NAME, OrmPackage.eINSTANCE.getXmlTableGenerator_PkColumnName(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildValueColumnNameTranslator() { + return new Translator(JPA.VALUE_COLUMN_NAME, OrmPackage.eINSTANCE.getXmlTableGenerator_ValueColumnName(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildPkColumnValueTranslator() { + return new Translator(JPA.PK_COLUMN_VALUE, OrmPackage.eINSTANCE.getXmlTableGenerator_PkColumnValue(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildInitialValueTranslator() { + return new Translator(JPA.INITIAL_VALUE, OrmPackage.eINSTANCE.getXmlGenerator_InitialValue(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildAllocationSizeTranslator() { + return new Translator(JPA.ALLOCATION_SIZE, OrmPackage.eINSTANCE.getXmlGenerator_AllocationSize(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildDescriptionTranslator() { + return new Translator(JPA.DESCRIPTION, OrmV2_0Package.eINSTANCE.getXmlGenerator_2_0_Description()); + } + + // ************* content assist *************** + + public TextRange getTableCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.TABLE); + } + + public TextRange getSchemaCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.SCHEMA); + } + + public TextRange getCatalogCodeAssistTextRange() { + return getAttributeCodeAssistTextRange(JPA.CATALOG); + } + + public TextRange getPKColumnNameTextRange() { + return getAttributeCodeAssistTextRange(JPA.PK_COLUMN_NAME); + } + + public TextRange getValueColumnNameTextRange() { + return getAttributeCodeAssistTextRange(JPA.VALUE_COLUMN_NAME); + } + + public boolean tableTouches(int pos) { + TextRange textRange = this.getTableCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } + + public boolean schemaTouches(int pos) { + TextRange textRange = this.getSchemaCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } + + public boolean catalogTouches(int pos) { + TextRange textRange = this.getCatalogCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } + + public boolean pkColumnNameTouches(int pos) { + TextRange textRange = this.getPKColumnNameTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } + + public boolean valueColumnNameTouches(int pos) { + TextRange textRange = this.getValueColumnNameTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTransient.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTransient.java new file mode 100644 index 0000000000..b51d6e800d --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTransient.java @@ -0,0 +1,77 @@ +/******************************************************************************* + * 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.jpa.core.resource.orm; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.jpa.core.MappingKeys; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Transient</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.jpa.core.resource.orm.OrmPackage#getXmlTransient() + * @model kind="class" + * @generated + */ +public class XmlTransient extends AbstractXmlAttributeMapping +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlTransient() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_TRANSIENT; + } + + public String getMappingKey() { + return MappingKeys.TRANSIENT_ATTRIBUTE_MAPPING_KEY; + } + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren() + ); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator() + }; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTypeMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTypeMapping.java new file mode 100644 index 0000000000..79c3414c8d --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlTypeMapping.java @@ -0,0 +1,167 @@ +/******************************************************************************* + * Copyright (c) 2009, 2012 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.jpa.core.resource.orm; + +import org.eclipse.jdt.core.IType; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.text.edits.ReplaceEdit; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Type Mapping</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.jpa.core.resource.orm.XmlTypeMapping#getClassName <em>Class Name</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getMetadataComplete <em>Metadata Complete</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getDescription <em>Description</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getAttributes <em>Attributes</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlTypeMapping extends XmlAccessHolder +{ + /** + * 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 + */ + String getClassName(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#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 + */ + void setClassName(String value); + + /** + * Returns the value of the '<em><b>Metadata Complete</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Metadata Complete</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Metadata Complete</em>' attribute. + * @see #setMetadataComplete(Boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_MetadataComplete() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + Boolean getMetadataComplete(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getMetadataComplete <em>Metadata Complete</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Metadata Complete</em>' attribute. + * @see #getMetadataComplete() + * @generated + */ + void setMetadataComplete(Boolean value); + + /** + * 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 + */ + String getDescription(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#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 + */ + void setDescription(String value); + + /** + * Returns the value of the '<em><b>Attributes</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Attributes</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>Attributes</em>' containment reference. + * @see #setAttributes(Attributes) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping_Attributes() + * @model containment="true" + * @generated + */ + Attributes getAttributes(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping#getAttributes <em>Attributes</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Attributes</em>' containment reference. + * @see #getAttributes() + * @generated + */ + void setAttributes(Attributes value); + + TextRange getClassTextRange(); + + TextRange getAttributesTextRange(); + + TextRange getNameTextRange(); + + //TODO not happy with this, or the corresponding one in XmlAttributeMapping + String getMappingKey(); + + + // ********** refactoring ********** + + ReplaceEdit createRenameTypeEdit(IType originalType, String newName); + + ReplaceEdit createRenamePackageEdit(String newName); + + // ********** content assist ********* + + boolean classNameTouches(int pos); +} // XmlTypeMapping diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlUniqueConstraint.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlUniqueConstraint.java new file mode 100644 index 0000000000..70390a6763 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlUniqueConstraint.java @@ -0,0 +1,286 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 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.jpa.core.resource.orm; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EDataTypeEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Unique Constraint</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.jpa.core.resource.orm.XmlUniqueConstraint#getColumnNames <em>Column Names</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlUniqueConstraint() + * @model kind="class" + * @generated + */ +public class XmlUniqueConstraint extends EBaseObjectImpl implements XmlUniqueConstraint_2_0 +{ + /** + * 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 cached value of the '{@link #getColumnNames() <em>Column Names</em>}' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getColumnNames() + * @generated + * @ordered + */ + protected EList<String> columnNames; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlUniqueConstraint() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_UNIQUE_CONSTRAINT; + } + + /** + * 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.jpa.core.resource.orm.OrmPackage#getXmlUniqueConstraint_2_0_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.jpa.core.resource.orm.XmlUniqueConstraint#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_UNIQUE_CONSTRAINT__NAME, oldName, name)); + } + + /** + * Returns the value of the '<em><b>Column Names</b></em>' attribute list. + * The list contents are of type {@link java.lang.String}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Column Names</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Column Names</em>' attribute list. + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlUniqueConstraint_ColumnNames() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public EList<String> getColumnNames() + { + if (columnNames == null) + { + columnNames = new EDataTypeEList<String>(String.class, this, OrmPackage.XML_UNIQUE_CONSTRAINT__COLUMN_NAMES); + } + return columnNames; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case OrmPackage.XML_UNIQUE_CONSTRAINT__NAME: + return getName(); + case OrmPackage.XML_UNIQUE_CONSTRAINT__COLUMN_NAMES: + return getColumnNames(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case OrmPackage.XML_UNIQUE_CONSTRAINT__NAME: + setName((String)newValue); + return; + case OrmPackage.XML_UNIQUE_CONSTRAINT__COLUMN_NAMES: + getColumnNames().clear(); + getColumnNames().addAll((Collection<? extends String>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_UNIQUE_CONSTRAINT__NAME: + setName(NAME_EDEFAULT); + return; + case OrmPackage.XML_UNIQUE_CONSTRAINT__COLUMN_NAMES: + getColumnNames().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_UNIQUE_CONSTRAINT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case OrmPackage.XML_UNIQUE_CONSTRAINT__COLUMN_NAMES: + return columnNames != null && !columnNames.isEmpty(); + } + 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(" (name: "); + result.append(name); + result.append(", columnNames: "); + result.append(columnNames); + result.append(')'); + return result.toString(); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildColumnNameTranslator(), + }; + } + + protected static Translator buildNameTranslator() { + return new Translator(JPA.NAME, OrmV2_0Package.eINSTANCE.getXmlUniqueConstraint_2_0_Name(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildColumnNameTranslator() { + return new Translator(JPA.COLUMN_NAME, OrmPackage.eINSTANCE.getXmlUniqueConstraint_ColumnNames()); + } + + // ************ content assist ********** + + protected TextRange getColumnNameCodeAssistTextRange() { + return this.getElementCodeAssistTextRange(JPA.COLUMN_NAME); + } + + public boolean columnNamesTouches(int pos) { + TextRange textRange = getColumnNameCodeAssistTextRange(); + return (textRange != null) && (textRange.touches(pos)); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlVersion.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlVersion.java new file mode 100644 index 0000000000..d4b466b7f5 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlVersion.java @@ -0,0 +1,523 @@ +/******************************************************************************* + * 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.jpa.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.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.MappingKeys; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Version</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.jpa.core.resource.orm.OrmPackage#getXmlVersion() + * @model kind="class" + * @generated + */ +public class XmlVersion extends AbstractXmlAttributeMapping implements ColumnMapping, XmlConvertibleMapping +{ + /** + * 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; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlVersion() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return OrmPackage.Literals.XML_VERSION; + } + + /** + * 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.jpa.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_VERSION__COLUMN, oldColumn, newColumn); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion#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_VERSION__COLUMN, null, msgs); + if (newColumn != null) + msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_VERSION__COLUMN, null, msgs); + msgs = basicSetColumn(newColumn, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_VERSION__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.jpa.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.jpa.core.resource.orm.XmlVersion#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_VERSION__LOB, oldLob, lob)); + } + + /** + * Returns the value of the '<em><b>Temporal</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.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.jpa.core.resource.orm.TemporalType + * @see #setTemporal(TemporalType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Temporal() + * @model + * @generated + */ + public TemporalType getTemporal() + { + return temporal; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion#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.jpa.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_VERSION__TEMPORAL, oldTemporal, temporal)); + } + + /** + * Returns the value of the '<em><b>Enumerated</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.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.jpa.core.resource.orm.EnumType + * @see #setEnumerated(EnumType) + * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlConvertibleMapping_Enumerated() + * @model + * @generated + */ + public EnumType getEnumerated() + { + return enumerated; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion#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.jpa.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_VERSION__ENUMERATED, oldEnumerated, enumerated)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case OrmPackage.XML_VERSION__COLUMN: + return basicSetColumn(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_VERSION__COLUMN: + return getColumn(); + case OrmPackage.XML_VERSION__LOB: + return isLob(); + case OrmPackage.XML_VERSION__TEMPORAL: + return getTemporal(); + case OrmPackage.XML_VERSION__ENUMERATED: + return getEnumerated(); + } + 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_VERSION__COLUMN: + setColumn((XmlColumn)newValue); + return; + case OrmPackage.XML_VERSION__LOB: + setLob((Boolean)newValue); + return; + case OrmPackage.XML_VERSION__TEMPORAL: + setTemporal((TemporalType)newValue); + return; + case OrmPackage.XML_VERSION__ENUMERATED: + setEnumerated((EnumType)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_VERSION__COLUMN: + setColumn((XmlColumn)null); + return; + case OrmPackage.XML_VERSION__LOB: + setLob(LOB_EDEFAULT); + return; + case OrmPackage.XML_VERSION__TEMPORAL: + setTemporal(TEMPORAL_EDEFAULT); + return; + case OrmPackage.XML_VERSION__ENUMERATED: + setEnumerated(ENUMERATED_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case OrmPackage.XML_VERSION__COLUMN: + return column != null; + case OrmPackage.XML_VERSION__LOB: + return lob != LOB_EDEFAULT; + case OrmPackage.XML_VERSION__TEMPORAL: + return temporal != TEMPORAL_EDEFAULT; + case OrmPackage.XML_VERSION__ENUMERATED: + return enumerated != ENUMERATED_EDEFAULT; + } + 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_VERSION__COLUMN: return OrmPackage.COLUMN_MAPPING__COLUMN; + default: return -1; + } + } + if (baseClass == XmlConvertibleMapping.class) + { + switch (derivedFeatureID) + { + case OrmPackage.XML_VERSION__LOB: return OrmPackage.XML_CONVERTIBLE_MAPPING__LOB; + case OrmPackage.XML_VERSION__TEMPORAL: return OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL; + case OrmPackage.XML_VERSION__ENUMERATED: return OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED; + 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_VERSION__COLUMN; + default: return -1; + } + } + if (baseClass == XmlConvertibleMapping.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_CONVERTIBLE_MAPPING__LOB: return OrmPackage.XML_VERSION__LOB; + case OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL: return OrmPackage.XML_VERSION__TEMPORAL; + case OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED: return OrmPackage.XML_VERSION__ENUMERATED; + 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() { + throw new UnsupportedOperationException("enumerated not supported by version mappings"); + } + + public TextRange getLobTextRange() { + throw new UnsupportedOperationException("lob not supported by version mappings"); + } + + public TextRange getTemporalTextRange() { + return getAttributeTextRange(JPA.TEMPORAL); + } + + public String getMappingKey() { + return MappingKeys.VERSION_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(), + buildTemporalTranslator(), + }; + } + + protected static Translator buildColumnTranslator() { + return XmlColumn.buildTranslator(JPA.COLUMN, OrmPackage.eINSTANCE.getColumnMapping_Column()); + } + + protected static Translator buildTemporalTranslator() { + return new Translator(JPA.TEMPORAL, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Temporal()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/LockModeType_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/LockModeType_2_0.java new file mode 100644 index 0000000000..e589259108 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/LockModeType_2_0.java @@ -0,0 +1,397 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Lock Mode Type 20</b></em>', + * and utility methods for working with them. + * + * 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.jpa.core.resource.orm.v2_0.OrmV2_0Package#getLockModeType_2_0() + * @model + * @generated + */ +public enum LockModeType_2_0 implements Enumerator +{ + /** + * The '<em><b>NONE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #NONE_VALUE + * @generated + * @ordered + */ + NONE(0, "NONE", "NONE"), /** + * The '<em><b>READ</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #READ_VALUE + * @generated + * @ordered + */ + READ(1, "READ", "READ"), + + /** + * The '<em><b>WRITE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #WRITE_VALUE + * @generated + * @ordered + */ + WRITE(2, "WRITE", "WRITE"), + + /** + * The '<em><b>OPTIMISTIC</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #OPTIMISTIC_VALUE + * @generated + * @ordered + */ + OPTIMISTIC(3, "OPTIMISTIC", "OPTIMISTIC"), + + /** + * The '<em><b>OPTIMISTIC FORCE INCREMENT</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #OPTIMISTIC_FORCE_INCREMENT_VALUE + * @generated + * @ordered + */ + OPTIMISTIC_FORCE_INCREMENT(4, "OPTIMISTIC_FORCE_INCREMENT", "OPTIMISTIC_FORCE_INCREMENT"), + + /** + * The '<em><b>PESSIMISTIC READ</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #PESSIMISTIC_READ_VALUE + * @generated + * @ordered + */ + PESSIMISTIC_READ(5, "PESSIMISTIC_READ", "PESSIMISTIC_READ"), + + /** + * The '<em><b>PESSIMISTIC WRITE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #PESSIMISTIC_WRITE_VALUE + * @generated + * @ordered + */ + PESSIMISTIC_WRITE(6, "PESSIMISTIC_WRITE", "PESSIMISTIC_WRITE"), + + /** + * The '<em><b>PESSIMISTIC FORCE INCREMENT</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #PESSIMISTIC_FORCE_INCREMENT_VALUE + * @generated + * @ordered + */ + PESSIMISTIC_FORCE_INCREMENT(7, "PESSIMISTIC_FORCE_INCREMENT", "PESSIMISTIC_FORCE_INCREMENT"); + + /** + * The '<em><b>NONE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>NONE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #NONE + * @model + * @generated + * @ordered + */ + public static final int NONE_VALUE = 0; + + /** + * The '<em><b>READ</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>READ</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #READ + * @model + * @generated + * @ordered + */ + public static final int READ_VALUE = 1; + + /** + * The '<em><b>WRITE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>WRITE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #WRITE + * @model + * @generated + * @ordered + */ + public static final int WRITE_VALUE = 2; + + /** + * The '<em><b>OPTIMISTIC</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>OPTIMISTIC</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #OPTIMISTIC + * @model + * @generated + * @ordered + */ + public static final int OPTIMISTIC_VALUE = 3; + + /** + * The '<em><b>OPTIMISTIC FORCE INCREMENT</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>OPTIMISTIC FORCE INCREMENT</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #OPTIMISTIC_FORCE_INCREMENT + * @model + * @generated + * @ordered + */ + public static final int OPTIMISTIC_FORCE_INCREMENT_VALUE = 4; + + /** + * The '<em><b>PESSIMISTIC READ</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>PESSIMISTIC READ</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #PESSIMISTIC_READ + * @model + * @generated + * @ordered + */ + public static final int PESSIMISTIC_READ_VALUE = 5; + + /** + * The '<em><b>PESSIMISTIC WRITE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>PESSIMISTIC WRITE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #PESSIMISTIC_WRITE + * @model + * @generated + * @ordered + */ + public static final int PESSIMISTIC_WRITE_VALUE = 6; + + /** + * The '<em><b>PESSIMISTIC FORCE INCREMENT</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>PESSIMISTIC FORCE INCREMENT</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #PESSIMISTIC_FORCE_INCREMENT + * @model + * @generated + * @ordered + */ + public static final int PESSIMISTIC_FORCE_INCREMENT_VALUE = 7; + + /** + * An array of all the '<em><b>Lock Mode Type 20</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final LockModeType_2_0[] VALUES_ARRAY = + new LockModeType_2_0[] + { + NONE, + READ, + WRITE, + OPTIMISTIC, + OPTIMISTIC_FORCE_INCREMENT, + PESSIMISTIC_READ, + PESSIMISTIC_WRITE, + PESSIMISTIC_FORCE_INCREMENT, + }; + + /** + * A public read-only list of all the '<em><b>Lock Mode Type 20</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<LockModeType_2_0> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Lock Mode Type 20</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static LockModeType_2_0 get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + LockModeType_2_0 result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Lock Mode Type 20</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static LockModeType_2_0 getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + LockModeType_2_0 result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Lock Mode Type 20</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static LockModeType_2_0 get(int value) + { + switch (value) + { + case NONE_VALUE: return NONE; + case READ_VALUE: return READ; + case WRITE_VALUE: return WRITE; + case OPTIMISTIC_VALUE: return OPTIMISTIC; + case OPTIMISTIC_FORCE_INCREMENT_VALUE: return OPTIMISTIC_FORCE_INCREMENT; + case PESSIMISTIC_READ_VALUE: return PESSIMISTIC_READ; + case PESSIMISTIC_WRITE_VALUE: return PESSIMISTIC_WRITE; + case PESSIMISTIC_FORCE_INCREMENT_VALUE: return PESSIMISTIC_FORCE_INCREMENT; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private LockModeType_2_0(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //LockModeType_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Factory.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Factory.java new file mode 100644 index 0000000000..0e9e84a0b6 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Factory.java @@ -0,0 +1,166 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.impl.EFactoryImpl; +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package + * @generated + */ +public class OrmV2_0Factory extends EFactoryImpl +{ + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final OrmV2_0Factory eINSTANCE = init(); + + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static OrmV2_0Factory init() + { + try + { + OrmV2_0Factory theOrmV2_0Factory = (OrmV2_0Factory)EPackage.Registry.INSTANCE.getEFactory("jpt.orm.v2_0.xmi"); + if (theOrmV2_0Factory != null) + { + return theOrmV2_0Factory; + } + } + catch (Exception exception) + { + EcorePlugin.INSTANCE.log(exception); + } + return new OrmV2_0Factory(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OrmV2_0Factory() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) + { + switch (eClass.getClassifierID()) + { + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object createFromString(EDataType eDataType, String initialValue) + { + switch (eDataType.getClassifierID()) + { + case OrmV2_0Package.LOCK_MODE_TYPE_20: + return createLockModeType_2_0FromString(eDataType, initialValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String convertToString(EDataType eDataType, Object instanceValue) + { + switch (eDataType.getClassifierID()) + { + case OrmV2_0Package.LOCK_MODE_TYPE_20: + return convertLockModeType_2_0ToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public LockModeType_2_0 createLockModeType_2_0FromString(EDataType eDataType, String initialValue) + { + LockModeType_2_0 result = LockModeType_2_0.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertLockModeType_2_0ToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OrmV2_0Package getOrmV2_0Package() + { + return (OrmV2_0Package)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static OrmV2_0Package getPackage() + { + return OrmV2_0Package.eINSTANCE; + } + +} //OrmV2_0Factory diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Package.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Package.java new file mode 100644 index 0000000000..602cfbfe92 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Package.java @@ -0,0 +1,3806 @@ +/******************************************************************************* + * Copyright (c) 2009, 2011 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecore.impl.EPackageImpl; +import org.eclipse.emf.ecore.xml.type.XMLTypePackage; +import org.eclipse.jpt.common.core.resource.xml.CommonPackage; +import org.eclipse.jpt.jpa.core.resource.orm.OrmPackage; +import org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage; +import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Factory + * @model kind="package" + * @generated + */ +public class OrmV2_0Package extends EPackageImpl +{ + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String eNAME = "v2_0"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String eNS_URI = "jpt.orm.v2_0.xmi"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String eNS_PREFIX = "org.eclipse.jpt.jpa.core.resource.orm.v2_0"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final OrmV2_0Package eINSTANCE = org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package.init(); + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0 <em>Xml Attribute Mapping 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributeMapping_2_0() + * @generated + */ + public static final int XML_ATTRIBUTE_MAPPING_20 = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0 <em>Xml Association Override 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAssociationOverride_2_0() + * @generated + */ + public static final int XML_ASSOCIATION_OVERRIDE_20 = 0; + + /** + * The feature id for the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ASSOCIATION_OVERRIDE_20__JOIN_TABLE = OrmPackage.XML_JOIN_TABLE_CONTAINER__JOIN_TABLE; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ASSOCIATION_OVERRIDE_20__DESCRIPTION = OrmPackage.XML_JOIN_TABLE_CONTAINER_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml Association Override 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ASSOCIATION_OVERRIDE_20_FEATURE_COUNT = OrmPackage.XML_JOIN_TABLE_CONTAINER_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTE_MAPPING_20__ACCESS = OrmPackage.XML_ACCESS_HOLDER__ACCESS; + + /** + * The number of structural features of the '<em>Xml Attribute Mapping 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTE_MAPPING_20_FEATURE_COUNT = OrmPackage.XML_ACCESS_HOLDER_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0 <em>Xml Attribute Override 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributeOverride_2_0() + * @generated + */ + public static final int XML_ATTRIBUTE_OVERRIDE_20 = 2; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTE_OVERRIDE_20__DESCRIPTION = 0; + + /** + * The number of structural features of the '<em>Xml Attribute Override 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTE_OVERRIDE_20_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0 <em>Xml Attributes 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributes_2_0() + * @generated + */ + public static final int XML_ATTRIBUTES_20 = 3; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTES_20__DESCRIPTION = 0; + + /** + * The feature id for the '<em><b>Element Collections</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTES_20__ELEMENT_COLLECTIONS = 1; + + /** + * The number of structural features of the '<em>Xml Attributes 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ATTRIBUTES_20_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0 <em>Xml Collection Table 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCollectionTable_2_0() + * @generated + */ + public static final int XML_COLLECTION_TABLE_20 = 6; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0 <em>Xml Derived Id 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlDerivedId_2_0() + * @generated + */ + public static final int XML_DERIVED_ID_20 = 7; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0 <em>Xml Element Collection 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0() + * @generated + */ + public static final int XML_ELEMENT_COLLECTION_20 = 8; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0 <em>Xml Embedded 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEmbedded_2_0() + * @generated + */ + public static final int XML_EMBEDDED_20 = 9; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0 <em>Xml Cacheable 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCacheable_2_0() + * @generated + */ + public static final int XML_CACHEABLE_20 = 4; + + /** + * The feature id for the '<em><b>Cacheable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_CACHEABLE_20__CACHEABLE = 0; + + /** + * The number of structural features of the '<em>Xml Cacheable 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_CACHEABLE_20_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0 <em>Xml Cascade Type 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCascadeType_2_0() + * @generated + */ + public static final int XML_CASCADE_TYPE_20 = 5; + + /** + * The feature id for the '<em><b>Cascade Detach</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_CASCADE_TYPE_20__CASCADE_DETACH = 0; + + /** + * The number of structural features of the '<em>Xml Cascade Type 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_CASCADE_TYPE_20_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLLECTION_TABLE_20__JOIN_COLUMNS = OrmPackage.XML_REFERENCE_TABLE__JOIN_COLUMNS; + + /** + * The number of structural features of the '<em>Xml Collection Table 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_COLLECTION_TABLE_20_FEATURE_COUNT = OrmPackage.XML_REFERENCE_TABLE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_DERIVED_ID_20__ID = 0; + + /** + * The number of structural features of the '<em>Xml Derived Id 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_DERIVED_ID_20_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Lob</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__LOB = OrmPackage.XML_CONVERTIBLE_MAPPING__LOB; + + /** + * The feature id for the '<em><b>Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__TEMPORAL = OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL; + + /** + * The feature id for the '<em><b>Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__ENUMERATED = OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED; + + /** + * The feature id for the '<em><b>Order Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__ORDER_COLUMN = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Order By</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__ORDER_BY = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__ATTRIBUTE_OVERRIDES = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__ASSOCIATION_OVERRIDES = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY_ATTRIBUTE_OVERRIDES = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY_TEMPORAL = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY_ENUMERATED = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Target Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__TARGET_CLASS = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 7; + + /** + * The feature id for the '<em><b>Fetch</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__FETCH = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 8; + + /** + * The feature id for the '<em><b>Map Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 9; + + /** + * The feature id for the '<em><b>Map Key Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY_CLASS = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 10; + + /** + * The feature id for the '<em><b>Map Key Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY_COLUMN = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 11; + + /** + * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__MAP_KEY_JOIN_COLUMNS = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 12; + + /** + * The feature id for the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__COLUMN = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 13; + + /** + * The feature id for the '<em><b>Collection Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20__COLLECTION_TABLE = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 14; + + /** + * The number of structural features of the '<em>Xml Element Collection 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ELEMENT_COLLECTION_20_FEATURE_COUNT = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 15; + + /** + * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDED_20__ASSOCIATION_OVERRIDES = OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES; + + /** + * The number of structural features of the '<em>Xml Embedded 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EMBEDDED_20_FEATURE_COUNT = OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0 <em>Xml Entity 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEntity_2_0() + * @generated + */ + public static final int XML_ENTITY_20 = 10; + + /** + * The feature id for the '<em><b>Cacheable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_20__CACHEABLE = XML_CACHEABLE_20__CACHEABLE; + + /** + * The number of structural features of the '<em>Xml Entity 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_20_FEATURE_COUNT = XML_CACHEABLE_20_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0 <em>Xml Entity Listener 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEntityListener_2_0() + * @generated + */ + public static final int XML_ENTITY_LISTENER_20 = 11; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_LISTENER_20__DESCRIPTION = 0; + + /** + * The number of structural features of the '<em>Xml Entity Listener 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ENTITY_LISTENER_20_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0 <em>Xml Event Method 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEventMethod_2_0() + * @generated + */ + public static final int XML_EVENT_METHOD_20 = 12; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EVENT_METHOD_20__DESCRIPTION = 0; + + /** + * The number of structural features of the '<em>Xml Event Method 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_EVENT_METHOD_20_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0 <em>Xml Generator 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlGenerator_2_0() + * @generated + */ + public static final int XML_GENERATOR_20 = 13; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_GENERATOR_20__DESCRIPTION = 0; + + /** + * The number of structural features of the '<em>Xml Generator 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_GENERATOR_20_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0 <em>Xml Orderable 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderable_2_0() + * @generated + */ + public static final int XML_ORDERABLE_20 = 22; + + /** + * The feature id for the '<em><b>Order Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDERABLE_20__ORDER_COLUMN = 0; + + /** + * The number of structural features of the '<em>Xml Orderable 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDERABLE_20_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0 <em>Xml Multi Relationship Mapping 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMultiRelationshipMapping_2_0() + * @generated + */ + public static final int XML_MULTI_RELATIONSHIP_MAPPING_20 = 18; + + /** + * The feature id for the '<em><b>Order Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__ORDER_COLUMN = XML_ORDERABLE_20__ORDER_COLUMN; + + /** + * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_ATTRIBUTE_OVERRIDES = XML_ORDERABLE_20_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_TEMPORAL = XML_ORDERABLE_20_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_ENUMERATED = XML_ORDERABLE_20_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Map Key Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS = XML_ORDERABLE_20_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Map Key Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN = XML_ORDERABLE_20_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS = XML_ORDERABLE_20_FEATURE_COUNT + 5; + + /** + * The number of structural features of the '<em>Xml Multi Relationship Mapping 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MULTI_RELATIONSHIP_MAPPING_20_FEATURE_COUNT = XML_ORDERABLE_20_FEATURE_COUNT + 6; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0 <em>Xml Many To Many 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlManyToMany_2_0() + * @generated + */ + public static final int XML_MANY_TO_MANY_20 = 14; + + /** + * The feature id for the '<em><b>Order Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY_20__ORDER_COLUMN = XML_MULTI_RELATIONSHIP_MAPPING_20__ORDER_COLUMN; + + /** + * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY_20__MAP_KEY_ATTRIBUTE_OVERRIDES = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_ATTRIBUTE_OVERRIDES; + + /** + * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY_20__MAP_KEY_TEMPORAL = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_TEMPORAL; + + /** + * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY_20__MAP_KEY_ENUMERATED = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_ENUMERATED; + + /** + * The feature id for the '<em><b>Map Key Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY_20__MAP_KEY_CLASS = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS; + + /** + * The feature id for the '<em><b>Map Key Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY_20__MAP_KEY_COLUMN = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN; + + /** + * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY_20__MAP_KEY_JOIN_COLUMNS = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS; + + /** + * The number of structural features of the '<em>Xml Many To Many 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MANY_TO_MANY_20_FEATURE_COUNT = XML_MULTI_RELATIONSHIP_MAPPING_20_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0 <em>Xml Map Key Attribute Override Container 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyAttributeOverrideContainer_2_0() + * @generated + */ + public static final int XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20 = 15; + + /** + * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES = 0; + + /** + * The number of structural features of the '<em>Xml Map Key Attribute Override Container 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0 <em>Xml Map Key Convertible Mapping 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyConvertibleMapping_2_0() + * @generated + */ + public static final int XML_MAP_KEY_CONVERTIBLE_MAPPING_20 = 16; + + /** + * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL = 0; + + /** + * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED = 1; + + /** + * The number of structural features of the '<em>Xml Map Key Convertible Mapping 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAP_KEY_CONVERTIBLE_MAPPING_20_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0 <em>Xml Maps Id 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapsId_2_0() + * @generated + */ + public static final int XML_MAPS_ID_20 = 17; + + /** + * The feature id for the '<em><b>Maps Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPS_ID_20__MAPS_ID = 0; + + /** + * The number of structural features of the '<em>Xml Maps Id 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPS_ID_20_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0 <em>Xml Named Query 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlNamedQuery_2_0() + * @generated + */ + public static final int XML_NAMED_QUERY_20 = 19; + + /** + * The feature id for the '<em><b>Lock Mode</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_QUERY_20__LOCK_MODE = 0; + + /** + * The number of structural features of the '<em>Xml Named Query 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_NAMED_QUERY_20_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0 <em>Xml Orphan Removable 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrphanRemovable_2_0() + * @generated + */ + public static final int XML_ORPHAN_REMOVABLE_20 = 24; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0 <em>Xml One To Many 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOneToMany_2_0() + * @generated + */ + public static final int XML_ONE_TO_MANY_20 = 20; + + /** + * The feature id for the '<em><b>Order Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY_20__ORDER_COLUMN = XML_MULTI_RELATIONSHIP_MAPPING_20__ORDER_COLUMN; + + /** + * The feature id for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY_20__MAP_KEY_ATTRIBUTE_OVERRIDES = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_ATTRIBUTE_OVERRIDES; + + /** + * The feature id for the '<em><b>Map Key Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY_20__MAP_KEY_TEMPORAL = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_TEMPORAL; + + /** + * The feature id for the '<em><b>Map Key Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY_20__MAP_KEY_ENUMERATED = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_ENUMERATED; + + /** + * The feature id for the '<em><b>Map Key Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY_20__MAP_KEY_CLASS = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS; + + /** + * The feature id for the '<em><b>Map Key Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY_20__MAP_KEY_COLUMN = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN; + + /** + * The feature id for the '<em><b>Map Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY_20__MAP_KEY_JOIN_COLUMNS = XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS; + + /** + * The feature id for the '<em><b>Orphan Removal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY_20__ORPHAN_REMOVAL = XML_MULTI_RELATIONSHIP_MAPPING_20_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml One To Many 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_MANY_20_FEATURE_COUNT = XML_MULTI_RELATIONSHIP_MAPPING_20_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0 <em>Xml Single Relationship Mapping 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSingleRelationshipMapping_2_0() + * @generated + */ + public static final int XML_SINGLE_RELATIONSHIP_MAPPING_20 = 30; + + /** + * The feature id for the '<em><b>Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SINGLE_RELATIONSHIP_MAPPING_20__ID = XML_DERIVED_ID_20__ID; + + /** + * The feature id for the '<em><b>Maps Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SINGLE_RELATIONSHIP_MAPPING_20__MAPS_ID = XML_DERIVED_ID_20_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml Single Relationship Mapping 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SINGLE_RELATIONSHIP_MAPPING_20_FEATURE_COUNT = XML_DERIVED_ID_20_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0 <em>Xml One To One 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOneToOne_2_0() + * @generated + */ + public static final int XML_ONE_TO_ONE_20 = 21; + + /** + * The feature id for the '<em><b>Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE_20__ID = XML_SINGLE_RELATIONSHIP_MAPPING_20__ID; + + /** + * The feature id for the '<em><b>Maps Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE_20__MAPS_ID = XML_SINGLE_RELATIONSHIP_MAPPING_20__MAPS_ID; + + /** + * The feature id for the '<em><b>Orphan Removal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE_20__ORPHAN_REMOVAL = XML_SINGLE_RELATIONSHIP_MAPPING_20_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml One To One 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ONE_TO_ONE_20_FEATURE_COUNT = XML_SINGLE_RELATIONSHIP_MAPPING_20_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0 <em>Xml Order Column 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderColumn_2_0() + * @generated + */ + public static final int XML_ORDER_COLUMN_20 = 23; + + /** + * The feature id for the '<em><b>Nullable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDER_COLUMN_20__NULLABLE = 0; + + /** + * The feature id for the '<em><b>Insertable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDER_COLUMN_20__INSERTABLE = 1; + + /** + * The feature id for the '<em><b>Updatable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDER_COLUMN_20__UPDATABLE = 2; + + /** + * The number of structural features of the '<em>Xml Order Column 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORDER_COLUMN_20_FEATURE_COUNT = 3; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0 <em>Xml Persistence Unit Defaults 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitDefaults_2_0() + * @generated + */ + public static final int XML_PERSISTENCE_UNIT_DEFAULTS_20 = 25; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0 <em>Xml Persistence Unit Metadata 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitMetadata_2_0() + * @generated + */ + public static final int XML_PERSISTENCE_UNIT_METADATA_20 = 26; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0 <em>Xml Query 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQuery_2_0() + * @generated + */ + public static final int XML_QUERY_20 = 27; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0 <em>Xml Query Hint 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQueryHint_2_0() + * @generated + */ + public static final int XML_QUERY_HINT_20 = 28; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0 <em>Xml Sequence Generator 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSequenceGenerator_2_0() + * @generated + */ + public static final int XML_SEQUENCE_GENERATOR_20 = 29; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0 <em>Xml Sql Result Set Mapping 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSqlResultSetMapping_2_0() + * @generated + */ + public static final int XML_SQL_RESULT_SET_MAPPING_20 = 31; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0 <em>Xml Unique Constraint 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlUniqueConstraint_2_0() + * @generated + */ + public static final int XML_UNIQUE_CONSTRAINT_20 = 32; + + /** + * The feature id for the '<em><b>Orphan Removal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL = 0; + + /** + * The number of structural features of the '<em>Xml Orphan Removable 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ORPHAN_REMOVABLE_20_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_DEFAULTS_20__DESCRIPTION = 0; + + /** + * The feature id for the '<em><b>Delimited Identifiers</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_DEFAULTS_20__DELIMITED_IDENTIFIERS = 1; + + /** + * The number of structural features of the '<em>Xml Persistence Unit Defaults 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_DEFAULTS_20_FEATURE_COUNT = 2; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_METADATA_20__DESCRIPTION = 0; + + /** + * The number of structural features of the '<em>Xml Persistence Unit Metadata 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_METADATA_20_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY_20__DESCRIPTION = 0; + + /** + * The number of structural features of the '<em>Xml Query 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY_20_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY_HINT_20__DESCRIPTION = 0; + + /** + * The number of structural features of the '<em>Xml Query Hint 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_QUERY_HINT_20_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SEQUENCE_GENERATOR_20__CATALOG = 0; + + /** + * The feature id for the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SEQUENCE_GENERATOR_20__SCHEMA = 1; + + /** + * The number of structural features of the '<em>Xml Sequence Generator 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SEQUENCE_GENERATOR_20_FEATURE_COUNT = 2; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SQL_RESULT_SET_MAPPING_20__DESCRIPTION = 0; + + /** + * The number of structural features of the '<em>Xml Sql Result Set Mapping 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_SQL_RESULT_SET_MAPPING_20_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_UNIQUE_CONSTRAINT_20__NAME = 0; + + /** + * The number of structural features of the '<em>Xml Unique Constraint 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_UNIQUE_CONSTRAINT_20_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0 <em>Lock Mode Type 20</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getLockModeType_2_0() + * @generated + */ + public static final int LOCK_MODE_TYPE_20 = 33; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlAttributeMapping_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlAssociationOverride_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlAttributeOverride_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlAttributes_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlCollectionTable_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlDerivedId_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlElementCollection_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlEmbedded_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlEntity_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlEntityListener_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlEventMethod_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlGenerator_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlManyToMany_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlMapKeyAttributeOverrideContainer_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlMapKeyConvertibleMapping_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlMapsId_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlMultiRelationshipMapping_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlNamedQuery_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlOneToMany_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlOneToOne_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlOrderColumn_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlPersistenceUnitDefaults_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlPersistenceUnitMetadata_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlQuery_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlQueryHint_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlSequenceGenerator_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlSingleRelationshipMapping_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlSqlResultSetMapping_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlUniqueConstraint_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlCacheable_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlCascadeType_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlOrphanRemovable_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlOrderable_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum lockModeType_2_0EEnum = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#eNS_URI + * @see #init() + * @generated + */ + private OrmV2_0Package() + { + super(eNS_URI, OrmV2_0Factory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link OrmV2_0Package#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static OrmV2_0Package init() + { + if (isInited) return (OrmV2_0Package)EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI); + + // Obtain or create and register package + OrmV2_0Package theOrmV2_0Package = (OrmV2_0Package)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof OrmV2_0Package ? EPackage.Registry.INSTANCE.get(eNS_URI) : new OrmV2_0Package()); + + isInited = true; + + // Initialize simple dependencies + CommonPackage.eINSTANCE.eClass(); + EcorePackage.eINSTANCE.eClass(); + XMLTypePackage.eINSTANCE.eClass(); + + // Obtain or create and register interdependencies + OrmPackage theOrmPackage = (OrmPackage)(EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI) instanceof OrmPackage ? EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI) : OrmPackage.eINSTANCE); + PersistencePackage thePersistencePackage = (PersistencePackage)(EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI) instanceof PersistencePackage ? EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI) : PersistencePackage.eINSTANCE); + PersistenceV2_0Package thePersistenceV2_0Package = (PersistenceV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI) instanceof PersistenceV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI) : PersistenceV2_0Package.eINSTANCE); + + // Create package meta-data objects + theOrmV2_0Package.createPackageContents(); + theOrmPackage.createPackageContents(); + thePersistencePackage.createPackageContents(); + thePersistenceV2_0Package.createPackageContents(); + + // Initialize created meta-data + theOrmV2_0Package.initializePackageContents(); + theOrmPackage.initializePackageContents(); + thePersistencePackage.initializePackageContents(); + thePersistenceV2_0Package.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theOrmV2_0Package.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(OrmV2_0Package.eNS_URI, theOrmV2_0Package); + return theOrmV2_0Package; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0 <em>Xml Attribute Mapping 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Attribute Mapping 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0 + * @generated + */ + public EClass getXmlAttributeMapping_2_0() + { + return xmlAttributeMapping_2_0EClass; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0 <em>Xml Association Override 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Association Override 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0 + * @generated + */ + public EClass getXmlAssociationOverride_2_0() + { + return xmlAssociationOverride_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0#getDescription() + * @see #getXmlAssociationOverride_2_0() + * @generated + */ + public EAttribute getXmlAssociationOverride_2_0_Description() + { + return (EAttribute)xmlAssociationOverride_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0 <em>Xml Attribute Override 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Attribute Override 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0 + * @generated + */ + public EClass getXmlAttributeOverride_2_0() + { + return xmlAttributeOverride_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0#getDescription() + * @see #getXmlAttributeOverride_2_0() + * @generated + */ + public EAttribute getXmlAttributeOverride_2_0_Description() + { + return (EAttribute)xmlAttributeOverride_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0 <em>Xml Attributes 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Attributes 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0 + * @generated + */ + public EClass getXmlAttributes_2_0() + { + return xmlAttributes_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#getDescription() + * @see #getXmlAttributes_2_0() + * @generated + */ + public EAttribute getXmlAttributes_2_0_Description() + { + return (EAttribute)xmlAttributes_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#getElementCollections <em>Element Collections</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Element Collections</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#getElementCollections() + * @see #getXmlAttributes_2_0() + * @generated + */ + public EReference getXmlAttributes_2_0_ElementCollections() + { + return (EReference)xmlAttributes_2_0EClass.getEStructuralFeatures().get(1); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0 <em>Xml Collection Table 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Collection Table 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0 + * @generated + */ + public EClass getXmlCollectionTable_2_0() + { + return xmlCollectionTable_2_0EClass; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0 <em>Xml Derived Id 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Derived Id 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0 + * @generated + */ + public EClass getXmlDerivedId_2_0() + { + return xmlDerivedId_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0#getId <em>Id</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Id</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0#getId() + * @see #getXmlDerivedId_2_0() + * @generated + */ + public EAttribute getXmlDerivedId_2_0_Id() + { + return (EAttribute)xmlDerivedId_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0 <em>Xml Element Collection 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Element Collection 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0 + * @generated + */ + public EClass getXmlElementCollection_2_0() + { + return xmlElementCollection_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getTargetClass <em>Target Class</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Target Class</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getTargetClass() + * @see #getXmlElementCollection_2_0() + * @generated + */ + public EAttribute getXmlElementCollection_2_0_TargetClass() + { + return (EAttribute)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getFetch <em>Fetch</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Fetch</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getFetch() + * @see #getXmlElementCollection_2_0() + * @generated + */ + public EAttribute getXmlElementCollection_2_0_Fetch() + { + return (EAttribute)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(1); + } + + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKey <em>Map Key</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Map Key</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKey() + * @see #getXmlElementCollection_2_0() + * @generated + */ + public EReference getXmlElementCollection_2_0_MapKey() + { + return (EReference)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(2); + } + + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyClass <em>Map Key Class</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Map Key Class</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyClass() + * @see #getXmlElementCollection_2_0() + * @generated + */ + public EReference getXmlElementCollection_2_0_MapKeyClass() + { + return (EReference)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(3); + } + + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyColumn <em>Map Key Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Map Key Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyColumn() + * @see #getXmlElementCollection_2_0() + * @generated + */ + public EReference getXmlElementCollection_2_0_MapKeyColumn() + { + return (EReference)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(4); + } + + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyJoinColumns <em>Map Key Join Columns</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Map Key Join Columns</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyJoinColumns() + * @see #getXmlElementCollection_2_0() + * @generated + */ + public EReference getXmlElementCollection_2_0_MapKeyJoinColumns() + { + return (EReference)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(5); + } + + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getColumn <em>Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getColumn() + * @see #getXmlElementCollection_2_0() + * @generated + */ + public EReference getXmlElementCollection_2_0_Column() + { + return (EReference)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(6); + } + + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getCollectionTable <em>Collection Table</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Collection Table</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getCollectionTable() + * @see #getXmlElementCollection_2_0() + * @generated + */ + public EReference getXmlElementCollection_2_0_CollectionTable() + { + return (EReference)xmlElementCollection_2_0EClass.getEStructuralFeatures().get(7); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0 <em>Xml Embedded 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Embedded 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0 + * @generated + */ + public EClass getXmlEmbedded_2_0() + { + return xmlEmbedded_2_0EClass; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0 <em>Xml Entity 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Entity 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0 + * @generated + */ + public EClass getXmlEntity_2_0() + { + return xmlEntity_2_0EClass; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0 <em>Xml Entity Listener 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Entity Listener 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0 + * @generated + */ + public EClass getXmlEntityListener_2_0() + { + return xmlEntityListener_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0#getDescription() + * @see #getXmlEntityListener_2_0() + * @generated + */ + public EAttribute getXmlEntityListener_2_0_Description() + { + return (EAttribute)xmlEntityListener_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0 <em>Xml Event Method 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Event Method 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0 + * @generated + */ + public EClass getXmlEventMethod_2_0() + { + return xmlEventMethod_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0#getDescription() + * @see #getXmlEventMethod_2_0() + * @generated + */ + public EAttribute getXmlEventMethod_2_0_Description() + { + return (EAttribute)xmlEventMethod_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0 <em>Xml Generator 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Generator 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0 + * @generated + */ + public EClass getXmlGenerator_2_0() + { + return xmlGenerator_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0#getDescription() + * @see #getXmlGenerator_2_0() + * @generated + */ + public EAttribute getXmlGenerator_2_0_Description() + { + return (EAttribute)xmlGenerator_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0 <em>Xml Many To Many 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Many To Many 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0 + * @generated + */ + public EClass getXmlManyToMany_2_0() + { + return xmlManyToMany_2_0EClass; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0 <em>Xml Map Key Attribute Override Container 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Map Key Attribute Override Container 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0 + * @generated + */ + public EClass getXmlMapKeyAttributeOverrideContainer_2_0() + { + return xmlMapKeyAttributeOverrideContainer_2_0EClass; + } + + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0#getMapKeyAttributeOverrides <em>Map Key Attribute Overrides</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Map Key Attribute Overrides</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0#getMapKeyAttributeOverrides() + * @see #getXmlMapKeyAttributeOverrideContainer_2_0() + * @generated + */ + public EReference getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides() + { + return (EReference)xmlMapKeyAttributeOverrideContainer_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0 <em>Xml Map Key Convertible Mapping 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Map Key Convertible Mapping 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0 + * @generated + */ + public EClass getXmlMapKeyConvertibleMapping_2_0() + { + return xmlMapKeyConvertibleMapping_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyTemporal <em>Map Key Temporal</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Map Key Temporal</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyTemporal() + * @see #getXmlMapKeyConvertibleMapping_2_0() + * @generated + */ + public EAttribute getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal() + { + return (EAttribute)xmlMapKeyConvertibleMapping_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyEnumerated <em>Map Key Enumerated</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Map Key Enumerated</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyEnumerated() + * @see #getXmlMapKeyConvertibleMapping_2_0() + * @generated + */ + public EAttribute getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated() + { + return (EAttribute)xmlMapKeyConvertibleMapping_2_0EClass.getEStructuralFeatures().get(1); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0 <em>Xml Maps Id 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Maps Id 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0 + * @generated + */ + public EClass getXmlMapsId_2_0() + { + return xmlMapsId_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0#getMapsId <em>Maps Id</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Maps Id</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0#getMapsId() + * @see #getXmlMapsId_2_0() + * @generated + */ + public EAttribute getXmlMapsId_2_0_MapsId() + { + return (EAttribute)xmlMapsId_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0 <em>Xml Multi Relationship Mapping 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Multi Relationship Mapping 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0 + * @generated + */ + public EClass getXmlMultiRelationshipMapping_2_0() + { + return xmlMultiRelationshipMapping_2_0EClass; + } + + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyClass <em>Map Key Class</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Map Key Class</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyClass() + * @see #getXmlMultiRelationshipMapping_2_0() + * @generated + */ + public EReference getXmlMultiRelationshipMapping_2_0_MapKeyClass() + { + return (EReference)xmlMultiRelationshipMapping_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyColumn <em>Map Key Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Map Key Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyColumn() + * @see #getXmlMultiRelationshipMapping_2_0() + * @generated + */ + public EReference getXmlMultiRelationshipMapping_2_0_MapKeyColumn() + { + return (EReference)xmlMultiRelationshipMapping_2_0EClass.getEStructuralFeatures().get(1); + } + + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyJoinColumns <em>Map Key Join Columns</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Map Key Join Columns</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyJoinColumns() + * @see #getXmlMultiRelationshipMapping_2_0() + * @generated + */ + public EReference getXmlMultiRelationshipMapping_2_0_MapKeyJoinColumns() + { + return (EReference)xmlMultiRelationshipMapping_2_0EClass.getEStructuralFeatures().get(2); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0 <em>Xml Named Query 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Named Query 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0 + * @generated + */ + public EClass getXmlNamedQuery_2_0() + { + return xmlNamedQuery_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0#getLockMode <em>Lock Mode</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Lock Mode</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0#getLockMode() + * @see #getXmlNamedQuery_2_0() + * @generated + */ + public EAttribute getXmlNamedQuery_2_0_LockMode() + { + return (EAttribute)xmlNamedQuery_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0 <em>Xml One To Many 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml One To Many 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0 + * @generated + */ + public EClass getXmlOneToMany_2_0() + { + return xmlOneToMany_2_0EClass; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0 <em>Xml One To One 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml One To One 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0 + * @generated + */ + public EClass getXmlOneToOne_2_0() + { + return xmlOneToOne_2_0EClass; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0 <em>Xml Order Column 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Order Column 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0 + * @generated + */ + public EClass getXmlOrderColumn_2_0() + { + return xmlOrderColumn_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getNullable <em>Nullable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Nullable</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getNullable() + * @see #getXmlOrderColumn_2_0() + * @generated + */ + public EAttribute getXmlOrderColumn_2_0_Nullable() + { + return (EAttribute)xmlOrderColumn_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getInsertable <em>Insertable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Insertable</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getInsertable() + * @see #getXmlOrderColumn_2_0() + * @generated + */ + public EAttribute getXmlOrderColumn_2_0_Insertable() + { + return (EAttribute)xmlOrderColumn_2_0EClass.getEStructuralFeatures().get(1); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getUpdatable <em>Updatable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Updatable</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getUpdatable() + * @see #getXmlOrderColumn_2_0() + * @generated + */ + public EAttribute getXmlOrderColumn_2_0_Updatable() + { + return (EAttribute)xmlOrderColumn_2_0EClass.getEStructuralFeatures().get(2); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0 <em>Xml Persistence Unit Defaults 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Persistence Unit Defaults 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0 + * @generated + */ + public EClass getXmlPersistenceUnitDefaults_2_0() + { + return xmlPersistenceUnitDefaults_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#getDescription() + * @see #getXmlPersistenceUnitDefaults_2_0() + * @generated + */ + public EAttribute getXmlPersistenceUnitDefaults_2_0_Description() + { + return (EAttribute)xmlPersistenceUnitDefaults_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#isDelimitedIdentifiers <em>Delimited Identifiers</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Delimited Identifiers</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#isDelimitedIdentifiers() + * @see #getXmlPersistenceUnitDefaults_2_0() + * @generated + */ + public EAttribute getXmlPersistenceUnitDefaults_2_0_DelimitedIdentifiers() + { + return (EAttribute)xmlPersistenceUnitDefaults_2_0EClass.getEStructuralFeatures().get(1); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0 <em>Xml Persistence Unit Metadata 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Persistence Unit Metadata 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0 + * @generated + */ + public EClass getXmlPersistenceUnitMetadata_2_0() + { + return xmlPersistenceUnitMetadata_2_0EClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0#getDescription() + * @see #getXmlPersistenceUnitMetadata_2_0() + * @generated + */ + public EAttribute getXmlPersistenceUnitMetadata_2_0_Description() + { + return (EAttribute)xmlPersistenceUnitMetadata_2_0EClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0 <em>Xml Query 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Query 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0 + * @generated + */ + public EClass getXmlQuery_2_0() + { + return xmlQuery_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0#getDescription() + * @see #getXmlQuery_2_0() + * @generated + */ + public EAttribute getXmlQuery_2_0_Description() + { + return (EAttribute)xmlQuery_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0 <em>Xml Query Hint 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Query Hint 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0 + * @generated + */ + public EClass getXmlQueryHint_2_0() + { + return xmlQueryHint_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0#getDescription() + * @see #getXmlQueryHint_2_0() + * @generated + */ + public EAttribute getXmlQueryHint_2_0_Description() + { + return (EAttribute)xmlQueryHint_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0 <em>Xml Sequence Generator 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Sequence Generator 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0 + * @generated + */ + public EClass getXmlSequenceGenerator_2_0() + { + return xmlSequenceGenerator_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getCatalog <em>Catalog</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Catalog</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getCatalog() + * @see #getXmlSequenceGenerator_2_0() + * @generated + */ + public EAttribute getXmlSequenceGenerator_2_0_Catalog() + { + return (EAttribute)xmlSequenceGenerator_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getSchema <em>Schema</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Schema</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getSchema() + * @see #getXmlSequenceGenerator_2_0() + * @generated + */ + public EAttribute getXmlSequenceGenerator_2_0_Schema() + { + return (EAttribute)xmlSequenceGenerator_2_0EClass.getEStructuralFeatures().get(1); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0 <em>Xml Single Relationship Mapping 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Single Relationship Mapping 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0 + * @generated + */ + public EClass getXmlSingleRelationshipMapping_2_0() + { + return xmlSingleRelationshipMapping_2_0EClass; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0 <em>Xml Sql Result Set Mapping 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Sql Result Set Mapping 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0 + * @generated + */ + public EClass getXmlSqlResultSetMapping_2_0() + { + return xmlSqlResultSetMapping_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0#getDescription() + * @see #getXmlSqlResultSetMapping_2_0() + * @generated + */ + public EAttribute getXmlSqlResultSetMapping_2_0_Description() + { + return (EAttribute)xmlSqlResultSetMapping_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0 <em>Xml Unique Constraint 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Unique Constraint 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0 + * @generated + */ + public EClass getXmlUniqueConstraint_2_0() + { + return xmlUniqueConstraint_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0#getName() + * @see #getXmlUniqueConstraint_2_0() + * @generated + */ + public EAttribute getXmlUniqueConstraint_2_0_Name() + { + return (EAttribute)xmlUniqueConstraint_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0 <em>Xml Cacheable 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Cacheable 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0 + * @generated + */ + public EClass getXmlCacheable_2_0() + { + return xmlCacheable_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0#getCacheable <em>Cacheable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Cacheable</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0#getCacheable() + * @see #getXmlCacheable_2_0() + * @generated + */ + public EAttribute getXmlCacheable_2_0_Cacheable() + { + return (EAttribute)xmlCacheable_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0 <em>Xml Cascade Type 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Cascade Type 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0 + * @generated + */ + public EClass getXmlCascadeType_2_0() + { + return xmlCascadeType_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0#isCascadeDetach <em>Cascade Detach</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Cascade Detach</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0#isCascadeDetach() + * @see #getXmlCascadeType_2_0() + * @generated + */ + public EAttribute getXmlCascadeType_2_0_CascadeDetach() + { + return (EAttribute)xmlCascadeType_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0 <em>Xml Orphan Removable 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Orphan Removable 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0 + * @generated + */ + public EClass getXmlOrphanRemovable_2_0() + { + return xmlOrphanRemovable_2_0EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0#getOrphanRemoval <em>Orphan Removal</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Orphan Removal</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0#getOrphanRemoval() + * @see #getXmlOrphanRemovable_2_0() + * @generated + */ + public EAttribute getXmlOrphanRemovable_2_0_OrphanRemoval() + { + return (EAttribute)xmlOrphanRemovable_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0 <em>Xml Orderable 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Orderable 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0 + * @generated + */ + public EClass getXmlOrderable_2_0() + { + return xmlOrderable_2_0EClass; + } + + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0#getOrderColumn <em>Order Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Order Column</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0#getOrderColumn() + * @see #getXmlOrderable_2_0() + * @generated + */ + public EReference getXmlOrderable_2_0_OrderColumn() + { + return (EReference)xmlOrderable_2_0EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0 <em>Lock Mode Type 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Lock Mode Type 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0 + * @generated + */ + public EEnum getLockModeType_2_0() + { + return lockModeType_2_0EEnum; + } + + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + public OrmV2_0Factory getOrmV2_0Factory() + { + return (OrmV2_0Factory)getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() + { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + xmlAssociationOverride_2_0EClass = createEClass(XML_ASSOCIATION_OVERRIDE_20); + createEAttribute(xmlAssociationOverride_2_0EClass, XML_ASSOCIATION_OVERRIDE_20__DESCRIPTION); + + xmlAttributeMapping_2_0EClass = createEClass(XML_ATTRIBUTE_MAPPING_20); + + xmlAttributeOverride_2_0EClass = createEClass(XML_ATTRIBUTE_OVERRIDE_20); + createEAttribute(xmlAttributeOverride_2_0EClass, XML_ATTRIBUTE_OVERRIDE_20__DESCRIPTION); + + xmlAttributes_2_0EClass = createEClass(XML_ATTRIBUTES_20); + createEAttribute(xmlAttributes_2_0EClass, XML_ATTRIBUTES_20__DESCRIPTION); + createEReference(xmlAttributes_2_0EClass, XML_ATTRIBUTES_20__ELEMENT_COLLECTIONS); + + xmlCacheable_2_0EClass = createEClass(XML_CACHEABLE_20); + createEAttribute(xmlCacheable_2_0EClass, XML_CACHEABLE_20__CACHEABLE); + + xmlCascadeType_2_0EClass = createEClass(XML_CASCADE_TYPE_20); + createEAttribute(xmlCascadeType_2_0EClass, XML_CASCADE_TYPE_20__CASCADE_DETACH); + + xmlCollectionTable_2_0EClass = createEClass(XML_COLLECTION_TABLE_20); + + xmlDerivedId_2_0EClass = createEClass(XML_DERIVED_ID_20); + createEAttribute(xmlDerivedId_2_0EClass, XML_DERIVED_ID_20__ID); + + xmlElementCollection_2_0EClass = createEClass(XML_ELEMENT_COLLECTION_20); + createEAttribute(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__TARGET_CLASS); + createEAttribute(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__FETCH); + createEReference(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__MAP_KEY); + createEReference(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__MAP_KEY_CLASS); + createEReference(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__MAP_KEY_COLUMN); + createEReference(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__MAP_KEY_JOIN_COLUMNS); + createEReference(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__COLUMN); + createEReference(xmlElementCollection_2_0EClass, XML_ELEMENT_COLLECTION_20__COLLECTION_TABLE); + + xmlEmbedded_2_0EClass = createEClass(XML_EMBEDDED_20); + + xmlEntity_2_0EClass = createEClass(XML_ENTITY_20); + + xmlEntityListener_2_0EClass = createEClass(XML_ENTITY_LISTENER_20); + createEAttribute(xmlEntityListener_2_0EClass, XML_ENTITY_LISTENER_20__DESCRIPTION); + + xmlEventMethod_2_0EClass = createEClass(XML_EVENT_METHOD_20); + createEAttribute(xmlEventMethod_2_0EClass, XML_EVENT_METHOD_20__DESCRIPTION); + + xmlGenerator_2_0EClass = createEClass(XML_GENERATOR_20); + createEAttribute(xmlGenerator_2_0EClass, XML_GENERATOR_20__DESCRIPTION); + + xmlManyToMany_2_0EClass = createEClass(XML_MANY_TO_MANY_20); + + xmlMapKeyAttributeOverrideContainer_2_0EClass = createEClass(XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20); + createEReference(xmlMapKeyAttributeOverrideContainer_2_0EClass, XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES); + + xmlMapKeyConvertibleMapping_2_0EClass = createEClass(XML_MAP_KEY_CONVERTIBLE_MAPPING_20); + createEAttribute(xmlMapKeyConvertibleMapping_2_0EClass, XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL); + createEAttribute(xmlMapKeyConvertibleMapping_2_0EClass, XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED); + + xmlMapsId_2_0EClass = createEClass(XML_MAPS_ID_20); + createEAttribute(xmlMapsId_2_0EClass, XML_MAPS_ID_20__MAPS_ID); + + xmlMultiRelationshipMapping_2_0EClass = createEClass(XML_MULTI_RELATIONSHIP_MAPPING_20); + createEReference(xmlMultiRelationshipMapping_2_0EClass, XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS); + createEReference(xmlMultiRelationshipMapping_2_0EClass, XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN); + createEReference(xmlMultiRelationshipMapping_2_0EClass, XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS); + + xmlNamedQuery_2_0EClass = createEClass(XML_NAMED_QUERY_20); + createEAttribute(xmlNamedQuery_2_0EClass, XML_NAMED_QUERY_20__LOCK_MODE); + + xmlOneToMany_2_0EClass = createEClass(XML_ONE_TO_MANY_20); + + xmlOneToOne_2_0EClass = createEClass(XML_ONE_TO_ONE_20); + + xmlOrderable_2_0EClass = createEClass(XML_ORDERABLE_20); + createEReference(xmlOrderable_2_0EClass, XML_ORDERABLE_20__ORDER_COLUMN); + + xmlOrderColumn_2_0EClass = createEClass(XML_ORDER_COLUMN_20); + createEAttribute(xmlOrderColumn_2_0EClass, XML_ORDER_COLUMN_20__NULLABLE); + createEAttribute(xmlOrderColumn_2_0EClass, XML_ORDER_COLUMN_20__INSERTABLE); + createEAttribute(xmlOrderColumn_2_0EClass, XML_ORDER_COLUMN_20__UPDATABLE); + + xmlOrphanRemovable_2_0EClass = createEClass(XML_ORPHAN_REMOVABLE_20); + createEAttribute(xmlOrphanRemovable_2_0EClass, XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL); + + xmlPersistenceUnitDefaults_2_0EClass = createEClass(XML_PERSISTENCE_UNIT_DEFAULTS_20); + createEAttribute(xmlPersistenceUnitDefaults_2_0EClass, XML_PERSISTENCE_UNIT_DEFAULTS_20__DESCRIPTION); + createEAttribute(xmlPersistenceUnitDefaults_2_0EClass, XML_PERSISTENCE_UNIT_DEFAULTS_20__DELIMITED_IDENTIFIERS); + + xmlPersistenceUnitMetadata_2_0EClass = createEClass(XML_PERSISTENCE_UNIT_METADATA_20); + createEAttribute(xmlPersistenceUnitMetadata_2_0EClass, XML_PERSISTENCE_UNIT_METADATA_20__DESCRIPTION); + + xmlQuery_2_0EClass = createEClass(XML_QUERY_20); + createEAttribute(xmlQuery_2_0EClass, XML_QUERY_20__DESCRIPTION); + + xmlQueryHint_2_0EClass = createEClass(XML_QUERY_HINT_20); + createEAttribute(xmlQueryHint_2_0EClass, XML_QUERY_HINT_20__DESCRIPTION); + + xmlSequenceGenerator_2_0EClass = createEClass(XML_SEQUENCE_GENERATOR_20); + createEAttribute(xmlSequenceGenerator_2_0EClass, XML_SEQUENCE_GENERATOR_20__CATALOG); + createEAttribute(xmlSequenceGenerator_2_0EClass, XML_SEQUENCE_GENERATOR_20__SCHEMA); + + xmlSingleRelationshipMapping_2_0EClass = createEClass(XML_SINGLE_RELATIONSHIP_MAPPING_20); + + xmlSqlResultSetMapping_2_0EClass = createEClass(XML_SQL_RESULT_SET_MAPPING_20); + createEAttribute(xmlSqlResultSetMapping_2_0EClass, XML_SQL_RESULT_SET_MAPPING_20__DESCRIPTION); + + xmlUniqueConstraint_2_0EClass = createEClass(XML_UNIQUE_CONSTRAINT_20); + createEAttribute(xmlUniqueConstraint_2_0EClass, XML_UNIQUE_CONSTRAINT_20__NAME); + + // Create enums + lockModeType_2_0EEnum = createEEnum(LOCK_MODE_TYPE_20); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() + { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + OrmPackage theOrmPackage = (OrmPackage)EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI); + XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + xmlAssociationOverride_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlJoinTableContainer()); + xmlAttributeMapping_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlAccessHolder()); + xmlCollectionTable_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlReferenceTable()); + xmlElementCollection_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlConvertibleMapping()); + xmlElementCollection_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlOrderable()); + xmlElementCollection_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlAttributeOverrideContainer()); + xmlElementCollection_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlAssociationOverrideContainer()); + xmlElementCollection_2_0EClass.getESuperTypes().add(this.getXmlMapKeyAttributeOverrideContainer_2_0()); + xmlElementCollection_2_0EClass.getESuperTypes().add(this.getXmlMapKeyConvertibleMapping_2_0()); + xmlEmbedded_2_0EClass.getESuperTypes().add(theOrmPackage.getXmlAssociationOverrideContainer()); + xmlEntity_2_0EClass.getESuperTypes().add(this.getXmlCacheable_2_0()); + xmlManyToMany_2_0EClass.getESuperTypes().add(this.getXmlMultiRelationshipMapping_2_0()); + xmlMultiRelationshipMapping_2_0EClass.getESuperTypes().add(this.getXmlOrderable_2_0()); + xmlMultiRelationshipMapping_2_0EClass.getESuperTypes().add(this.getXmlMapKeyAttributeOverrideContainer_2_0()); + xmlMultiRelationshipMapping_2_0EClass.getESuperTypes().add(this.getXmlMapKeyConvertibleMapping_2_0()); + xmlOneToMany_2_0EClass.getESuperTypes().add(this.getXmlMultiRelationshipMapping_2_0()); + xmlOneToMany_2_0EClass.getESuperTypes().add(this.getXmlOrphanRemovable_2_0()); + xmlOneToOne_2_0EClass.getESuperTypes().add(this.getXmlSingleRelationshipMapping_2_0()); + xmlOneToOne_2_0EClass.getESuperTypes().add(this.getXmlOrphanRemovable_2_0()); + xmlSingleRelationshipMapping_2_0EClass.getESuperTypes().add(this.getXmlDerivedId_2_0()); + xmlSingleRelationshipMapping_2_0EClass.getESuperTypes().add(this.getXmlMapsId_2_0()); + + // Initialize classes and features; add operations and parameters + initEClass(xmlAssociationOverride_2_0EClass, XmlAssociationOverride_2_0.class, "XmlAssociationOverride_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlAssociationOverride_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlAssociationOverride_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlAttributeMapping_2_0EClass, XmlAttributeMapping_2_0.class, "XmlAttributeMapping_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlAttributeOverride_2_0EClass, XmlAttributeOverride_2_0.class, "XmlAttributeOverride_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlAttributeOverride_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlAttributeOverride_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlAttributes_2_0EClass, XmlAttributes_2_0.class, "XmlAttributes_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlAttributes_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlAttributes_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlAttributes_2_0_ElementCollections(), theOrmPackage.getXmlElementCollection(), null, "elementCollections", null, 0, -1, XmlAttributes_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlCacheable_2_0EClass, XmlCacheable_2_0.class, "XmlCacheable_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlCacheable_2_0_Cacheable(), theXMLTypePackage.getBooleanObject(), "cacheable", null, 0, 1, XmlCacheable_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlCascadeType_2_0EClass, XmlCascadeType_2_0.class, "XmlCascadeType_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlCascadeType_2_0_CascadeDetach(), theXMLTypePackage.getBoolean(), "cascadeDetach", null, 0, 1, XmlCascadeType_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlCollectionTable_2_0EClass, XmlCollectionTable_2_0.class, "XmlCollectionTable_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlDerivedId_2_0EClass, XmlDerivedId_2_0.class, "XmlDerivedId_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlDerivedId_2_0_Id(), theXMLTypePackage.getBooleanObject(), "id", null, 0, 1, XmlDerivedId_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlElementCollection_2_0EClass, XmlElementCollection_2_0.class, "XmlElementCollection_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlElementCollection_2_0_TargetClass(), theXMLTypePackage.getString(), "targetClass", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlElementCollection_2_0_Fetch(), theOrmPackage.getFetchType(), "fetch", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlElementCollection_2_0_MapKey(), theOrmPackage.getMapKey(), null, "mapKey", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlElementCollection_2_0_MapKeyClass(), theOrmPackage.getXmlClassReference(), null, "mapKeyClass", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlElementCollection_2_0_MapKeyColumn(), theOrmPackage.getXmlColumn(), null, "mapKeyColumn", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlElementCollection_2_0_MapKeyJoinColumns(), theOrmPackage.getXmlJoinColumn(), null, "mapKeyJoinColumns", null, 0, -1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlElementCollection_2_0_Column(), theOrmPackage.getXmlColumn(), null, "column", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlElementCollection_2_0_CollectionTable(), theOrmPackage.getXmlCollectionTable(), null, "collectionTable", null, 0, 1, XmlElementCollection_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlEmbedded_2_0EClass, XmlEmbedded_2_0.class, "XmlEmbedded_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlEntity_2_0EClass, XmlEntity_2_0.class, "XmlEntity_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlEntityListener_2_0EClass, XmlEntityListener_2_0.class, "XmlEntityListener_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlEntityListener_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlEntityListener_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlEventMethod_2_0EClass, XmlEventMethod_2_0.class, "XmlEventMethod_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlEventMethod_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlEventMethod_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlGenerator_2_0EClass, XmlGenerator_2_0.class, "XmlGenerator_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlGenerator_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlGenerator_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlManyToMany_2_0EClass, XmlManyToMany_2_0.class, "XmlManyToMany_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlMapKeyAttributeOverrideContainer_2_0EClass, XmlMapKeyAttributeOverrideContainer_2_0.class, "XmlMapKeyAttributeOverrideContainer_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides(), theOrmPackage.getXmlAttributeOverride(), null, "mapKeyAttributeOverrides", null, 0, -1, XmlMapKeyAttributeOverrideContainer_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlMapKeyConvertibleMapping_2_0EClass, XmlMapKeyConvertibleMapping_2_0.class, "XmlMapKeyConvertibleMapping_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal(), theOrmPackage.getTemporalType(), "mapKeyTemporal", null, 0, 1, XmlMapKeyConvertibleMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated(), theOrmPackage.getEnumType(), "mapKeyEnumerated", null, 0, 1, XmlMapKeyConvertibleMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlMapsId_2_0EClass, XmlMapsId_2_0.class, "XmlMapsId_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlMapsId_2_0_MapsId(), theXMLTypePackage.getString(), "mapsId", null, 0, 1, XmlMapsId_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlMultiRelationshipMapping_2_0EClass, XmlMultiRelationshipMapping_2_0.class, "XmlMultiRelationshipMapping_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlMultiRelationshipMapping_2_0_MapKeyClass(), theOrmPackage.getXmlClassReference(), null, "mapKeyClass", null, 0, 1, XmlMultiRelationshipMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlMultiRelationshipMapping_2_0_MapKeyColumn(), theOrmPackage.getXmlColumn(), null, "mapKeyColumn", null, 0, 1, XmlMultiRelationshipMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlMultiRelationshipMapping_2_0_MapKeyJoinColumns(), theOrmPackage.getXmlJoinColumn(), null, "mapKeyJoinColumns", null, 0, -1, XmlMultiRelationshipMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlNamedQuery_2_0EClass, XmlNamedQuery_2_0.class, "XmlNamedQuery_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlNamedQuery_2_0_LockMode(), this.getLockModeType_2_0(), "lockMode", null, 0, 1, XmlNamedQuery_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlOneToMany_2_0EClass, XmlOneToMany_2_0.class, "XmlOneToMany_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlOneToOne_2_0EClass, XmlOneToOne_2_0.class, "XmlOneToOne_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlOrderable_2_0EClass, XmlOrderable_2_0.class, "XmlOrderable_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlOrderable_2_0_OrderColumn(), theOrmPackage.getXmlOrderColumn(), null, "orderColumn", null, 0, 1, XmlOrderable_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlOrderColumn_2_0EClass, XmlOrderColumn_2_0.class, "XmlOrderColumn_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlOrderColumn_2_0_Nullable(), theXMLTypePackage.getBooleanObject(), "nullable", null, 0, 1, XmlOrderColumn_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlOrderColumn_2_0_Insertable(), theXMLTypePackage.getBooleanObject(), "insertable", null, 0, 1, XmlOrderColumn_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlOrderColumn_2_0_Updatable(), theXMLTypePackage.getBooleanObject(), "updatable", null, 0, 1, XmlOrderColumn_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlOrphanRemovable_2_0EClass, XmlOrphanRemovable_2_0.class, "XmlOrphanRemovable_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlOrphanRemovable_2_0_OrphanRemoval(), theXMLTypePackage.getBooleanObject(), "orphanRemoval", null, 0, 1, XmlOrphanRemovable_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlPersistenceUnitDefaults_2_0EClass, XmlPersistenceUnitDefaults_2_0.class, "XmlPersistenceUnitDefaults_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlPersistenceUnitDefaults_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlPersistenceUnitDefaults_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlPersistenceUnitDefaults_2_0_DelimitedIdentifiers(), theXMLTypePackage.getBoolean(), "delimitedIdentifiers", null, 0, 1, XmlPersistenceUnitDefaults_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlPersistenceUnitMetadata_2_0EClass, XmlPersistenceUnitMetadata_2_0.class, "XmlPersistenceUnitMetadata_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlPersistenceUnitMetadata_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlPersistenceUnitMetadata_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlQuery_2_0EClass, XmlQuery_2_0.class, "XmlQuery_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlQuery_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlQuery_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlQueryHint_2_0EClass, XmlQueryHint_2_0.class, "XmlQueryHint_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlQueryHint_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlQueryHint_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlSequenceGenerator_2_0EClass, XmlSequenceGenerator_2_0.class, "XmlSequenceGenerator_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlSequenceGenerator_2_0_Catalog(), theXMLTypePackage.getString(), "catalog", null, 0, 1, XmlSequenceGenerator_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlSequenceGenerator_2_0_Schema(), theXMLTypePackage.getString(), "schema", null, 0, 1, XmlSequenceGenerator_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlSingleRelationshipMapping_2_0EClass, XmlSingleRelationshipMapping_2_0.class, "XmlSingleRelationshipMapping_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(xmlSqlResultSetMapping_2_0EClass, XmlSqlResultSetMapping_2_0.class, "XmlSqlResultSetMapping_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlSqlResultSetMapping_2_0_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlSqlResultSetMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlUniqueConstraint_2_0EClass, XmlUniqueConstraint_2_0.class, "XmlUniqueConstraint_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlUniqueConstraint_2_0_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, XmlUniqueConstraint_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Initialize enums and add enum literals + initEEnum(lockModeType_2_0EEnum, LockModeType_2_0.class, "LockModeType_2_0"); + addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.NONE); + addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.READ); + addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.WRITE); + addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.OPTIMISTIC); + addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.OPTIMISTIC_FORCE_INCREMENT); + addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.PESSIMISTIC_READ); + addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.PESSIMISTIC_WRITE); + addEEnumLiteral(lockModeType_2_0EEnum, LockModeType_2_0.PESSIMISTIC_FORCE_INCREMENT); + } + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + public interface Literals + { + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0 <em>Xml Attribute Mapping 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeMapping_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributeMapping_2_0() + * @generated + */ + public static final EClass XML_ATTRIBUTE_MAPPING_20 = eINSTANCE.getXmlAttributeMapping_2_0(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0 <em>Xml Association Override 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAssociationOverride_2_0() + * @generated + */ + public static final EClass XML_ASSOCIATION_OVERRIDE_20 = eINSTANCE.getXmlAssociationOverride_2_0(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ASSOCIATION_OVERRIDE_20__DESCRIPTION = eINSTANCE.getXmlAssociationOverride_2_0_Description(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0 <em>Xml Attribute Override 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributeOverride_2_0() + * @generated + */ + public static final EClass XML_ATTRIBUTE_OVERRIDE_20 = eINSTANCE.getXmlAttributeOverride_2_0(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ATTRIBUTE_OVERRIDE_20__DESCRIPTION = eINSTANCE.getXmlAttributeOverride_2_0_Description(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0 <em>Xml Attributes 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributes_2_0() + * @generated + */ + public static final EClass XML_ATTRIBUTES_20 = eINSTANCE.getXmlAttributes_2_0(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ATTRIBUTES_20__DESCRIPTION = eINSTANCE.getXmlAttributes_2_0_Description(); + + /** + * The meta object literal for the '<em><b>Element Collections</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ATTRIBUTES_20__ELEMENT_COLLECTIONS = eINSTANCE.getXmlAttributes_2_0_ElementCollections(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0 <em>Xml Collection Table 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCollectionTable_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCollectionTable_2_0() + * @generated + */ + public static final EClass XML_COLLECTION_TABLE_20 = eINSTANCE.getXmlCollectionTable_2_0(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0 <em>Xml Derived Id 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlDerivedId_2_0() + * @generated + */ + public static final EClass XML_DERIVED_ID_20 = eINSTANCE.getXmlDerivedId_2_0(); + + /** + * The meta object literal for the '<em><b>Id</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_DERIVED_ID_20__ID = eINSTANCE.getXmlDerivedId_2_0_Id(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0 <em>Xml Element Collection 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0() + * @generated + */ + public static final EClass XML_ELEMENT_COLLECTION_20 = eINSTANCE.getXmlElementCollection_2_0(); + + /** + * The meta object literal for the '<em><b>Target Class</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ELEMENT_COLLECTION_20__TARGET_CLASS = eINSTANCE.getXmlElementCollection_2_0_TargetClass(); + + /** + * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ELEMENT_COLLECTION_20__FETCH = eINSTANCE.getXmlElementCollection_2_0_Fetch(); + + /** + * The meta object literal for the '<em><b>Map Key</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ELEMENT_COLLECTION_20__MAP_KEY = eINSTANCE.getXmlElementCollection_2_0_MapKey(); + + /** + * The meta object literal for the '<em><b>Map Key Class</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ELEMENT_COLLECTION_20__MAP_KEY_CLASS = eINSTANCE.getXmlElementCollection_2_0_MapKeyClass(); + + /** + * The meta object literal for the '<em><b>Map Key Column</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ELEMENT_COLLECTION_20__MAP_KEY_COLUMN = eINSTANCE.getXmlElementCollection_2_0_MapKeyColumn(); + + /** + * The meta object literal for the '<em><b>Map Key Join Columns</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ELEMENT_COLLECTION_20__MAP_KEY_JOIN_COLUMNS = eINSTANCE.getXmlElementCollection_2_0_MapKeyJoinColumns(); + + /** + * The meta object literal for the '<em><b>Column</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ELEMENT_COLLECTION_20__COLUMN = eINSTANCE.getXmlElementCollection_2_0_Column(); + + /** + * The meta object literal for the '<em><b>Collection Table</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ELEMENT_COLLECTION_20__COLLECTION_TABLE = eINSTANCE.getXmlElementCollection_2_0_CollectionTable(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0 <em>Xml Embedded 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEmbedded_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEmbedded_2_0() + * @generated + */ + public static final EClass XML_EMBEDDED_20 = eINSTANCE.getXmlEmbedded_2_0(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0 <em>Xml Entity 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntity_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEntity_2_0() + * @generated + */ + public static final EClass XML_ENTITY_20 = eINSTANCE.getXmlEntity_2_0(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0 <em>Xml Entity Listener 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEntityListener_2_0() + * @generated + */ + public static final EClass XML_ENTITY_LISTENER_20 = eINSTANCE.getXmlEntityListener_2_0(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ENTITY_LISTENER_20__DESCRIPTION = eINSTANCE.getXmlEntityListener_2_0_Description(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0 <em>Xml Event Method 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEventMethod_2_0() + * @generated + */ + public static final EClass XML_EVENT_METHOD_20 = eINSTANCE.getXmlEventMethod_2_0(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_EVENT_METHOD_20__DESCRIPTION = eINSTANCE.getXmlEventMethod_2_0_Description(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0 <em>Xml Generator 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlGenerator_2_0() + * @generated + */ + public static final EClass XML_GENERATOR_20 = eINSTANCE.getXmlGenerator_2_0(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_GENERATOR_20__DESCRIPTION = eINSTANCE.getXmlGenerator_2_0_Description(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0 <em>Xml Many To Many 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlManyToMany_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlManyToMany_2_0() + * @generated + */ + public static final EClass XML_MANY_TO_MANY_20 = eINSTANCE.getXmlManyToMany_2_0(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0 <em>Xml Map Key Attribute Override Container 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyAttributeOverrideContainer_2_0() + * @generated + */ + public static final EClass XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20 = eINSTANCE.getXmlMapKeyAttributeOverrideContainer_2_0(); + + /** + * The meta object literal for the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_MAP_KEY_ATTRIBUTE_OVERRIDE_CONTAINER_20__MAP_KEY_ATTRIBUTE_OVERRIDES = eINSTANCE.getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0 <em>Xml Map Key Convertible Mapping 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyConvertibleMapping_2_0() + * @generated + */ + public static final EClass XML_MAP_KEY_CONVERTIBLE_MAPPING_20 = eINSTANCE.getXmlMapKeyConvertibleMapping_2_0(); + + /** + * The meta object literal for the '<em><b>Map Key Temporal</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_TEMPORAL = eINSTANCE.getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal(); + + /** + * The meta object literal for the '<em><b>Map Key Enumerated</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_MAP_KEY_CONVERTIBLE_MAPPING_20__MAP_KEY_ENUMERATED = eINSTANCE.getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0 <em>Xml Maps Id 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapsId_2_0() + * @generated + */ + public static final EClass XML_MAPS_ID_20 = eINSTANCE.getXmlMapsId_2_0(); + + /** + * The meta object literal for the '<em><b>Maps Id</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_MAPS_ID_20__MAPS_ID = eINSTANCE.getXmlMapsId_2_0_MapsId(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0 <em>Xml Multi Relationship Mapping 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMultiRelationshipMapping_2_0() + * @generated + */ + public static final EClass XML_MULTI_RELATIONSHIP_MAPPING_20 = eINSTANCE.getXmlMultiRelationshipMapping_2_0(); + + /** + * The meta object literal for the '<em><b>Map Key Class</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_CLASS = eINSTANCE.getXmlMultiRelationshipMapping_2_0_MapKeyClass(); + + /** + * The meta object literal for the '<em><b>Map Key Column</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_COLUMN = eINSTANCE.getXmlMultiRelationshipMapping_2_0_MapKeyColumn(); + + /** + * The meta object literal for the '<em><b>Map Key Join Columns</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_MULTI_RELATIONSHIP_MAPPING_20__MAP_KEY_JOIN_COLUMNS = eINSTANCE.getXmlMultiRelationshipMapping_2_0_MapKeyJoinColumns(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0 <em>Xml Named Query 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlNamedQuery_2_0() + * @generated + */ + public static final EClass XML_NAMED_QUERY_20 = eINSTANCE.getXmlNamedQuery_2_0(); + + /** + * The meta object literal for the '<em><b>Lock Mode</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_NAMED_QUERY_20__LOCK_MODE = eINSTANCE.getXmlNamedQuery_2_0_LockMode(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0 <em>Xml One To Many 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToMany_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOneToMany_2_0() + * @generated + */ + public static final EClass XML_ONE_TO_MANY_20 = eINSTANCE.getXmlOneToMany_2_0(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0 <em>Xml One To One 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOneToOne_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOneToOne_2_0() + * @generated + */ + public static final EClass XML_ONE_TO_ONE_20 = eINSTANCE.getXmlOneToOne_2_0(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0 <em>Xml Order Column 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderColumn_2_0() + * @generated + */ + public static final EClass XML_ORDER_COLUMN_20 = eINSTANCE.getXmlOrderColumn_2_0(); + + /** + * The meta object literal for the '<em><b>Nullable</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ORDER_COLUMN_20__NULLABLE = eINSTANCE.getXmlOrderColumn_2_0_Nullable(); + + /** + * The meta object literal for the '<em><b>Insertable</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ORDER_COLUMN_20__INSERTABLE = eINSTANCE.getXmlOrderColumn_2_0_Insertable(); + + /** + * The meta object literal for the '<em><b>Updatable</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ORDER_COLUMN_20__UPDATABLE = eINSTANCE.getXmlOrderColumn_2_0_Updatable(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0 <em>Xml Persistence Unit Defaults 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitDefaults_2_0() + * @generated + */ + public static final EClass XML_PERSISTENCE_UNIT_DEFAULTS_20 = eINSTANCE.getXmlPersistenceUnitDefaults_2_0(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT_DEFAULTS_20__DESCRIPTION = eINSTANCE.getXmlPersistenceUnitDefaults_2_0_Description(); + + /** + * The meta object literal for the '<em><b>Delimited Identifiers</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT_DEFAULTS_20__DELIMITED_IDENTIFIERS = eINSTANCE.getXmlPersistenceUnitDefaults_2_0_DelimitedIdentifiers(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0 <em>Xml Persistence Unit Metadata 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitMetadata_2_0() + * @generated + */ + public static final EClass XML_PERSISTENCE_UNIT_METADATA_20 = eINSTANCE.getXmlPersistenceUnitMetadata_2_0(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT_METADATA_20__DESCRIPTION = eINSTANCE.getXmlPersistenceUnitMetadata_2_0_Description(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0 <em>Xml Query 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQuery_2_0() + * @generated + */ + public static final EClass XML_QUERY_20 = eINSTANCE.getXmlQuery_2_0(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_QUERY_20__DESCRIPTION = eINSTANCE.getXmlQuery_2_0_Description(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0 <em>Xml Query Hint 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQueryHint_2_0() + * @generated + */ + public static final EClass XML_QUERY_HINT_20 = eINSTANCE.getXmlQueryHint_2_0(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_QUERY_HINT_20__DESCRIPTION = eINSTANCE.getXmlQueryHint_2_0_Description(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0 <em>Xml Sequence Generator 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSequenceGenerator_2_0() + * @generated + */ + public static final EClass XML_SEQUENCE_GENERATOR_20 = eINSTANCE.getXmlSequenceGenerator_2_0(); + + /** + * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_SEQUENCE_GENERATOR_20__CATALOG = eINSTANCE.getXmlSequenceGenerator_2_0_Catalog(); + + /** + * The meta object literal for the '<em><b>Schema</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_SEQUENCE_GENERATOR_20__SCHEMA = eINSTANCE.getXmlSequenceGenerator_2_0_Schema(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0 <em>Xml Single Relationship Mapping 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSingleRelationshipMapping_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSingleRelationshipMapping_2_0() + * @generated + */ + public static final EClass XML_SINGLE_RELATIONSHIP_MAPPING_20 = eINSTANCE.getXmlSingleRelationshipMapping_2_0(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0 <em>Xml Sql Result Set Mapping 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSqlResultSetMapping_2_0() + * @generated + */ + public static final EClass XML_SQL_RESULT_SET_MAPPING_20 = eINSTANCE.getXmlSqlResultSetMapping_2_0(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_SQL_RESULT_SET_MAPPING_20__DESCRIPTION = eINSTANCE.getXmlSqlResultSetMapping_2_0_Description(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0 <em>Xml Unique Constraint 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlUniqueConstraint_2_0() + * @generated + */ + public static final EClass XML_UNIQUE_CONSTRAINT_20 = eINSTANCE.getXmlUniqueConstraint_2_0(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_UNIQUE_CONSTRAINT_20__NAME = eINSTANCE.getXmlUniqueConstraint_2_0_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0 <em>Xml Cacheable 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCacheable_2_0() + * @generated + */ + public static final EClass XML_CACHEABLE_20 = eINSTANCE.getXmlCacheable_2_0(); + + /** + * The meta object literal for the '<em><b>Cacheable</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_CACHEABLE_20__CACHEABLE = eINSTANCE.getXmlCacheable_2_0_Cacheable(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0 <em>Xml Cascade Type 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCascadeType_2_0() + * @generated + */ + public static final EClass XML_CASCADE_TYPE_20 = eINSTANCE.getXmlCascadeType_2_0(); + + /** + * The meta object literal for the '<em><b>Cascade Detach</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_CASCADE_TYPE_20__CASCADE_DETACH = eINSTANCE.getXmlCascadeType_2_0_CascadeDetach(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0 <em>Xml Orphan Removable 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrphanRemovable_2_0() + * @generated + */ + public static final EClass XML_ORPHAN_REMOVABLE_20 = eINSTANCE.getXmlOrphanRemovable_2_0(); + + /** + * The meta object literal for the '<em><b>Orphan Removal</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ORPHAN_REMOVABLE_20__ORPHAN_REMOVAL = eINSTANCE.getXmlOrphanRemovable_2_0_OrphanRemoval(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0 <em>Xml Orderable 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderable_2_0() + * @generated + */ + public static final EClass XML_ORDERABLE_20 = eINSTANCE.getXmlOrderable_2_0(); + + /** + * The meta object literal for the '<em><b>Order Column</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_ORDERABLE_20__ORDER_COLUMN = eINSTANCE.getXmlOrderable_2_0_OrderColumn(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0 <em>Lock Mode Type 20</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0 + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getLockModeType_2_0() + * @generated + */ + public static final EEnum LOCK_MODE_TYPE_20 = eINSTANCE.getLockModeType_2_0(); + + } + +} //OrmV2_0Package diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAssociationOverride_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAssociationOverride_2_0.java new file mode 100644 index 0000000000..00718558fc --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAssociationOverride_2_0.java @@ -0,0 +1,64 @@ +/******************************************************************************* + * Copyright (c) 2009, 2010 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.jpa.core.resource.orm.XmlJoinTableContainer; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Association Override 20</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.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0#getDescription <em>Description</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAssociationOverride_2_0() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlAssociationOverride_2_0 extends XmlJoinTableContainer +{ + /** + * 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.v2_0.OrmV2_0Package#getXmlAssociationOverride_2_0_Description() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getDescription(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAssociationOverride_2_0#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 + */ + void setDescription(String value); + +} // XmlAssociationOverride_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeMapping_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeMapping_2_0.java new file mode 100644 index 0000000000..08094ff11a --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeMapping_2_0.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.jpa.core.resource.orm.XmlAccessHolder; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Attribute Mapping 20</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.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributeMapping_2_0() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlAttributeMapping_2_0 extends XmlAccessHolder +{ + +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeOverride_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeOverride_2_0.java new file mode 100644 index 0000000000..e0afeb4056 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributeOverride_2_0.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Attribute Override 20</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.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0#getDescription <em>Description</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributeOverride_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlAttributeOverride_2_0 extends EBaseObject +{ + /** + * 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.v2_0.OrmV2_0Package#getXmlAttributeOverride_2_0_Description() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getDescription(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributeOverride_2_0#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 + */ + void setDescription(String value); + +} // XmlAttributeOverride_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributes_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributes_2_0.java new file mode 100644 index 0000000000..e1c5f46809 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlAttributes_2_0.java @@ -0,0 +1,86 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Attributes 20</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.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#getDescription <em>Description</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#getElementCollections <em>Element Collections</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributes_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlAttributes_2_0 extends EBaseObject +{ + /** + * 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.v2_0.OrmV2_0Package#getXmlAttributes_2_0_Description() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getDescription(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlAttributes_2_0#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 + */ + void setDescription(String value); + + /** + * Returns the value of the '<em><b>Element Collections</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Element Collections</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Element Collections</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlAttributes_2_0_ElementCollections() + * @model containment="true" + * @generated + */ + EList<XmlElementCollection> getElementCollections(); + +} // XmlAttributes_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCacheable_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCacheable_2_0.java new file mode 100644 index 0000000000..ffa6a5682e --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCacheable_2_0.java @@ -0,0 +1,71 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.utility.TextRange; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Cacheable2 0</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.jpa.core.resource.orm.v2_0.XmlCacheable_2_0#getCacheable <em>Cacheable</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCacheable_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlCacheable_2_0 extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Cacheable</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Cacheable</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Cacheable</em>' attribute. + * @see #setCacheable(Boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCacheable_2_0_Cacheable() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + Boolean getCacheable(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0#getCacheable <em>Cacheable</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Cacheable</em>' attribute. + * @see #getCacheable() + * @generated + */ + void setCacheable(Boolean value); + + /** + * Return the {@link TextRange} for the cacheable annotation + */ + TextRange getCacheableTextRange(); +} // XmlCacheable2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCascadeType_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCascadeType_2_0.java new file mode 100644 index 0000000000..643d64bf87 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCascadeType_2_0.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2010 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Cascade Type 20</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0#isCascadeDetach <em>Cascade Detach</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCascadeType_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlCascadeType_2_0 extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Cascade Detach</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Cascade Detach</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Cascade Detach</em>' attribute. + * @see #setCascadeDetach(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCascadeType_2_0_CascadeDetach() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + boolean isCascadeDetach(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCascadeType_2_0#isCascadeDetach <em>Cascade Detach</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Cascade Detach</em>' attribute. + * @see #isCascadeDetach() + * @generated + */ + void setCascadeDetach(boolean value); + +} // XmlCascadeType_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCollectionTable_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCollectionTable_2_0.java new file mode 100644 index 0000000000..298a2311a1 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlCollectionTable_2_0.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.jpa.core.resource.orm.XmlReferenceTable; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Collection Table 20</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.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlCollectionTable_2_0() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlCollectionTable_2_0 extends XmlReferenceTable +{ + +} // XmlCollectionTable_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlDerivedId_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlDerivedId_2_0.java new file mode 100644 index 0000000000..36a627611b --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlDerivedId_2_0.java @@ -0,0 +1,72 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.utility.TextRange; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Derived Id 20</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.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0#getId <em>Id</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlDerivedId_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlDerivedId_2_0 extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Id</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Id</em>' attribute. + * @see #setId(Boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlDerivedId_2_0_Id() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + Boolean getId(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlDerivedId_2_0#getId <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Id</em>' attribute. + * @see #getId() + * @generated + */ + void setId(Boolean value); + + /** + * Return the text range of the derived id part of the XML document + */ + TextRange getIdTextRange(); +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlElementCollection_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlElementCollection_2_0.java new file mode 100644 index 0000000000..75b619398a --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlElementCollection_2_0.java @@ -0,0 +1,269 @@ +/******************************************************************************* + * Copyright (c) 2009, 2011 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.FetchType; +import org.eclipse.jpt.jpa.core.resource.orm.MapKey; +import org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer; +import org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer; +import org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference; +import org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable; +import org.eclipse.jpt.jpa.core.resource.orm.XmlColumn; +import org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping; +import org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn; +import org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Element Collection 20</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.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getTargetClass <em>Target Class</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getFetch <em>Fetch</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKey <em>Map Key</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyClass <em>Map Key Class</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyColumn <em>Map Key Column</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyJoinColumns <em>Map Key Join Columns</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getColumn <em>Column</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getCollectionTable <em>Collection Table</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlElementCollection_2_0 extends XmlConvertibleMapping, XmlOrderable, XmlAttributeOverrideContainer, XmlAssociationOverrideContainer, XmlMapKeyAttributeOverrideContainer_2_0, XmlMapKeyConvertibleMapping_2_0 +{ + /** + * Returns the value of the '<em><b>Target Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Target Class</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Target Class</em>' attribute. + * @see #setTargetClass(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_TargetClass() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getTargetClass(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getTargetClass <em>Target Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target Class</em>' attribute. + * @see #getTargetClass() + * @generated + */ + void setTargetClass(String value); + + /** + * Returns the value of the '<em><b>Fetch</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.FetchType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Fetch</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Fetch</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType + * @see #setFetch(FetchType) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_Fetch() + * @model + * @generated + */ + FetchType getFetch(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getFetch <em>Fetch</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Fetch</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.FetchType + * @see #getFetch() + * @generated + */ + void setFetch(FetchType value); + + /** + * Returns the value of the '<em><b>Map Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key</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>Map Key</em>' containment reference. + * @see #setMapKey(MapKey) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_MapKey() + * @model containment="true" + * @generated + */ + MapKey getMapKey(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKey <em>Map Key</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key</em>' containment reference. + * @see #getMapKey() + * @generated + */ + void setMapKey(MapKey value); + + /** + * Returns the value of the '<em><b>Map Key Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key Class</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>Map Key Class</em>' containment reference. + * @see #setMapKeyClass(XmlClassReference) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_MapKeyClass() + * @model containment="true" + * @generated + */ + XmlClassReference getMapKeyClass(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyClass <em>Map Key Class</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Class</em>' containment reference. + * @see #getMapKeyClass() + * @generated + */ + void setMapKeyClass(XmlClassReference value); + + /** + * Returns the value of the '<em><b>Map Key Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key 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>Map Key Column</em>' containment reference. + * @see #setMapKeyColumn(XmlColumn) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_MapKeyColumn() + * @model containment="true" + * @generated + */ + XmlColumn getMapKeyColumn(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyColumn <em>Map Key Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Column</em>' containment reference. + * @see #getMapKeyColumn() + * @generated + */ + void setMapKeyColumn(XmlColumn value); + + /** + * Returns the value of the '<em><b>Map Key Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Map Key Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_MapKeyJoinColumns() + * @model containment="true" + * @generated + */ + EList<XmlJoinColumn> getMapKeyJoinColumns(); + + /** + * 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.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_Column() + * @model containment="true" + * @generated + */ + XmlColumn getColumn(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#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 + */ + void setColumn(XmlColumn value); + + /** + * Returns the value of the '<em><b>Collection Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Collection Table</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>Collection Table</em>' containment reference. + * @see #setCollectionTable(XmlCollectionTable) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_CollectionTable() + * @model containment="true" + * @generated + */ + XmlCollectionTable getCollectionTable(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getCollectionTable <em>Collection Table</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Collection Table</em>' containment reference. + * @see #getCollectionTable() + * @generated + */ + void setCollectionTable(XmlCollectionTable value); + + /** + * Return the {@link TextRange} for the target-class attribute. + */ + TextRange getTargetClassTextRange(); + + /** + * Return the {@link TextRange} for the map-key-class attribute. + */ + TextRange getMapKeyClassTextRange(); + +} // XmlElementCollection_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEmbedded_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEmbedded_2_0.java new file mode 100644 index 0000000000..31728d2e2f --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEmbedded_2_0.java @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Embedded 20</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.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEmbedded_2_0() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlEmbedded_2_0 extends XmlAssociationOverrideContainer +{ +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntityListener_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntityListener_2_0.java new file mode 100644 index 0000000000..33da87b3d2 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntityListener_2_0.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Entity Listener 20</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.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0#getDescription <em>Description</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEntityListener_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlEntityListener_2_0 extends EBaseObject +{ + /** + * 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.v2_0.OrmV2_0Package#getXmlEntityListener_2_0_Description() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getDescription(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEntityListener_2_0#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 + */ + void setDescription(String value); + +} // XmlEntityListener_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntity_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntity_2_0.java new file mode 100644 index 0000000000..c569622e9d --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEntity_2_0.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Entity 20</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.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEntity_2_0() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlEntity_2_0 extends XmlCacheable_2_0 +{ + +} // XmlEntity_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEventMethod_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEventMethod_2_0.java new file mode 100644 index 0000000000..2b8fe3e4b1 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlEventMethod_2_0.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Event Method 20</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.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0#getDescription <em>Description</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlEventMethod_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlEventMethod_2_0 extends EBaseObject +{ + /** + * 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.v2_0.OrmV2_0Package#getXmlEventMethod_2_0_Description() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getDescription(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlEventMethod_2_0#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 + */ + void setDescription(String value); + +} // XmlEventMethod_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlGenerator_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlGenerator_2_0.java new file mode 100644 index 0000000000..5f23c278ec --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlGenerator_2_0.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Generator 20</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.jpa.core.resource.orm.v2_0.XmlGenerator_2_0#getDescription <em>Description</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlGenerator_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlGenerator_2_0 extends EBaseObject +{ + /** + * 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.v2_0.OrmV2_0Package#getXmlGenerator_2_0_Description() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getDescription(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlGenerator_2_0#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 + */ + void setDescription(String value); + +} // XmlGenerator_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlManyToMany_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlManyToMany_2_0.java new file mode 100644 index 0000000000..52ab5e52a5 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlManyToMany_2_0.java @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 2009, 2010 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.jpa.core.resource.orm.v2_0; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Many To Many 20</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.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlManyToMany_2_0() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlManyToMany_2_0 extends XmlMultiRelationshipMapping_2_0 +{ + +} // XmlManyToMany_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyAttributeOverrideContainer_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyAttributeOverrideContainer_2_0.java new file mode 100644 index 0000000000..f17acb428a --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyAttributeOverrideContainer_2_0.java @@ -0,0 +1,58 @@ +/******************************************************************************* + * Copyright (c) 2010 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Map Key Attribute Override Container2 0</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.jpa.core.resource.orm.v2_0.XmlMapKeyAttributeOverrideContainer_2_0#getMapKeyAttributeOverrides <em>Map Key Attribute Overrides</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyAttributeOverrideContainer_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlMapKeyAttributeOverrideContainer_2_0 extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Map Key Attribute Overrides</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key Attribute Overrides</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Map Key Attribute Overrides</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyAttributeOverrideContainer_2_0_MapKeyAttributeOverrides() + * @model containment="true" + * @generated + */ + EList<XmlAttributeOverride> getMapKeyAttributeOverrides(); + +} // XmlMapKeyAttributeOverrideContainer2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyClass_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyClass_2_0.java new file mode 100644 index 0000000000..a3cf62b0fd --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyClass_2_0.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Map Key Class 20</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.jpa.core.resource.orm.v2_0.XmlMapKeyClass_2_0#getClassName <em>Class Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyClass_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlMapKeyClass_2_0 extends EBaseObject +{ + /** + * 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.v2_0.OrmV2_0Package#getXmlMapKeyClass_2_0_ClassName() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + String getClassName(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyClass_2_0#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 + */ + void setClassName(String value); + +} // XmlMapKeyClass_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyConvertibleMapping_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyConvertibleMapping_2_0.java new file mode 100644 index 0000000000..e743b96adf --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapKeyConvertibleMapping_2_0.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2011 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.EnumType; +import org.eclipse.jpt.jpa.core.resource.orm.TemporalType; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Map Key Convertible Mapping 20</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.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyTemporal <em>Map Key Temporal</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyEnumerated <em>Map Key Enumerated</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyConvertibleMapping_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlMapKeyConvertibleMapping_2_0 extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Map Key Temporal</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key 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>Map Key Temporal</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType + * @see #setMapKeyTemporal(TemporalType) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyConvertibleMapping_2_0_MapKeyTemporal() + * @model + * @generated + */ + TemporalType getMapKeyTemporal(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyTemporal <em>Map Key Temporal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Temporal</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType + * @see #getMapKeyTemporal() + * @generated + */ + void setMapKeyTemporal(TemporalType value); + + /** + * Returns the value of the '<em><b>Map Key Enumerated</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.EnumType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key 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>Map Key Enumerated</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType + * @see #setMapKeyEnumerated(EnumType) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapKeyConvertibleMapping_2_0_MapKeyEnumerated() + * @model + * @generated + */ + EnumType getMapKeyEnumerated(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapKeyConvertibleMapping_2_0#getMapKeyEnumerated <em>Map Key Enumerated</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Enumerated</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType + * @see #getMapKeyEnumerated() + * @generated + */ + void setMapKeyEnumerated(EnumType value); + + /** + * Return the {@link TextRange} for the enumerated element. If the enumerated element + * does not exist return the {@link TextRange} for the basic element. + */ + TextRange getMapKeyEnumeratedTextRange(); + + /** + * Return the {@link TextRange} for the temporal element. If the temporal element + * does not exist return the {@link TextRange} for the basic element. + */ + TextRange getMapKeyTemporalTextRange(); + +} // XmlMapKeyConvertibleMapping_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapsId_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapsId_2_0.java new file mode 100644 index 0000000000..fb408050d6 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMapsId_2_0.java @@ -0,0 +1,70 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.utility.TextRange; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Maps Id 20</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.jpa.core.resource.orm.v2_0.XmlMapsId_2_0#getMapsId <em>Maps Id</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapsId_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlMapsId_2_0 extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Maps Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Maps Id</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Maps Id</em>' attribute. + * @see #setMapsId(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMapsId_2_0_MapsId() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getMapsId(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMapsId_2_0#getMapsId <em>Maps Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Maps Id</em>' attribute. + * @see #getMapsId() + * @generated + */ + void setMapsId(String value); + + /** + * Return the text range of the "maps-id" part of the XML document + */ + TextRange getMapsIdTextRange(); +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMultiRelationshipMapping_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMultiRelationshipMapping_2_0.java new file mode 100644 index 0000000000..cc1b46c49d --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlMultiRelationshipMapping_2_0.java @@ -0,0 +1,117 @@ +/******************************************************************************* + * Copyright (c) 2010, 2011 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference; +import org.eclipse.jpt.jpa.core.resource.orm.XmlColumn; +import org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Multi Relationship Mapping 20</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.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyClass <em>Map Key Class</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyColumn <em>Map Key Column</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyJoinColumns <em>Map Key Join Columns</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMultiRelationshipMapping_2_0() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlMultiRelationshipMapping_2_0 extends XmlOrderable_2_0, XmlMapKeyAttributeOverrideContainer_2_0, XmlMapKeyConvertibleMapping_2_0 +{ + /** + * Returns the value of the '<em><b>Map Key Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key Class</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>Map Key Class</em>' containment reference. + * @see #setMapKeyClass(XmlClassReference) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMultiRelationshipMapping_2_0_MapKeyClass() + * @model containment="true" + * @generated + */ + XmlClassReference getMapKeyClass(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyClass <em>Map Key Class</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Class</em>' containment reference. + * @see #getMapKeyClass() + * @generated + */ + void setMapKeyClass(XmlClassReference value); + + /** + * Returns the value of the '<em><b>Map Key Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key 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>Map Key Column</em>' containment reference. + * @see #setMapKeyColumn(XmlColumn) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMultiRelationshipMapping_2_0_MapKeyColumn() + * @model containment="true" + * @generated + */ + XmlColumn getMapKeyColumn(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlMultiRelationshipMapping_2_0#getMapKeyColumn <em>Map Key Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Column</em>' containment reference. + * @see #getMapKeyColumn() + * @generated + */ + void setMapKeyColumn(XmlColumn value); + + /** + * Returns the value of the '<em><b>Map Key Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key Join Columns</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Map Key Join Columns</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlMultiRelationshipMapping_2_0_MapKeyJoinColumns() + * @model containment="true" + * @generated + */ + EList<XmlJoinColumn> getMapKeyJoinColumns(); + + /** + * Return the {@link TextRange} for the map-key-class attribute. + */ + TextRange getMapKeyClassTextRange(); +} // XmlMultiRelationshipMapping_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlNamedQuery_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlNamedQuery_2_0.java new file mode 100644 index 0000000000..a170799adb --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlNamedQuery_2_0.java @@ -0,0 +1,70 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Named Query 20</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.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0#getLockMode <em>Lock Mode</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlNamedQuery_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlNamedQuery_2_0 extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Lock Mode</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Lock Mode</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Lock Mode</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0 + * @see #setLockMode(LockModeType_2_0) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlNamedQuery_2_0_LockMode() + * @model + * @generated + */ + LockModeType_2_0 getLockMode(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlNamedQuery_2_0#getLockMode <em>Lock Mode</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Lock Mode</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.LockModeType_2_0 + * @see #getLockMode() + * @generated + */ + void setLockMode(LockModeType_2_0 value); + +} // XmlNamedQuery_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToMany_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToMany_2_0.java new file mode 100644 index 0000000000..a2792c9c84 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToMany_2_0.java @@ -0,0 +1,28 @@ +/******************************************************************************* + * Copyright (c) 2009, 2010 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.jpa.core.resource.orm.v2_0; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml One To Many 20</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOneToMany_2_0() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlOneToMany_2_0 extends XmlMultiRelationshipMapping_2_0, XmlOrphanRemovable_2_0 +{ + +} // XmlOneToMany_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToOne_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToOne_2_0.java new file mode 100644 index 0000000000..6a9a7c5071 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOneToOne_2_0.java @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml One To One 20</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.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOneToOne_2_0() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlOneToOne_2_0 extends XmlSingleRelationshipMapping_2_0, XmlOrphanRemovable_2_0 +{ + +} // XmlOneToOne_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderColumn_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderColumn_2_0.java new file mode 100644 index 0000000000..d9f1b29b22 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderColumn_2_0.java @@ -0,0 +1,121 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Order Column 20</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.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getNullable <em>Nullable</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getInsertable <em>Insertable</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#getUpdatable <em>Updatable</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderColumn_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlOrderColumn_2_0 extends EBaseObject +{ + /** + * 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.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderColumn_2_0_Nullable() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + Boolean getNullable(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#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 + */ + void setNullable(Boolean value); + + /** + * 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.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderColumn_2_0_Insertable() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + Boolean getInsertable(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#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 + */ + void setInsertable(Boolean value); + + /** + * 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.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderColumn_2_0_Updatable() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + Boolean getUpdatable(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderColumn_2_0#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 + */ + void setUpdatable(Boolean value); + +} // XmlOrderColumn_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderable_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderable_2_0.java new file mode 100644 index 0000000000..e762f04089 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrderable_2_0.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Orderable 20</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.jpa.core.resource.orm.v2_0.XmlOrderable_2_0#getOrderColumn <em>Order Column</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderable_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlOrderable_2_0 extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Order Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Order 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>Order Column</em>' containment reference. + * @see #setOrderColumn(XmlOrderColumn) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrderable_2_0_OrderColumn() + * @model containment="true" + * @generated + */ + XmlOrderColumn getOrderColumn(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0#getOrderColumn <em>Order Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Order Column</em>' containment reference. + * @see #getOrderColumn() + * @generated + */ + void setOrderColumn(XmlOrderColumn value); + +} // XmlOrderable_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrphanRemovable_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrphanRemovable_2_0.java new file mode 100644 index 0000000000..38e199393c --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlOrphanRemovable_2_0.java @@ -0,0 +1,65 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Orphan Removable2 0</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.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0#getOrphanRemoval <em>Orphan Removal</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrphanRemovable_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlOrphanRemovable_2_0 extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Orphan Removal</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Orphan Removal</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Orphan Removal</em>' attribute. + * @see #setOrphanRemoval(Boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlOrphanRemovable_2_0_OrphanRemoval() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + Boolean getOrphanRemoval(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrphanRemovable_2_0#getOrphanRemoval <em>Orphan Removal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Orphan Removal</em>' attribute. + * @see #getOrphanRemoval() + * @generated + */ + void setOrphanRemoval(Boolean value); + +} // XmlOrphanRemovable2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitDefaults_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitDefaults_2_0.java new file mode 100644 index 0000000000..61326dfbf4 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitDefaults_2_0.java @@ -0,0 +1,94 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Persistence Unit Defaults 20</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.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#getDescription <em>Description</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#isDelimitedIdentifiers <em>Delimited Identifiers</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitDefaults_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlPersistenceUnitDefaults_2_0 extends EBaseObject +{ + /** + * 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.v2_0.OrmV2_0Package#getXmlPersistenceUnitDefaults_2_0_Description() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getDescription(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#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 + */ + void setDescription(String value); + + /** + * Returns the value of the '<em><b>Delimited Identifiers</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Delimited Identifiers</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Delimited Identifiers</em>' attribute. + * @see #setDelimitedIdentifiers(boolean) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitDefaults_2_0_DelimitedIdentifiers() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + boolean isDelimitedIdentifiers(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitDefaults_2_0#isDelimitedIdentifiers <em>Delimited Identifiers</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Delimited Identifiers</em>' attribute. + * @see #isDelimitedIdentifiers() + * @generated + */ + void setDelimitedIdentifiers(boolean value); + +} // XmlPersistenceUnitDefaults_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitMetadata_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitMetadata_2_0.java new file mode 100644 index 0000000000..48fcff99fd --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlPersistenceUnitMetadata_2_0.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Persistence Unit Metadata 20</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.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0#getDescription <em>Description</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlPersistenceUnitMetadata_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlPersistenceUnitMetadata_2_0 extends EBaseObject +{ + /** + * 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.v2_0.OrmV2_0Package#getXmlPersistenceUnitMetadata_2_0_Description() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getDescription(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlPersistenceUnitMetadata_2_0#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 + */ + void setDescription(String value); + +} // XmlPersistenceUnitMetadata_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQueryHint_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQueryHint_2_0.java new file mode 100644 index 0000000000..96d69c83c1 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQueryHint_2_0.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Query Hint 20</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.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0#getDescription <em>Description</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQueryHint_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlQueryHint_2_0 extends EBaseObject +{ + /** + * 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.v2_0.OrmV2_0Package#getXmlQueryHint_2_0_Description() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getDescription(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQueryHint_2_0#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 + */ + void setDescription(String value); + +} // XmlQueryHint_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQuery_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQuery_2_0.java new file mode 100644 index 0000000000..d96d8cb2db --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlQuery_2_0.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Query 20</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.jpa.core.resource.orm.v2_0.XmlQuery_2_0#getDescription <em>Description</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlQuery_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlQuery_2_0 extends EBaseObject +{ + /** + * 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.v2_0.OrmV2_0Package#getXmlQuery_2_0_Description() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getDescription(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlQuery_2_0#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 + */ + void setDescription(String value); + +} // XmlQuery_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSequenceGenerator_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSequenceGenerator_2_0.java new file mode 100644 index 0000000000..336514e063 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSequenceGenerator_2_0.java @@ -0,0 +1,94 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Sequence Generator 20</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.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getCatalog <em>Catalog</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getSchema <em>Schema</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSequenceGenerator_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlSequenceGenerator_2_0 extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Catalog</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Catalog</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Catalog</em>' attribute. + * @see #setCatalog(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSequenceGenerator_2_0_Catalog() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getCatalog(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getCatalog <em>Catalog</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Catalog</em>' attribute. + * @see #getCatalog() + * @generated + */ + void setCatalog(String value); + + /** + * Returns the value of the '<em><b>Schema</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Schema</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Schema</em>' attribute. + * @see #setSchema(String) + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSequenceGenerator_2_0_Schema() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getSchema(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSequenceGenerator_2_0#getSchema <em>Schema</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Schema</em>' attribute. + * @see #getSchema() + * @generated + */ + void setSchema(String value); + +} // XmlSequenceGenerator_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSingleRelationshipMapping_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSingleRelationshipMapping_2_0.java new file mode 100644 index 0000000000..5b087d37b7 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSingleRelationshipMapping_2_0.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Single Relationship Mapping 20</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.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSingleRelationshipMapping_2_0() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlSingleRelationshipMapping_2_0 extends XmlDerivedId_2_0, XmlMapsId_2_0 +{ +} // XmlSingleRelationshipMapping_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSqlResultSetMapping_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSqlResultSetMapping_2_0.java new file mode 100644 index 0000000000..d9ff32a235 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlSqlResultSetMapping_2_0.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Sql Result Set Mapping 20</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.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0#getDescription <em>Description</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlSqlResultSetMapping_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlSqlResultSetMapping_2_0 extends EBaseObject +{ + /** + * 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.v2_0.OrmV2_0Package#getXmlSqlResultSetMapping_2_0_Description() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getDescription(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlSqlResultSetMapping_2_0#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 + */ + void setDescription(String value); + +} // XmlSqlResultSetMapping_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlUniqueConstraint_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlUniqueConstraint_2_0.java new file mode 100644 index 0000000000..4008ff258f --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/XmlUniqueConstraint_2_0.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.orm.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Unique Constraint 20</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.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlUniqueConstraint_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlUniqueConstraint_2_0 extends EBaseObject +{ + /** + * 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.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlUniqueConstraint_2_0_Name() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlUniqueConstraint_2_0#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 + */ + void setName(String value); + +} // XmlUniqueConstraint_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistenceFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistenceFactory.java new file mode 100644 index 0000000000..8df8130a4b --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistenceFactory.java @@ -0,0 +1,250 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.persistence; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.impl.EFactoryImpl; +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage + * @generated + */ +public class PersistenceFactory extends EFactoryImpl +{ + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final PersistenceFactory eINSTANCE = init(); + + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static PersistenceFactory init() + { + try + { + PersistenceFactory thePersistenceFactory = (PersistenceFactory)EPackage.Registry.INSTANCE.getEFactory("jpt.persistence.xmi"); + if (thePersistenceFactory != null) + { + return thePersistenceFactory; + } + } + catch (Exception exception) + { + EcorePlugin.INSTANCE.log(exception); + } + return new PersistenceFactory(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PersistenceFactory() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) + { + switch (eClass.getClassifierID()) + { + case PersistencePackage.XML_JAVA_CLASS_REF: return (EObject)createXmlJavaClassRef(); + case PersistencePackage.XML_JAR_FILE_REF: return (EObject)createXmlJarFileRef(); + case PersistencePackage.XML_MAPPING_FILE_REF: return (EObject)createXmlMappingFileRef(); + case PersistencePackage.XML_PERSISTENCE: return (EObject)createXmlPersistence(); + case PersistencePackage.XML_PERSISTENCE_UNIT: return (EObject)createXmlPersistenceUnit(); + case PersistencePackage.XML_PROPERTIES: return (EObject)createXmlProperties(); + case PersistencePackage.XML_PROPERTY: return (EObject)createXmlProperty(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object createFromString(EDataType eDataType, String initialValue) + { + switch (eDataType.getClassifierID()) + { + case PersistencePackage.XML_PERSISTENCE_UNIT_TRANSACTION_TYPE: + return createXmlPersistenceUnitTransactionTypeFromString(eDataType, initialValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String convertToString(EDataType eDataType, Object instanceValue) + { + switch (eDataType.getClassifierID()) + { + case PersistencePackage.XML_PERSISTENCE_UNIT_TRANSACTION_TYPE: + return convertXmlPersistenceUnitTransactionTypeToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlJavaClassRef createXmlJavaClassRef() + { + XmlJavaClassRef xmlJavaClassRef = new XmlJavaClassRef(); + return xmlJavaClassRef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlJarFileRef createXmlJarFileRef() + { + XmlJarFileRef xmlJarFileRef = new XmlJarFileRef(); + return xmlJarFileRef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlMappingFileRef createXmlMappingFileRef() + { + XmlMappingFileRef xmlMappingFileRef = new XmlMappingFileRef(); + return xmlMappingFileRef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlPersistence createXmlPersistence() + { + XmlPersistence xmlPersistence = new XmlPersistence(); + return xmlPersistence; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlPersistenceUnit createXmlPersistenceUnit() + { + XmlPersistenceUnit xmlPersistenceUnit = new XmlPersistenceUnit(); + return xmlPersistenceUnit; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlProperties createXmlProperties() + { + XmlProperties xmlProperties = new XmlProperties(); + return xmlProperties; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlProperty createXmlProperty() + { + XmlProperty xmlProperty = new XmlProperty(); + return xmlProperty; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlPersistenceUnitTransactionType createXmlPersistenceUnitTransactionTypeFromString(EDataType eDataType, String initialValue) + { + XmlPersistenceUnitTransactionType result = XmlPersistenceUnitTransactionType.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertXmlPersistenceUnitTransactionTypeToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PersistencePackage getPersistencePackage() + { + return (PersistencePackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static PersistencePackage getPackage() + { + return PersistencePackage.eINSTANCE; + } + +} //PersistenceFactory diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistencePackage.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistencePackage.java new file mode 100644 index 0000000000..c8ccaf2a44 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/PersistencePackage.java @@ -0,0 +1,1309 @@ +/******************************************************************************* + * Copyright (c) 2009, 2012 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.jpa.core.resource.persistence; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecore.impl.EPackageImpl; +import org.eclipse.emf.ecore.xml.type.XMLTypePackage; +import org.eclipse.jpt.common.core.resource.xml.CommonPackage; +import org.eclipse.jpt.jpa.core.resource.orm.OrmPackage; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistenceFactory + * @model kind="package" + * @generated + */ +public class PersistencePackage extends EPackageImpl +{ + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String eNAME = "persistence"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String eNS_URI = "jpt.persistence.xmi"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String eNS_PREFIX = "org.eclipse.jpt.jpa.core.resource.persistence"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final PersistencePackage eINSTANCE = org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage.init(); + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef <em>Xml Java Class Ref</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJavaClassRef() + * @generated + */ + public static final int XML_JAVA_CLASS_REF = 0; + + /** + * The feature id for the '<em><b>Java Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JAVA_CLASS_REF__JAVA_CLASS = 0; + + /** + * The number of structural features of the '<em>Xml Java Class Ref</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JAVA_CLASS_REF_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef <em>Xml Jar File Ref</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJarFileRef() + * @generated + */ + public static final int XML_JAR_FILE_REF = 1; + + /** + * The feature id for the '<em><b>File Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JAR_FILE_REF__FILE_NAME = 0; + + /** + * The number of structural features of the '<em>Xml Jar File Ref</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_JAR_FILE_REF_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef <em>Xml Mapping File Ref</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlMappingFileRef() + * @generated + */ + public static final int XML_MAPPING_FILE_REF = 2; + + /** + * The feature id for the '<em><b>File Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPING_FILE_REF__FILE_NAME = 0; + + /** + * The number of structural features of the '<em>Xml Mapping File Ref</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPING_FILE_REF_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence <em>Xml Persistence</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistence() + * @generated + */ + public static final int XML_PERSISTENCE = 3; + + /** + * The feature id for the '<em><b>Version</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE__VERSION = CommonPackage.EROOT_OBJECT_IMPL__VERSION; + + /** + * The feature id for the '<em><b>Schema Location</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE__SCHEMA_LOCATION = CommonPackage.EROOT_OBJECT_IMPL__SCHEMA_LOCATION; + + /** + * The feature id for the '<em><b>Implied Version</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE__IMPLIED_VERSION = CommonPackage.EROOT_OBJECT_IMPL__IMPLIED_VERSION; + + /** + * The feature id for the '<em><b>Persistence Units</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE__PERSISTENCE_UNITS = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml Persistence</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_FEATURE_COUNT = CommonPackage.EROOT_OBJECT_IMPL_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit <em>Xml Persistence Unit</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit() + * @generated + */ + public static final int XML_PERSISTENCE_UNIT = 4; + + /** + * The feature id for the '<em><b>Shared Cache Mode</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT__SHARED_CACHE_MODE = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20__SHARED_CACHE_MODE; + + /** + * The feature id for the '<em><b>Validation Mode</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT__VALIDATION_MODE = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20__VALIDATION_MODE; + + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT__DESCRIPTION = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Provider</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT__PROVIDER = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Jta Data Source</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Non Jta Data Source</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Mapping Files</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT__MAPPING_FILES = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Jar Files</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT__JAR_FILES = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Classes</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT__CLASSES = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Exclude Unlisted Classes</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 7; + + /** + * The feature id for the '<em><b>Properties</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT__PROPERTIES = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 8; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT__NAME = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 9; + + /** + * The feature id for the '<em><b>Transaction Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT__TRANSACTION_TYPE = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 10; + + /** + * The number of structural features of the '<em>Xml Persistence Unit</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_FEATURE_COUNT = PersistenceV2_0Package.XML_PERSISTENCE_UNIT_20_FEATURE_COUNT + 11; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties <em>Xml Properties</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperties() + * @generated + */ + public static final int XML_PROPERTIES = 5; + + /** + * The feature id for the '<em><b>Properties</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PROPERTIES__PROPERTIES = 0; + + /** + * The number of structural features of the '<em>Xml Properties</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PROPERTIES_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty <em>Xml Property</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperty() + * @generated + */ + public static final int XML_PROPERTY = 6; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PROPERTY__NAME = 0; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PROPERTY__VALUE = 1; + + /** + * The number of structural features of the '<em>Xml Property</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PROPERTY_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType <em>Xml Persistence Unit Transaction Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnitTransactionType() + * @generated + */ + public static final int XML_PERSISTENCE_UNIT_TRANSACTION_TYPE = 7; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlJavaClassRefEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlJarFileRefEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlMappingFileRefEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlPersistenceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlPersistenceUnitEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlPropertiesEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlPropertyEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum xmlPersistenceUnitTransactionTypeEEnum = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#eNS_URI + * @see #init() + * @generated + */ + private PersistencePackage() + { + super(eNS_URI, PersistenceFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link PersistencePackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static PersistencePackage init() + { + if (isInited) return (PersistencePackage)EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI); + + // Obtain or create and register package + PersistencePackage thePersistencePackage = (PersistencePackage)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PersistencePackage ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PersistencePackage()); + + isInited = true; + + // Initialize simple dependencies + CommonPackage.eINSTANCE.eClass(); + EcorePackage.eINSTANCE.eClass(); + XMLTypePackage.eINSTANCE.eClass(); + + // Obtain or create and register interdependencies + OrmPackage theOrmPackage = (OrmPackage)(EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI) instanceof OrmPackage ? EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI) : OrmPackage.eINSTANCE); + OrmV2_0Package theOrmV2_0Package = (OrmV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI) instanceof OrmV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI) : OrmV2_0Package.eINSTANCE); + PersistenceV2_0Package thePersistenceV2_0Package = (PersistenceV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI) instanceof PersistenceV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI) : PersistenceV2_0Package.eINSTANCE); + + // Create package meta-data objects + thePersistencePackage.createPackageContents(); + theOrmPackage.createPackageContents(); + theOrmV2_0Package.createPackageContents(); + thePersistenceV2_0Package.createPackageContents(); + + // Initialize created meta-data + thePersistencePackage.initializePackageContents(); + theOrmPackage.initializePackageContents(); + theOrmV2_0Package.initializePackageContents(); + thePersistenceV2_0Package.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + thePersistencePackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(PersistencePackage.eNS_URI, thePersistencePackage); + return thePersistencePackage; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef <em>Xml Java Class Ref</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Java Class Ref</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef + * @generated + */ + public EClass getXmlJavaClassRef() + { + return xmlJavaClassRefEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef#getJavaClass <em>Java Class</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Java Class</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef#getJavaClass() + * @see #getXmlJavaClassRef() + * @generated + */ + public EAttribute getXmlJavaClassRef_JavaClass() + { + return (EAttribute)xmlJavaClassRefEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef <em>Xml Jar File Ref</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Jar File Ref</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef + * @generated + */ + public EClass getXmlJarFileRef() + { + return xmlJarFileRefEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef#getFileName <em>File Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>File Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef#getFileName() + * @see #getXmlJarFileRef() + * @generated + */ + public EAttribute getXmlJarFileRef_FileName() + { + return (EAttribute)xmlJarFileRefEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef <em>Xml Mapping File Ref</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Mapping File Ref</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef + * @generated + */ + public EClass getXmlMappingFileRef() + { + return xmlMappingFileRefEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef#getFileName <em>File Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>File Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef#getFileName() + * @see #getXmlMappingFileRef() + * @generated + */ + public EAttribute getXmlMappingFileRef_FileName() + { + return (EAttribute)xmlMappingFileRefEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence <em>Xml Persistence</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Persistence</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence + * @generated + */ + public EClass getXmlPersistence() + { + return xmlPersistenceEClass; + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence#getPersistenceUnits <em>Persistence Units</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Persistence Units</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence#getPersistenceUnits() + * @see #getXmlPersistence() + * @generated + */ + public EReference getXmlPersistence_PersistenceUnits() + { + return (EReference)xmlPersistenceEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit <em>Xml Persistence Unit</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Persistence Unit</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit + * @generated + */ + public EClass getXmlPersistenceUnit() + { + return xmlPersistenceUnitEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getDescription <em>Description</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Description</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getDescription() + * @see #getXmlPersistenceUnit() + * @generated + */ + public EAttribute getXmlPersistenceUnit_Description() + { + return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProvider <em>Provider</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Provider</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProvider() + * @see #getXmlPersistenceUnit() + * @generated + */ + public EAttribute getXmlPersistenceUnit_Provider() + { + return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJtaDataSource <em>Jta Data Source</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Jta Data Source</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJtaDataSource() + * @see #getXmlPersistenceUnit() + * @generated + */ + public EAttribute getXmlPersistenceUnit_JtaDataSource() + { + return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(2); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getNonJtaDataSource <em>Non Jta Data Source</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Non Jta Data Source</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getNonJtaDataSource() + * @see #getXmlPersistenceUnit() + * @generated + */ + public EAttribute getXmlPersistenceUnit_NonJtaDataSource() + { + return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(3); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getMappingFiles <em>Mapping Files</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Mapping Files</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getMappingFiles() + * @see #getXmlPersistenceUnit() + * @generated + */ + public EReference getXmlPersistenceUnit_MappingFiles() + { + return (EReference)xmlPersistenceUnitEClass.getEStructuralFeatures().get(4); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJarFiles <em>Jar Files</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Jar Files</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJarFiles() + * @see #getXmlPersistenceUnit() + * @generated + */ + public EReference getXmlPersistenceUnit_JarFiles() + { + return (EReference)xmlPersistenceUnitEClass.getEStructuralFeatures().get(5); + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getClasses <em>Classes</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Classes</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getClasses() + * @see #getXmlPersistenceUnit() + * @generated + */ + public EReference getXmlPersistenceUnit_Classes() + { + return (EReference)xmlPersistenceUnitEClass.getEStructuralFeatures().get(6); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getExcludeUnlistedClasses <em>Exclude Unlisted Classes</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Exclude Unlisted Classes</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getExcludeUnlistedClasses() + * @see #getXmlPersistenceUnit() + * @generated + */ + public EAttribute getXmlPersistenceUnit_ExcludeUnlistedClasses() + { + return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(7); + } + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProperties <em>Properties</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Properties</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProperties() + * @see #getXmlPersistenceUnit() + * @generated + */ + public EReference getXmlPersistenceUnit_Properties() + { + return (EReference)xmlPersistenceUnitEClass.getEStructuralFeatures().get(8); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getName() + * @see #getXmlPersistenceUnit() + * @generated + */ + public EAttribute getXmlPersistenceUnit_Name() + { + return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(9); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getTransactionType <em>Transaction Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Transaction Type</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getTransactionType() + * @see #getXmlPersistenceUnit() + * @generated + */ + public EAttribute getXmlPersistenceUnit_TransactionType() + { + return (EAttribute)xmlPersistenceUnitEClass.getEStructuralFeatures().get(10); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties <em>Xml Properties</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Properties</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties + * @generated + */ + public EClass getXmlProperties() + { + return xmlPropertiesEClass; + } + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties#getProperties <em>Properties</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Properties</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties#getProperties() + * @see #getXmlProperties() + * @generated + */ + public EReference getXmlProperties_Properties() + { + return (EReference)xmlPropertiesEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty <em>Xml Property</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Property</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty + * @generated + */ + public EClass getXmlProperty() + { + return xmlPropertyEClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#getName() + * @see #getXmlProperty() + * @generated + */ + public EAttribute getXmlProperty_Name() + { + return (EAttribute)xmlPropertyEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#getValue() + * @see #getXmlProperty() + * @generated + */ + public EAttribute getXmlProperty_Value() + { + return (EAttribute)xmlPropertyEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType <em>Xml Persistence Unit Transaction Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Xml Persistence Unit Transaction Type</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType + * @generated + */ + public EEnum getXmlPersistenceUnitTransactionType() + { + return xmlPersistenceUnitTransactionTypeEEnum; + } + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + public PersistenceFactory getPersistenceFactory() + { + return (PersistenceFactory)getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() + { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + xmlJavaClassRefEClass = createEClass(XML_JAVA_CLASS_REF); + createEAttribute(xmlJavaClassRefEClass, XML_JAVA_CLASS_REF__JAVA_CLASS); + + xmlJarFileRefEClass = createEClass(XML_JAR_FILE_REF); + createEAttribute(xmlJarFileRefEClass, XML_JAR_FILE_REF__FILE_NAME); + + xmlMappingFileRefEClass = createEClass(XML_MAPPING_FILE_REF); + createEAttribute(xmlMappingFileRefEClass, XML_MAPPING_FILE_REF__FILE_NAME); + + xmlPersistenceEClass = createEClass(XML_PERSISTENCE); + createEReference(xmlPersistenceEClass, XML_PERSISTENCE__PERSISTENCE_UNITS); + + xmlPersistenceUnitEClass = createEClass(XML_PERSISTENCE_UNIT); + createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__DESCRIPTION); + createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__PROVIDER); + createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE); + createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE); + createEReference(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__MAPPING_FILES); + createEReference(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__JAR_FILES); + createEReference(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__CLASSES); + createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES); + createEReference(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__PROPERTIES); + createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__NAME); + createEAttribute(xmlPersistenceUnitEClass, XML_PERSISTENCE_UNIT__TRANSACTION_TYPE); + + xmlPropertiesEClass = createEClass(XML_PROPERTIES); + createEReference(xmlPropertiesEClass, XML_PROPERTIES__PROPERTIES); + + xmlPropertyEClass = createEClass(XML_PROPERTY); + createEAttribute(xmlPropertyEClass, XML_PROPERTY__NAME); + createEAttribute(xmlPropertyEClass, XML_PROPERTY__VALUE); + + // Create enums + xmlPersistenceUnitTransactionTypeEEnum = createEEnum(XML_PERSISTENCE_UNIT_TRANSACTION_TYPE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() + { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + PersistenceV2_0Package thePersistenceV2_0Package = (PersistenceV2_0Package)EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI); + EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI); + CommonPackage theCommonPackage = (CommonPackage)EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI); + XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI); + + // Add subpackages + getESubpackages().add(thePersistenceV2_0Package); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + xmlPersistenceEClass.getESuperTypes().add(theCommonPackage.getERootObjectImpl()); + xmlPersistenceUnitEClass.getESuperTypes().add(thePersistenceV2_0Package.getXmlPersistenceUnit_2_0()); + + // Initialize classes and features; add operations and parameters + initEClass(xmlJavaClassRefEClass, XmlJavaClassRef.class, "XmlJavaClassRef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlJavaClassRef_JavaClass(), theEcorePackage.getEString(), "javaClass", "", 0, 1, XmlJavaClassRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); + + initEClass(xmlJarFileRefEClass, XmlJarFileRef.class, "XmlJarFileRef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlJarFileRef_FileName(), theEcorePackage.getEString(), "fileName", "", 0, 1, XmlJarFileRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); + + initEClass(xmlMappingFileRefEClass, XmlMappingFileRef.class, "XmlMappingFileRef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlMappingFileRef_FileName(), theEcorePackage.getEString(), "fileName", "", 0, 1, XmlMappingFileRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); + + initEClass(xmlPersistenceEClass, XmlPersistence.class, "XmlPersistence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlPersistence_PersistenceUnits(), this.getXmlPersistenceUnit(), null, "persistenceUnits", null, 0, -1, XmlPersistence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlPersistenceUnitEClass, XmlPersistenceUnit.class, "XmlPersistenceUnit", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlPersistenceUnit_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlPersistenceUnit_Provider(), theXMLTypePackage.getString(), "provider", null, 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlPersistenceUnit_JtaDataSource(), theXMLTypePackage.getString(), "jtaDataSource", null, 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlPersistenceUnit_NonJtaDataSource(), theXMLTypePackage.getString(), "nonJtaDataSource", null, 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlPersistenceUnit_MappingFiles(), this.getXmlMappingFileRef(), null, "mappingFiles", null, 0, -1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlPersistenceUnit_JarFiles(), this.getXmlJarFileRef(), null, "jarFiles", null, 0, -1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlPersistenceUnit_Classes(), this.getXmlJavaClassRef(), null, "classes", null, 0, -1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlPersistenceUnit_ExcludeUnlistedClasses(), theXMLTypePackage.getBooleanObject(), "excludeUnlistedClasses", null, 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getXmlPersistenceUnit_Properties(), this.getXmlProperties(), null, "properties", null, 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlPersistenceUnit_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlPersistenceUnit_TransactionType(), this.getXmlPersistenceUnitTransactionType(), "transactionType", "JTA", 0, 1, XmlPersistenceUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlPropertiesEClass, XmlProperties.class, "XmlProperties", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getXmlProperties_Properties(), this.getXmlProperty(), null, "properties", null, 0, -1, XmlProperties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(xmlPropertyEClass, XmlProperty.class, "XmlProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlProperty_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, XmlProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlProperty_Value(), theXMLTypePackage.getString(), "value", null, 1, 1, XmlProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Initialize enums and add enum literals + initEEnum(xmlPersistenceUnitTransactionTypeEEnum, XmlPersistenceUnitTransactionType.class, "XmlPersistenceUnitTransactionType"); + addEEnumLiteral(xmlPersistenceUnitTransactionTypeEEnum, XmlPersistenceUnitTransactionType.JTA); + addEEnumLiteral(xmlPersistenceUnitTransactionTypeEEnum, XmlPersistenceUnitTransactionType.RESOURCE_LOCAL); + + // Create resource + createResource(eNS_URI); + } + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + public interface Literals + { + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef <em>Xml Java Class Ref</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJavaClassRef() + * @generated + */ + public static final EClass XML_JAVA_CLASS_REF = eINSTANCE.getXmlJavaClassRef(); + + /** + * The meta object literal for the '<em><b>Java Class</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_JAVA_CLASS_REF__JAVA_CLASS = eINSTANCE.getXmlJavaClassRef_JavaClass(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef <em>Xml Jar File Ref</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJarFileRef() + * @generated + */ + public static final EClass XML_JAR_FILE_REF = eINSTANCE.getXmlJarFileRef(); + + /** + * The meta object literal for the '<em><b>File Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_JAR_FILE_REF__FILE_NAME = eINSTANCE.getXmlJarFileRef_FileName(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef <em>Xml Mapping File Ref</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlMappingFileRef() + * @generated + */ + public static final EClass XML_MAPPING_FILE_REF = eINSTANCE.getXmlMappingFileRef(); + + /** + * The meta object literal for the '<em><b>File Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_MAPPING_FILE_REF__FILE_NAME = eINSTANCE.getXmlMappingFileRef_FileName(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence <em>Xml Persistence</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistence() + * @generated + */ + public static final EClass XML_PERSISTENCE = eINSTANCE.getXmlPersistence(); + + /** + * The meta object literal for the '<em><b>Persistence Units</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_PERSISTENCE__PERSISTENCE_UNITS = eINSTANCE.getXmlPersistence_PersistenceUnits(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit <em>Xml Persistence Unit</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit() + * @generated + */ + public static final EClass XML_PERSISTENCE_UNIT = eINSTANCE.getXmlPersistenceUnit(); + + /** + * The meta object literal for the '<em><b>Description</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT__DESCRIPTION = eINSTANCE.getXmlPersistenceUnit_Description(); + + /** + * The meta object literal for the '<em><b>Provider</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT__PROVIDER = eINSTANCE.getXmlPersistenceUnit_Provider(); + + /** + * The meta object literal for the '<em><b>Jta Data Source</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE = eINSTANCE.getXmlPersistenceUnit_JtaDataSource(); + + /** + * The meta object literal for the '<em><b>Non Jta Data Source</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE = eINSTANCE.getXmlPersistenceUnit_NonJtaDataSource(); + + /** + * The meta object literal for the '<em><b>Mapping Files</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_PERSISTENCE_UNIT__MAPPING_FILES = eINSTANCE.getXmlPersistenceUnit_MappingFiles(); + + /** + * The meta object literal for the '<em><b>Jar Files</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_PERSISTENCE_UNIT__JAR_FILES = eINSTANCE.getXmlPersistenceUnit_JarFiles(); + + /** + * The meta object literal for the '<em><b>Classes</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_PERSISTENCE_UNIT__CLASSES = eINSTANCE.getXmlPersistenceUnit_Classes(); + + /** + * The meta object literal for the '<em><b>Exclude Unlisted Classes</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES = eINSTANCE.getXmlPersistenceUnit_ExcludeUnlistedClasses(); + + /** + * The meta object literal for the '<em><b>Properties</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_PERSISTENCE_UNIT__PROPERTIES = eINSTANCE.getXmlPersistenceUnit_Properties(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT__NAME = eINSTANCE.getXmlPersistenceUnit_Name(); + + /** + * The meta object literal for the '<em><b>Transaction Type</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT__TRANSACTION_TYPE = eINSTANCE.getXmlPersistenceUnit_TransactionType(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties <em>Xml Properties</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperties + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperties() + * @generated + */ + public static final EClass XML_PROPERTIES = eINSTANCE.getXmlProperties(); + + /** + * The meta object literal for the '<em><b>Properties</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EReference XML_PROPERTIES__PROPERTIES = eINSTANCE.getXmlProperties_Properties(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty <em>Xml Property</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperty() + * @generated + */ + public static final EClass XML_PROPERTY = eINSTANCE.getXmlProperty(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PROPERTY__NAME = eINSTANCE.getXmlProperty_Name(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PROPERTY__VALUE = eINSTANCE.getXmlProperty_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType <em>Xml Persistence Unit Transaction Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnitTransactionType() + * @generated + */ + public static final EEnum XML_PERSISTENCE_UNIT_TRANSACTION_TYPE = eINSTANCE.getXmlPersistenceUnitTransactionType(); + + } + +} //PersistencePackage diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJarFileRef.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJarFileRef.java new file mode 100644 index 0000000000..2b0c1de6ff --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJarFileRef.java @@ -0,0 +1,254 @@ +/******************************************************************************* + * Copyright (c) 2009, 2010 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.jpa.core.resource.persistence; + +import org.eclipse.core.resources.IFolder; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.common.utility.internal.StringTools; +import org.eclipse.text.edits.ReplaceEdit; +import org.eclipse.wst.common.internal.emf.resource.Translator; +import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Jar File Ref</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef#getFileName <em>File Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJarFileRef() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class XmlJarFileRef extends EBaseObjectImpl implements EBaseObject +{ + /** + * The default value of the '{@link #getFileName() <em>File Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFileName() + * @generated + * @ordered + */ + protected static final String FILE_NAME_EDEFAULT = ""; + + /** + * The cached value of the '{@link #getFileName() <em>File Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFileName() + * @generated + * @ordered + */ + protected String fileName = FILE_NAME_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlJarFileRef() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PersistencePackage.Literals.XML_JAR_FILE_REF; + } + + /** + * Returns the value of the '<em><b>File Name</b></em>' attribute. + * The default value is <code>""</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>File 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>File Name</em>' attribute. + * @see #setFileName(String) + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJarFileRef_FileName() + * @model default="" unique="false" ordered="false" + * @generated + */ + public String getFileName() + { + return fileName; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef#getFileName <em>File Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>File Name</em>' attribute. + * @see #getFileName() + * @generated + */ + public void setFileName(String newFileName) + { + String oldFileName = fileName; + fileName = newFileName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_JAR_FILE_REF__FILE_NAME, oldFileName, fileName)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case PersistencePackage.XML_JAR_FILE_REF__FILE_NAME: + return getFileName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PersistencePackage.XML_JAR_FILE_REF__FILE_NAME: + setFileName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_JAR_FILE_REF__FILE_NAME: + setFileName(FILE_NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_JAR_FILE_REF__FILE_NAME: + return FILE_NAME_EDEFAULT == null ? fileName != null : !FILE_NAME_EDEFAULT.equals(fileName); + } + 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(" (fileName: "); + result.append(fileName); + result.append(')'); + return result.toString(); + } + + @Override + public TextRange getValidationTextRange() { + return (! StringTools.isBlank(this.fileName)) ? + getTextTextRange() : + super.getValidationTextRange(); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren() + ); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildFileNameTranslator(), + }; + } + + private static Translator buildFileNameTranslator() { + return new Translator( + Translator.TEXT_ATTRIBUTE_VALUE, + PersistencePackage.eINSTANCE.getXmlJarFileRef_FileName() + ); + } + + + // *********** refactoring *********** + + public ReplaceEdit createReplaceFolderEdit(IFolder originalFolder, String newName) { + IDOMNode domNode = getTextNode(); + String originalName = originalFolder.getName(); + int nameIndex = this.fileName.indexOf(originalName); + + int offset = domNode.getStartOffset(); + return new ReplaceEdit(offset + nameIndex, originalName.length(), newName); + } + + public TextRange getFileNameTextRange(){ + TextRange textRange = this.buildTextRange(this.getTextNode()); + return textRange == null ? this.getValidationTextRange() : textRange; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJavaClassRef.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJavaClassRef.java new file mode 100644 index 0000000000..6b6a8a12d3 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlJavaClassRef.java @@ -0,0 +1,264 @@ +/******************************************************************************* + * Copyright (c) 2006, 2012 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.jpa.core.resource.persistence; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jdt.core.IType; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +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; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Java Class Ref</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.jpa.core.resource.persistence.XmlJavaClassRef#getJavaClass <em>Java Class</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJavaClassRef() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class XmlJavaClassRef extends EBaseObjectImpl implements EBaseObject +{ + /** + * The default value of the '{@link #getJavaClass() <em>Java Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getJavaClass() + * @generated + * @ordered + */ + protected static final String JAVA_CLASS_EDEFAULT = ""; + + /** + * The cached value of the '{@link #getJavaClass() <em>Java Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getJavaClass() + * @generated + * @ordered + */ + protected String javaClass = JAVA_CLASS_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlJavaClassRef() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PersistencePackage.Literals.XML_JAVA_CLASS_REF; + } + + /** + * Returns the value of the '<em><b>Java Class</b></em>' attribute. + * The default value is <code>""</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Java Class</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Java Class</em>' attribute. + * @see #setJavaClass(String) + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlJavaClassRef_JavaClass() + * @model default="" unique="false" ordered="false" + * @generated + */ + public String getJavaClass() + { + return javaClass; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef#getJavaClass <em>Java Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Java Class</em>' attribute. + * @see #getJavaClass() + * @generated + */ + public void setJavaClass(String newJavaClass) + { + String oldJavaClass = javaClass; + javaClass = newJavaClass; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_JAVA_CLASS_REF__JAVA_CLASS, oldJavaClass, javaClass)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case PersistencePackage.XML_JAVA_CLASS_REF__JAVA_CLASS: + return getJavaClass(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PersistencePackage.XML_JAVA_CLASS_REF__JAVA_CLASS: + setJavaClass((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_JAVA_CLASS_REF__JAVA_CLASS: + setJavaClass(JAVA_CLASS_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_JAVA_CLASS_REF__JAVA_CLASS: + return JAVA_CLASS_EDEFAULT == null ? javaClass != null : !JAVA_CLASS_EDEFAULT.equals(javaClass); + } + 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(" (javaClass: "); + result.append(javaClass); + result.append(')'); + return result.toString(); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren() + ); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildClassNameTranslator(), + }; + } + + private static Translator buildClassNameTranslator() { + return new Translator( + Translator.TEXT_ATTRIBUTE_VALUE, + PersistencePackage.eINSTANCE.getXmlJavaClassRef_JavaClass() + ); + } + + + // *********** refactoring *********** + + public ReplaceEdit createRenameEdit(IType originalType, String newName) { + String originalName = originalType.getTypeQualifiedName(); + int nameIndex = this.javaClass.lastIndexOf(originalName); + int offset = getTextNode().getStartOffset(); + return new ReplaceEdit(offset + nameIndex, originalName.length(), newName); + } + + public ReplaceEdit createRenamePackageEdit(String newPackageName) { + int packageLength = this.javaClass.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 = getTextNode().getStartOffset(); + return new ReplaceEdit(offset, packageLength, newPackageName); + } + + public TextRange getJavaClassTextRange(){ + TextRange textRange = this.buildTextRange(this.getTextNode()); + return textRange == null ? this.getValidationTextRange() : textRange; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlMappingFileRef.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlMappingFileRef.java new file mode 100644 index 0000000000..b8b9a14818 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlMappingFileRef.java @@ -0,0 +1,283 @@ +/******************************************************************************* + * Copyright (c) 2006, 2012 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.jpa.core.resource.persistence; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IFolder; +import org.eclipse.core.runtime.IPath; +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +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; +import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Mapping File Ref</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.jpa.core.resource.persistence.XmlMappingFileRef#getFileName <em>File Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlMappingFileRef() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class XmlMappingFileRef extends EBaseObjectImpl implements EBaseObject +{ + /** + * The default value of the '{@link #getFileName() <em>File Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFileName() + * @generated + * @ordered + */ + protected static final String FILE_NAME_EDEFAULT = ""; + + /** + * The cached value of the '{@link #getFileName() <em>File Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFileName() + * @generated + * @ordered + */ + protected String fileName = FILE_NAME_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlMappingFileRef() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PersistencePackage.Literals.XML_MAPPING_FILE_REF; + } + + /** + * Returns the value of the '<em><b>File Name</b></em>' attribute. + * The default value is <code>""</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>File 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>File Name</em>' attribute. + * @see #setFileName(String) + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlMappingFileRef_FileName() + * @model default="" unique="false" ordered="false" + * @generated + */ + public String getFileName() + { + return fileName; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef#getFileName <em>File Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>File Name</em>' attribute. + * @see #getFileName() + * @generated + */ + public void setFileName(String newFileName) + { + String oldFileName = fileName; + fileName = newFileName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_MAPPING_FILE_REF__FILE_NAME, oldFileName, fileName)); + } + + @Override + public EList<Adapter> eAdapters() { + // TODO Auto-generated method stub + return super.eAdapters(); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case PersistencePackage.XML_MAPPING_FILE_REF__FILE_NAME: + return getFileName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PersistencePackage.XML_MAPPING_FILE_REF__FILE_NAME: + setFileName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_MAPPING_FILE_REF__FILE_NAME: + setFileName(FILE_NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_MAPPING_FILE_REF__FILE_NAME: + return FILE_NAME_EDEFAULT == null ? fileName != null : !FILE_NAME_EDEFAULT.equals(fileName); + } + 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(" (fileName: "); + result.append(fileName); + result.append(')'); + return result.toString(); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren() + ); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildFileNameTranslator(), + }; + } + + private static Translator buildFileNameTranslator() { + return new Translator( + Translator.TEXT_ATTRIBUTE_VALUE, + PersistencePackage.eINSTANCE.getXmlMappingFileRef_FileName() + ); + } + + + public ReplaceEdit createRenameEdit(IFile originalFile, String newName) { + IDOMNode domNode = getTextNode(); + String originalName = originalFile.getName(); + int nameIndex = this.fileName.lastIndexOf(originalName); + + int offset = domNode.getStartOffset(); + return new ReplaceEdit(offset + nameIndex, originalName.length(), newName); + } + + public ReplaceEdit createRenameFolderEdit(IFolder originalFolder, String newName) { + IDOMNode domNode = getTextNode(); + String originalName = originalFolder.getName(); + int nameIndex = this.fileName.indexOf(originalName); + + int offset = domNode.getStartOffset(); + return new ReplaceEdit(offset + nameIndex, originalName.length(), newName); + } + + public ReplaceEdit createMoveEdit(IFile originalFile, IPath destination) { + String originalName = originalFile.getName(); + int nameIndex = this.fileName.lastIndexOf(originalName); + + int offset = getTextNode().getStartOffset(); + return new ReplaceEdit(offset, nameIndex - 1, destination.toString()); + } + + public ReplaceEdit createMoveEdit(IPath originalLocation, IPath destination) { + String originalName = originalLocation.toString(); + + int offset = getTextNode().getStartOffset(); + return new ReplaceEdit(offset, originalName.length(), destination.toString()); + } + + public TextRange getFileNameTextRange(){ + TextRange textRange = this.buildTextRange(this.getTextNode()); + return textRange == null ? this.getValidationTextRange() : textRange; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistence.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistence.java new file mode 100644 index 0000000000..91d6b5a009 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistence.java @@ -0,0 +1,262 @@ +/******************************************************************************* + * Copyright (c) 2006, 2012 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.jpa.core.resource.persistence; + +import java.util.Collection; +import java.util.HashMap; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleRootTranslator; +import org.eclipse.jpt.common.core.resource.xml.ERootObjectImpl; +import org.eclipse.jpt.jpa.core.internal.plugin.JptJpaCorePlugin; +import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.JPA2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>XmlPersistence</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.jpa.core.resource.persistence.XmlPersistence#getPersistenceUnits <em>Persistence Units</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistence() + * @model kind="class" + * @generated + */ +public class XmlPersistence extends ERootObjectImpl +{ + /** + * The cached value of the '{@link #getPersistenceUnits() <em>Persistence Units</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPersistenceUnits() + * @generated + * @ordered + */ + protected EList<XmlPersistenceUnit> persistenceUnits; + + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlPersistence() + { + super(); + } + + @Override + public EObject eContainer() { + return super.eContainer(); + } + + @Override + protected void eBasicSetContainer(InternalEObject newContainer, int newContainerFeatureID) { + super.eBasicSetContainer(newContainer, newContainerFeatureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PersistencePackage.Literals.XML_PERSISTENCE; + } + + /** + * Returns the value of the '<em><b>Persistence Units</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>XmlPersistence Units</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Persistence Units</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistence_PersistenceUnits() + * @model containment="true" + * @generated + */ + public EList<XmlPersistenceUnit> getPersistenceUnits() + { + if (persistenceUnits == null) + { + persistenceUnits = new EObjectContainmentEList<XmlPersistenceUnit>(XmlPersistenceUnit.class, this, PersistencePackage.XML_PERSISTENCE__PERSISTENCE_UNITS); + } + return persistenceUnits; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case PersistencePackage.XML_PERSISTENCE__PERSISTENCE_UNITS: + return ((InternalEList<?>)getPersistenceUnits()).basicRemove(otherEnd, 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 PersistencePackage.XML_PERSISTENCE__PERSISTENCE_UNITS: + return getPersistenceUnits(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PersistencePackage.XML_PERSISTENCE__PERSISTENCE_UNITS: + getPersistenceUnits().clear(); + getPersistenceUnits().addAll((Collection<? extends XmlPersistenceUnit>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_PERSISTENCE__PERSISTENCE_UNITS: + getPersistenceUnits().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_PERSISTENCE__PERSISTENCE_UNITS: + return persistenceUnits != null && !persistenceUnits.isEmpty(); + } + return super.eIsSet(featureID); + } + + + // ********** version -> schema location mapping ********** + + private static final HashMap<String, String> SCHEMA_LOCATIONS = buildSchemaLocations(); + + private static HashMap<String, String> buildSchemaLocations() { + HashMap<String, String> map = new HashMap<String, String>(); + map.put(JPA.SCHEMA_VERSION, JPA.SCHEMA_LOCATION); + map.put(JPA2_0.SCHEMA_VERSION, JPA2_0.SCHEMA_LOCATION); + return map; + } + + @Override + protected String getNamespace() { + return JPA.SCHEMA_NAMESPACE; + } + + @Override + protected HashMap<String, String> schemaLocations() { + return SCHEMA_LOCATIONS; + } + + + // ********** content/resource type ********** + + /** + * The content type for <code>persistence.xml</code> files. + */ + public static final IContentType CONTENT_TYPE = JptJpaCorePlugin.instance().getContentType("persistence"); //$NON-NLS-1$ + + + // ********** default runtime path ********** + + public static final String DEFAULT_RUNTIME_PATH_NAME = "META-INF/persistence.xml"; //$NON-NLS-1$ + + public static final IPath DEFAULT_RUNTIME_PATH = new Path(DEFAULT_RUNTIME_PATH_NAME); + + + // ********** translators ********** + + public static Translator getRootTranslator() { + return ROOT_TRANSLATOR; + } + + private static final Translator ROOT_TRANSLATOR = buildRootTranslator(); + + private static Translator buildRootTranslator() { + return new SimpleRootTranslator(JPA.PERSISTENCE, PersistencePackage.eINSTANCE.getXmlPersistence(), buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildVersionTranslator(SCHEMA_LOCATIONS), + buildNamespaceTranslator(JPA.SCHEMA_NAMESPACE), + buildSchemaNamespaceTranslator(), + buildSchemaLocationTranslator(JPA.SCHEMA_NAMESPACE, SCHEMA_LOCATIONS), + XmlPersistenceUnit.buildTranslator(JPA.PERSISTENCE_UNIT, PersistencePackage.eINSTANCE.getXmlPersistence_PersistenceUnits()) + }; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnit.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnit.java new file mode 100644 index 0000000000..413a214e44 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnit.java @@ -0,0 +1,1105 @@ +/******************************************************************************* + * Copyright (c) 2006, 2010 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.jpa.core.resource.persistence; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +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.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.BooleanTranslator; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.jpt.common.utility.internal.iterable.IterableTools; +import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.JPA2_0; +import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package; +import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0; +import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0; +import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0; +import org.eclipse.wst.common.internal.emf.resource.Translator; +import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Unit</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.jpa.core.resource.persistence.XmlPersistenceUnit#getDescription <em>Description</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProvider <em>Provider</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJtaDataSource <em>Jta Data Source</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getNonJtaDataSource <em>Non Jta Data Source</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getMappingFiles <em>Mapping Files</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJarFiles <em>Jar Files</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getClasses <em>Classes</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getExcludeUnlistedClasses <em>Exclude Unlisted Classes</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProperties <em>Properties</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getTransactionType <em>Transaction Type</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit() + * @model kind="class" + * @generated + */ +public class XmlPersistenceUnit extends EBaseObjectImpl implements XmlPersistenceUnit_2_0 +{ + /** + * 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 XmlPersistenceUnitCachingType_2_0 SHARED_CACHE_MODE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getSharedCacheMode() <em>Shared Cache Mode</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSharedCacheMode() + * @generated + * @ordered + */ + protected XmlPersistenceUnitCachingType_2_0 sharedCacheMode = SHARED_CACHE_MODE_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 XmlPersistenceUnitValidationModeType_2_0 VALIDATION_MODE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValidationMode() <em>Validation Mode</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValidationMode() + * @generated + * @ordered + */ + protected XmlPersistenceUnitValidationModeType_2_0 validationMode = VALIDATION_MODE_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 default value of the '{@link #getProvider() <em>Provider</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getProvider() + * @generated + * @ordered + */ + protected static final String PROVIDER_EDEFAULT = null; + + /** + * The cached value of the '{@link #getProvider() <em>Provider</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getProvider() + * @generated + * @ordered + */ + protected String provider = PROVIDER_EDEFAULT; + + /** + * The default value of the '{@link #getJtaDataSource() <em>Jta Data Source</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getJtaDataSource() + * @generated + * @ordered + */ + protected static final String JTA_DATA_SOURCE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getJtaDataSource() <em>Jta Data Source</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getJtaDataSource() + * @generated + * @ordered + */ + protected String jtaDataSource = JTA_DATA_SOURCE_EDEFAULT; + + /** + * The default value of the '{@link #getNonJtaDataSource() <em>Non Jta Data Source</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNonJtaDataSource() + * @generated + * @ordered + */ + protected static final String NON_JTA_DATA_SOURCE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getNonJtaDataSource() <em>Non Jta Data Source</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNonJtaDataSource() + * @generated + * @ordered + */ + protected String nonJtaDataSource = NON_JTA_DATA_SOURCE_EDEFAULT; + + /** + * The cached value of the '{@link #getMappingFiles() <em>Mapping Files</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMappingFiles() + * @generated + * @ordered + */ + protected EList<XmlMappingFileRef> mappingFiles; + + /** + * The cached value of the '{@link #getJarFiles() <em>Jar Files</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getJarFiles() + * @generated + * @ordered + */ + protected EList<XmlJarFileRef> jarFiles; + + /** + * The cached value of the '{@link #getClasses() <em>Classes</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getClasses() + * @generated + * @ordered + */ + protected EList<XmlJavaClassRef> classes; + + /** + * The default value of the '{@link #getExcludeUnlistedClasses() <em>Exclude Unlisted Classes</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getExcludeUnlistedClasses() + * @generated + * @ordered + */ + protected static final Boolean EXCLUDE_UNLISTED_CLASSES_EDEFAULT = null; + + /** + * The cached value of the '{@link #getExcludeUnlistedClasses() <em>Exclude Unlisted Classes</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getExcludeUnlistedClasses() + * @generated + * @ordered + */ + protected Boolean excludeUnlistedClasses = EXCLUDE_UNLISTED_CLASSES_EDEFAULT; + + /** + * The cached value of the '{@link #getProperties() <em>Properties</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getProperties() + * @generated + * @ordered + */ + protected XmlProperties properties; + + /** + * 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 + */ + protected static final XmlPersistenceUnitTransactionType TRANSACTION_TYPE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getTransactionType() <em>Transaction Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTransactionType() + * @generated + * @ordered + */ + protected XmlPersistenceUnitTransactionType transactionType = TRANSACTION_TYPE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlPersistenceUnit() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PersistencePackage.Literals.XML_PERSISTENCE_UNIT; + } + + /** + * Returns the value of the '<em><b>Shared Cache Mode</b></em>' attribute. + * The default value is <code>"UNSPECIFIED"</code>. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Shared Cache Mode</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Shared Cache Mode</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0 + * @see #setSharedCacheMode(XmlPersistenceUnitCachingType_2_0) + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_2_0_SharedCacheMode() + * @model default="UNSPECIFIED" unique="false" + * @generated + */ + public XmlPersistenceUnitCachingType_2_0 getSharedCacheMode() + { + return sharedCacheMode; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getSharedCacheMode <em>Shared Cache Mode</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Shared Cache Mode</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0 + * @see #getSharedCacheMode() + * @generated + */ + public void setSharedCacheMode(XmlPersistenceUnitCachingType_2_0 newSharedCacheMode) + { + XmlPersistenceUnitCachingType_2_0 oldSharedCacheMode = sharedCacheMode; + sharedCacheMode = newSharedCacheMode == null ? SHARED_CACHE_MODE_EDEFAULT : newSharedCacheMode; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__SHARED_CACHE_MODE, oldSharedCacheMode, sharedCacheMode)); + } + + /** + * Returns the value of the '<em><b>Validation Mode</b></em>' attribute. + * The default value is <code>"AUTO"</code>. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Validation Mode</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Validation Mode</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0 + * @see #setValidationMode(XmlPersistenceUnitValidationModeType_2_0) + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_2_0_ValidationMode() + * @model default="AUTO" unique="false" + * @generated + */ + public XmlPersistenceUnitValidationModeType_2_0 getValidationMode() + { + return validationMode; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getValidationMode <em>Validation Mode</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Validation Mode</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0 + * @see #getValidationMode() + * @generated + */ + public void setValidationMode(XmlPersistenceUnitValidationModeType_2_0 newValidationMode) + { + XmlPersistenceUnitValidationModeType_2_0 oldValidationMode = validationMode; + validationMode = newValidationMode == null ? VALIDATION_MODE_EDEFAULT : newValidationMode; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__VALIDATION_MODE, oldValidationMode, validationMode)); + } + + /** + * 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.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_Name() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getName() + { + return name; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#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, PersistencePackage.XML_PERSISTENCE_UNIT__NAME, oldName, name)); + } + + /** + * Returns the value of the '<em><b>Transaction Type</b></em>' attribute. + * The default value is <code>"JTA"</code>. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Transaction Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Transaction Type</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType + * @see #setTransactionType(XmlPersistenceUnitTransactionType) + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_TransactionType() + * @model default="JTA" unique="false" + * @generated + */ + public XmlPersistenceUnitTransactionType getTransactionType() + { + return transactionType; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getTransactionType <em>Transaction Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Transaction Type</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnitTransactionType + * @see #getTransactionType() + * @generated + */ + public void setTransactionType(XmlPersistenceUnitTransactionType newTransactionType) + { + XmlPersistenceUnitTransactionType oldTransactionType = transactionType; + transactionType = newTransactionType == null ? TRANSACTION_TYPE_EDEFAULT : newTransactionType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__TRANSACTION_TYPE, oldTransactionType, transactionType)); + } + + /** + * 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.persistence.PersistencePackage#getXmlPersistenceUnit_Description() + * @model unique="false" 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.persistence.XmlPersistenceUnit#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, PersistencePackage.XML_PERSISTENCE_UNIT__DESCRIPTION, oldDescription, description)); + } + + /** + * Returns the value of the '<em><b>Provider</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Provider</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Provider</em>' attribute. + * @see #setProvider(String) + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_Provider() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getProvider() + { + return provider; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProvider <em>Provider</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Provider</em>' attribute. + * @see #getProvider() + * @generated + */ + public void setProvider(String newProvider) + { + String oldProvider = provider; + provider = newProvider; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__PROVIDER, oldProvider, provider)); + } + + /** + * Returns the value of the '<em><b>Jta Data Source</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Jta Data Source</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Jta Data Source</em>' attribute. + * @see #setJtaDataSource(String) + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_JtaDataSource() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getJtaDataSource() + { + return jtaDataSource; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getJtaDataSource <em>Jta Data Source</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Jta Data Source</em>' attribute. + * @see #getJtaDataSource() + * @generated + */ + public void setJtaDataSource(String newJtaDataSource) + { + String oldJtaDataSource = jtaDataSource; + jtaDataSource = newJtaDataSource; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE, oldJtaDataSource, jtaDataSource)); + } + + /** + * Returns the value of the '<em><b>Non Jta Data Source</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Non Jta Data Source</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Non Jta Data Source</em>' attribute. + * @see #setNonJtaDataSource(String) + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_NonJtaDataSource() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getNonJtaDataSource() + { + return nonJtaDataSource; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getNonJtaDataSource <em>Non Jta Data Source</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Non Jta Data Source</em>' attribute. + * @see #getNonJtaDataSource() + * @generated + */ + public void setNonJtaDataSource(String newNonJtaDataSource) + { + String oldNonJtaDataSource = nonJtaDataSource; + nonJtaDataSource = newNonJtaDataSource; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE, oldNonJtaDataSource, nonJtaDataSource)); + } + + /** + * Returns the value of the '<em><b>Mapping Files</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Mapping Files</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Mapping Files</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_MappingFiles() + * @model containment="true" + * @generated + */ + public EList<XmlMappingFileRef> getMappingFiles() + { + if (mappingFiles == null) + { + mappingFiles = new EObjectContainmentEList<XmlMappingFileRef>(XmlMappingFileRef.class, this, PersistencePackage.XML_PERSISTENCE_UNIT__MAPPING_FILES); + } + return mappingFiles; + } + + /** + * Returns the value of the '<em><b>Jar Files</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJarFileRef}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Jar Files</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Jar Files</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_JarFiles() + * @model containment="true" + * @generated + */ + public EList<XmlJarFileRef> getJarFiles() + { + if (jarFiles == null) + { + jarFiles = new EObjectContainmentEList<XmlJarFileRef>(XmlJarFileRef.class, this, PersistencePackage.XML_PERSISTENCE_UNIT__JAR_FILES); + } + return jarFiles; + } + + /** + * Returns the value of the '<em><b>Classes</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Classes</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Classes</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_Classes() + * @model containment="true" + * @generated + */ + public EList<XmlJavaClassRef> getClasses() + { + if (classes == null) + { + classes = new EObjectContainmentEList<XmlJavaClassRef>(XmlJavaClassRef.class, this, PersistencePackage.XML_PERSISTENCE_UNIT__CLASSES); + } + return classes; + } + + /** + * Returns the value of the '<em><b>Exclude Unlisted Classes</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Exclude Unlisted Classes</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Exclude Unlisted Classes</em>' attribute. + * @see #setExcludeUnlistedClasses(Boolean) + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_ExcludeUnlistedClasses() + * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" + * @generated + */ + public Boolean getExcludeUnlistedClasses() + { + return excludeUnlistedClasses; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getExcludeUnlistedClasses <em>Exclude Unlisted Classes</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Exclude Unlisted Classes</em>' attribute. + * @see #getExcludeUnlistedClasses() + * @generated + */ + public void setExcludeUnlistedClasses(Boolean newExcludeUnlistedClasses) + { + Boolean oldExcludeUnlistedClasses = excludeUnlistedClasses; + excludeUnlistedClasses = newExcludeUnlistedClasses; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES, oldExcludeUnlistedClasses, excludeUnlistedClasses)); + } + + /** + * Returns the value of the '<em><b>Properties</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>XmlProperties</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>Properties</em>' containment reference. + * @see #setProperties(XmlProperties) + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnit_Properties() + * @model containment="true" + * @generated + */ + public XmlProperties getProperties() + { + return properties; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetProperties(XmlProperties newProperties, NotificationChain msgs) + { + XmlProperties oldProperties = properties; + properties = newProperties; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES, oldProperties, newProperties); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit#getProperties <em>Properties</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Properties</em>' containment reference. + * @see #getProperties() + * @generated + */ + public void setProperties(XmlProperties newProperties) + { + if (newProperties != properties) + { + NotificationChain msgs = null; + if (properties != null) + msgs = ((InternalEObject)properties).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES, null, msgs); + if (newProperties != null) + msgs = ((InternalEObject)newProperties).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES, null, msgs); + msgs = basicSetProperties(newProperties, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES, newProperties, newProperties)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case PersistencePackage.XML_PERSISTENCE_UNIT__MAPPING_FILES: + return ((InternalEList<?>)getMappingFiles()).basicRemove(otherEnd, msgs); + case PersistencePackage.XML_PERSISTENCE_UNIT__JAR_FILES: + return ((InternalEList<?>)getJarFiles()).basicRemove(otherEnd, msgs); + case PersistencePackage.XML_PERSISTENCE_UNIT__CLASSES: + return ((InternalEList<?>)getClasses()).basicRemove(otherEnd, msgs); + case PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES: + return basicSetProperties(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 PersistencePackage.XML_PERSISTENCE_UNIT__SHARED_CACHE_MODE: + return getSharedCacheMode(); + case PersistencePackage.XML_PERSISTENCE_UNIT__VALIDATION_MODE: + return getValidationMode(); + case PersistencePackage.XML_PERSISTENCE_UNIT__DESCRIPTION: + return getDescription(); + case PersistencePackage.XML_PERSISTENCE_UNIT__PROVIDER: + return getProvider(); + case PersistencePackage.XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE: + return getJtaDataSource(); + case PersistencePackage.XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE: + return getNonJtaDataSource(); + case PersistencePackage.XML_PERSISTENCE_UNIT__MAPPING_FILES: + return getMappingFiles(); + case PersistencePackage.XML_PERSISTENCE_UNIT__JAR_FILES: + return getJarFiles(); + case PersistencePackage.XML_PERSISTENCE_UNIT__CLASSES: + return getClasses(); + case PersistencePackage.XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES: + return getExcludeUnlistedClasses(); + case PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES: + return getProperties(); + case PersistencePackage.XML_PERSISTENCE_UNIT__NAME: + return getName(); + case PersistencePackage.XML_PERSISTENCE_UNIT__TRANSACTION_TYPE: + return getTransactionType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PersistencePackage.XML_PERSISTENCE_UNIT__SHARED_CACHE_MODE: + setSharedCacheMode((XmlPersistenceUnitCachingType_2_0)newValue); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__VALIDATION_MODE: + setValidationMode((XmlPersistenceUnitValidationModeType_2_0)newValue); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__DESCRIPTION: + setDescription((String)newValue); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__PROVIDER: + setProvider((String)newValue); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE: + setJtaDataSource((String)newValue); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE: + setNonJtaDataSource((String)newValue); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__MAPPING_FILES: + getMappingFiles().clear(); + getMappingFiles().addAll((Collection<? extends XmlMappingFileRef>)newValue); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__JAR_FILES: + getJarFiles().clear(); + getJarFiles().addAll((Collection<? extends XmlJarFileRef>)newValue); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__CLASSES: + getClasses().clear(); + getClasses().addAll((Collection<? extends XmlJavaClassRef>)newValue); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES: + setExcludeUnlistedClasses((Boolean)newValue); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES: + setProperties((XmlProperties)newValue); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__NAME: + setName((String)newValue); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__TRANSACTION_TYPE: + setTransactionType((XmlPersistenceUnitTransactionType)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_PERSISTENCE_UNIT__SHARED_CACHE_MODE: + setSharedCacheMode(SHARED_CACHE_MODE_EDEFAULT); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__VALIDATION_MODE: + setValidationMode(VALIDATION_MODE_EDEFAULT); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__DESCRIPTION: + setDescription(DESCRIPTION_EDEFAULT); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__PROVIDER: + setProvider(PROVIDER_EDEFAULT); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE: + setJtaDataSource(JTA_DATA_SOURCE_EDEFAULT); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE: + setNonJtaDataSource(NON_JTA_DATA_SOURCE_EDEFAULT); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__MAPPING_FILES: + getMappingFiles().clear(); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__JAR_FILES: + getJarFiles().clear(); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__CLASSES: + getClasses().clear(); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES: + setExcludeUnlistedClasses(EXCLUDE_UNLISTED_CLASSES_EDEFAULT); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES: + setProperties((XmlProperties)null); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__NAME: + setName(NAME_EDEFAULT); + return; + case PersistencePackage.XML_PERSISTENCE_UNIT__TRANSACTION_TYPE: + setTransactionType(TRANSACTION_TYPE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_PERSISTENCE_UNIT__SHARED_CACHE_MODE: + return sharedCacheMode != SHARED_CACHE_MODE_EDEFAULT; + case PersistencePackage.XML_PERSISTENCE_UNIT__VALIDATION_MODE: + return validationMode != VALIDATION_MODE_EDEFAULT; + case PersistencePackage.XML_PERSISTENCE_UNIT__DESCRIPTION: + return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); + case PersistencePackage.XML_PERSISTENCE_UNIT__PROVIDER: + return PROVIDER_EDEFAULT == null ? provider != null : !PROVIDER_EDEFAULT.equals(provider); + case PersistencePackage.XML_PERSISTENCE_UNIT__JTA_DATA_SOURCE: + return JTA_DATA_SOURCE_EDEFAULT == null ? jtaDataSource != null : !JTA_DATA_SOURCE_EDEFAULT.equals(jtaDataSource); + case PersistencePackage.XML_PERSISTENCE_UNIT__NON_JTA_DATA_SOURCE: + return NON_JTA_DATA_SOURCE_EDEFAULT == null ? nonJtaDataSource != null : !NON_JTA_DATA_SOURCE_EDEFAULT.equals(nonJtaDataSource); + case PersistencePackage.XML_PERSISTENCE_UNIT__MAPPING_FILES: + return mappingFiles != null && !mappingFiles.isEmpty(); + case PersistencePackage.XML_PERSISTENCE_UNIT__JAR_FILES: + return jarFiles != null && !jarFiles.isEmpty(); + case PersistencePackage.XML_PERSISTENCE_UNIT__CLASSES: + return classes != null && !classes.isEmpty(); + case PersistencePackage.XML_PERSISTENCE_UNIT__EXCLUDE_UNLISTED_CLASSES: + return EXCLUDE_UNLISTED_CLASSES_EDEFAULT == null ? excludeUnlistedClasses != null : !EXCLUDE_UNLISTED_CLASSES_EDEFAULT.equals(excludeUnlistedClasses); + case PersistencePackage.XML_PERSISTENCE_UNIT__PROPERTIES: + return properties != null; + case PersistencePackage.XML_PERSISTENCE_UNIT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case PersistencePackage.XML_PERSISTENCE_UNIT__TRANSACTION_TYPE: + return transactionType != TRANSACTION_TYPE_EDEFAULT; + } + 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(" (sharedCacheMode: "); + result.append(sharedCacheMode); + result.append(", validationMode: "); + result.append(validationMode); + result.append(", description: "); + result.append(description); + result.append(", provider: "); + result.append(provider); + result.append(", jtaDataSource: "); + result.append(jtaDataSource); + result.append(", nonJtaDataSource: "); + result.append(nonJtaDataSource); + result.append(", excludeUnlistedClasses: "); + result.append(excludeUnlistedClasses); + result.append(", name: "); + result.append(name); + result.append(", transactionType: "); + result.append(transactionType); + result.append(')'); + return result.toString(); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + PersistencePackage pkg = PersistencePackage.eINSTANCE; + return new Translator[] { + buildNameTranslator(), + buildTransactionTypeTranslator(), + buildDescriptionTranslator(), + buildProviderTranslator(), + buildJtaDataSourceTranslator(), + buildNonJtaDataSourceTranslator(), + XmlMappingFileRef.buildTranslator(JPA.MAPPING_FILE, pkg.getXmlPersistenceUnit_MappingFiles()), + XmlJarFileRef.buildTranslator(JPA.JAR_FILE, pkg.getXmlPersistenceUnit_JarFiles()), + XmlJavaClassRef.buildTranslator(JPA.CLASS, pkg.getXmlPersistenceUnit_Classes()), + buildExcludeUnlistedClassesTranslator(), + buildSharedCacheModeTranslator(), + buildValidationModeTranslator(), + XmlProperties.buildTranslator(JPA.PROPERTIES, pkg.getXmlPersistenceUnit_Properties())}; + } + + protected static Translator buildNameTranslator() { + return new Translator( + JPA.PERSISTENCE_UNIT__NAME, + PersistencePackage.eINSTANCE.getXmlPersistenceUnit_Name(), + Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildTransactionTypeTranslator() { + return new Translator( + JPA.PERSISTENCE_UNIT__TRANSACTION_TYPE, + PersistencePackage.eINSTANCE.getXmlPersistenceUnit_TransactionType(), + Translator.DOM_ATTRIBUTE | Translator.UNSET_IF_NULL); + } + + protected static Translator buildDescriptionTranslator() { + return new Translator( + JPA.DESCRIPTION, + PersistencePackage.eINSTANCE.getXmlPersistenceUnit_Description()); + } + + protected static Translator buildProviderTranslator() { + return new Translator( + JPA.PROVIDER, + PersistencePackage.eINSTANCE.getXmlPersistenceUnit_Provider()); + } + + protected static Translator buildJtaDataSourceTranslator() { + return new Translator( + JPA.JTA_DATA_SOURCE, + PersistencePackage.eINSTANCE.getXmlPersistenceUnit_JtaDataSource()); + } + + protected static Translator buildNonJtaDataSourceTranslator() { + return new Translator( + JPA.NON_JTA_DATA_SOURCE, + PersistencePackage.eINSTANCE.getXmlPersistenceUnit_NonJtaDataSource()); + } + + protected static Translator buildExcludeUnlistedClassesTranslator() { + return new BooleanTranslator( + JPA.EXCLUDE_UNLISTED_CLASSES, + PersistencePackage.eINSTANCE.getXmlPersistenceUnit_ExcludeUnlistedClasses()); + } + + protected static Translator buildSharedCacheModeTranslator() { + return new Translator( + JPA2_0.PERSISTENCE_UNIT__SHARED_CACHE_MODE, + PersistenceV2_0Package.eINSTANCE.getXmlPersistenceUnit_2_0_SharedCacheMode()); + } + + protected static Translator buildValidationModeTranslator() { + return new Translator( + JPA2_0.PERSISTENCE_UNIT__VALIDATION_MODE, + PersistenceV2_0Package.eINSTANCE.getXmlPersistenceUnit_2_0_ValidationMode()); + } + + + public int getLocationToInsertMappingFileRef() { + if (getMappingFiles().size() > 0) { + XmlMappingFileRef mappingFileRef = IterableTools.last(this.getMappingFiles()); + return mappingFileRef.getNodeEndOffset(); + } + + IDOMNode elementNode = null; + if (getNonJtaDataSource() != null) { + elementNode = getElementNode(JPA.NON_JTA_DATA_SOURCE); + } + else if (getJtaDataSource() != null) { + elementNode = getElementNode(JPA.JTA_DATA_SOURCE); + } + else if (getProvider() != null) { + elementNode = getElementNode(JPA.PROVIDER); + } + else if (getDescription() != null) { + elementNode = getElementNode(JPA.DESCRIPTION); + } + if (elementNode != null) { + return elementNode.getLastStructuredDocumentRegion().getEnd(); + } + return this.node.getFirstStructuredDocumentRegion().getEnd(); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnitTransactionType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnitTransactionType.java new file mode 100644 index 0000000000..1935e3abb4 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlPersistenceUnitTransactionType.java @@ -0,0 +1,236 @@ +/******************************************************************************* + * Copyright (c) 2006, 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.jpa.core.resource.persistence; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Unit Transaction Type</b></em>', + * and utility methods for working with them. + * + * 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.jpa.core.resource.persistence.PersistencePackage#getXmlPersistenceUnitTransactionType() + * @model + * @generated + */ +public enum XmlPersistenceUnitTransactionType implements Enumerator +{ + /** + * The '<em><b>JTA</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #JTA_VALUE + * @generated + * @ordered + */ + JTA(0, "JTA", "JTA"), + + /** + * The '<em><b>RESOURCE LOCAL</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #RESOURCE_LOCAL_VALUE + * @generated + * @ordered + */ + RESOURCE_LOCAL(1, "RESOURCE_LOCAL", "RESOURCE_LOCAL"); + + /** + * The '<em><b>JTA</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>JTA</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #JTA + * @model + * @generated + * @ordered + */ + public static final int JTA_VALUE = 0; + + /** + * The '<em><b>RESOURCE LOCAL</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>RESOURCE LOCAL</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #RESOURCE_LOCAL + * @model + * @generated + * @ordered + */ + public static final int RESOURCE_LOCAL_VALUE = 1; + + /** + * An array of all the '<em><b>Xml Persistence Unit Transaction Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final XmlPersistenceUnitTransactionType[] VALUES_ARRAY = + new XmlPersistenceUnitTransactionType[] + { + JTA, + RESOURCE_LOCAL, + }; + + /** + * A public read-only list of all the '<em><b>Xml Persistence Unit Transaction Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<XmlPersistenceUnitTransactionType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Xml Persistence Unit Transaction Type</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static XmlPersistenceUnitTransactionType get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + XmlPersistenceUnitTransactionType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Xml Persistence Unit Transaction Type</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static XmlPersistenceUnitTransactionType getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + XmlPersistenceUnitTransactionType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Xml Persistence Unit Transaction Type</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static XmlPersistenceUnitTransactionType get(int value) + { + switch (value) + { + case JTA_VALUE: return JTA; + case RESOURCE_LOCAL_VALUE: return RESOURCE_LOCAL; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private XmlPersistenceUnitTransactionType(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //XmlPersistenceUnitTransactionType diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperties.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperties.java new file mode 100644 index 0000000000..1d6a86c156 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperties.java @@ -0,0 +1,202 @@ +/******************************************************************************* + * Copyright (c) 2006, 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.jpa.core.resource.persistence; + +import java.util.Collection; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>XmlProperties</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.jpa.core.resource.persistence.XmlProperties#getProperties <em>Properties</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperties() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class XmlProperties extends EBaseObjectImpl implements EBaseObject +{ + /** + * The cached value of the '{@link #getProperties() <em>Properties</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getProperties() + * @generated + * @ordered + */ + protected EList<XmlProperty> properties; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlProperties() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PersistencePackage.Literals.XML_PROPERTIES; + } + + /** + * Returns the value of the '<em><b>Properties</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>XmlProperties</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Properties</em>' containment reference list. + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperties_Properties() + * @model containment="true" + * @generated + */ + public EList<XmlProperty> getProperties() + { + if (properties == null) + { + properties = new EObjectContainmentEList<XmlProperty>(XmlProperty.class, this, PersistencePackage.XML_PROPERTIES__PROPERTIES); + } + return properties; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case PersistencePackage.XML_PROPERTIES__PROPERTIES: + return ((InternalEList<?>)getProperties()).basicRemove(otherEnd, 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 PersistencePackage.XML_PROPERTIES__PROPERTIES: + return getProperties(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PersistencePackage.XML_PROPERTIES__PROPERTIES: + getProperties().clear(); + getProperties().addAll((Collection<? extends XmlProperty>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_PROPERTIES__PROPERTIES: + getProperties().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_PROPERTIES__PROPERTIES: + return properties != null && !properties.isEmpty(); + } + return super.eIsSet(featureID); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator(elementName, structuralFeature, buildTranslatorChildren()); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + XmlProperty.buildTranslator(JPA.PROPERTY, PersistencePackage.eINSTANCE.getXmlProperties_Properties()), + }; + } + +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperty.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperty.java new file mode 100644 index 0000000000..bdbcac6712 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/XmlProperty.java @@ -0,0 +1,322 @@ +/******************************************************************************* + * Copyright (c) 2006, 2010 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.jpa.core.resource.persistence; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.jdt.core.IType; +import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; +import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl; +import org.eclipse.text.edits.ReplaceEdit; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>XmlProperty</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.jpa.core.resource.persistence.XmlProperty#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperty() + * @model kind="class" + * @extends EBaseObject + * @generated + */ +public class XmlProperty extends EBaseObjectImpl implements EBaseObject +{ + /** + * 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 #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected static final String VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected String value = VALUE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XmlProperty() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return PersistencePackage.Literals.XML_PROPERTY; + } + + /** + * 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.jpa.core.resource.persistence.PersistencePackage#getXmlProperty_Name() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getName() + { + return name; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#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, PersistencePackage.XML_PROPERTY__NAME, oldName, name)); + } + + /** + * Returns the value of the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' attribute. + * @see #setValue(String) + * @see org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage#getXmlProperty_Value() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * @generated + */ + public String getValue() + { + return value; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.XmlProperty#getValue <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Value</em>' attribute. + * @see #getValue() + * @generated + */ + public void setValue(String newValue) + { + String oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PersistencePackage.XML_PROPERTY__VALUE, oldValue, value)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case PersistencePackage.XML_PROPERTY__NAME: + return getName(); + case PersistencePackage.XML_PROPERTY__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case PersistencePackage.XML_PROPERTY__NAME: + setName((String)newValue); + return; + case PersistencePackage.XML_PROPERTY__VALUE: + setValue((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_PROPERTY__NAME: + setName(NAME_EDEFAULT); + return; + case PersistencePackage.XML_PROPERTY__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case PersistencePackage.XML_PROPERTY__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case PersistencePackage.XML_PROPERTY__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + } + return super.eIsSet(featureID); + } + + + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(", value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + + + // ********** translators ********** + + public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { + return new SimpleTranslator( + elementName, + structuralFeature, + Translator.END_TAG_NO_INDENT, + buildTranslatorChildren() + ); + } + + private static Translator[] buildTranslatorChildren() { + return new Translator[] { + buildNameTranslator(), + buildValueTranslator() + }; + } + + private static Translator buildNameTranslator() { + return new Translator( + JPA.PROPERTY__NAME, + PersistencePackage.eINSTANCE.getXmlProperty_Name(), + Translator.DOM_ATTRIBUTE + ); + } + + private static Translator buildValueTranslator() { + return new Translator( + JPA.PROPERTY__VALUE, + PersistencePackage.eINSTANCE.getXmlProperty_Value(), + Translator.DOM_ATTRIBUTE + ); + } + + public ReplaceEdit createRenameTypeEdit(IType originalType, String newName) { + String originalName = originalType.getElementName(); + int nameIndex = originalType.getFullyQualifiedName('.').lastIndexOf(originalName); + + int offset = getAttributeNode(JPA.PROPERTY__VALUE).getValueRegionStartOffset() + 1; + return new ReplaceEdit(offset + nameIndex, originalName.length(), newName); + } + + public ReplaceEdit createRenamePackageEdit(String newName) { + int packageLength = this.value.lastIndexOf('.'); + + int offset = getAttributeNode(JPA.PROPERTY__VALUE).getValueRegionStartOffset() + 1; + return new ReplaceEdit(offset, packageLength, newName); + } + +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Factory.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Factory.java new file mode 100644 index 0000000000..c3ae90621d --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Factory.java @@ -0,0 +1,192 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.persistence.v2_0; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.impl.EFactoryImpl; +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package + * @generated + */ +public class PersistenceV2_0Factory extends EFactoryImpl +{ + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final PersistenceV2_0Factory eINSTANCE = init(); + + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static PersistenceV2_0Factory init() + { + try + { + PersistenceV2_0Factory thePersistenceV2_0Factory = (PersistenceV2_0Factory)EPackage.Registry.INSTANCE.getEFactory("jpt.persistence.v2_0.xmi"); + if (thePersistenceV2_0Factory != null) + { + return thePersistenceV2_0Factory; + } + } + catch (Exception exception) + { + EcorePlugin.INSTANCE.log(exception); + } + return new PersistenceV2_0Factory(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PersistenceV2_0Factory() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) + { + switch (eClass.getClassifierID()) + { + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object createFromString(EDataType eDataType, String initialValue) + { + switch (eDataType.getClassifierID()) + { + case PersistenceV2_0Package.XML_PERSISTENCE_UNIT_CACHING_TYPE_20: + return createXmlPersistenceUnitCachingType_2_0FromString(eDataType, initialValue); + case PersistenceV2_0Package.XML_PERSISTENCE_UNIT_VALIDATION_MODE_TYPE_20: + return createXmlPersistenceUnitValidationModeType_2_0FromString(eDataType, initialValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String convertToString(EDataType eDataType, Object instanceValue) + { + switch (eDataType.getClassifierID()) + { + case PersistenceV2_0Package.XML_PERSISTENCE_UNIT_CACHING_TYPE_20: + return convertXmlPersistenceUnitCachingType_2_0ToString(eDataType, instanceValue); + case PersistenceV2_0Package.XML_PERSISTENCE_UNIT_VALIDATION_MODE_TYPE_20: + return convertXmlPersistenceUnitValidationModeType_2_0ToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlPersistenceUnitCachingType_2_0 createXmlPersistenceUnitCachingType_2_0FromString(EDataType eDataType, String initialValue) + { + XmlPersistenceUnitCachingType_2_0 result = XmlPersistenceUnitCachingType_2_0.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertXmlPersistenceUnitCachingType_2_0ToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XmlPersistenceUnitValidationModeType_2_0 createXmlPersistenceUnitValidationModeType_2_0FromString(EDataType eDataType, String initialValue) + { + XmlPersistenceUnitValidationModeType_2_0 result = XmlPersistenceUnitValidationModeType_2_0.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertXmlPersistenceUnitValidationModeType_2_0ToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PersistenceV2_0Package getPersistenceV2_0Package() + { + return (PersistenceV2_0Package)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static PersistenceV2_0Package getPackage() + { + return PersistenceV2_0Package.eINSTANCE; + } + +} //PersistenceV2_0Factory diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Package.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Package.java new file mode 100644 index 0000000000..7a6081d216 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/PersistenceV2_0Package.java @@ -0,0 +1,450 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.persistence.v2_0; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecore.impl.EPackageImpl; +import org.eclipse.jpt.common.core.resource.xml.CommonPackage; +import org.eclipse.jpt.jpa.core.resource.orm.OrmPackage; +import org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package; +import org.eclipse.jpt.jpa.core.resource.persistence.PersistencePackage; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Factory + * @model kind="package" + * @generated + */ +public class PersistenceV2_0Package extends EPackageImpl +{ + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String eNAME = "v2_0"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String eNS_URI = "jpt.persistence.v2_0.xmi"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String eNS_PREFIX = "org.eclipse.jpt.jpa.core.resource.persistence.v2_0"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final PersistenceV2_0Package eINSTANCE = org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package.init(); + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0 <em>Xml Persistence Unit 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0 + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnit_2_0() + * @generated + */ + public static final int XML_PERSISTENCE_UNIT_20 = 0; + + /** + * The feature id for the '<em><b>Shared Cache Mode</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_20__SHARED_CACHE_MODE = 0; + + /** + * The feature id for the '<em><b>Validation Mode</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_20__VALIDATION_MODE = 1; + + /** + * The number of structural features of the '<em>Xml Persistence Unit 20</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_PERSISTENCE_UNIT_20_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0 <em>Xml Persistence Unit Caching Type 20</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0 + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnitCachingType_2_0() + * @generated + */ + public static final int XML_PERSISTENCE_UNIT_CACHING_TYPE_20 = 1; + + /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0 <em>Xml Persistence Unit Validation Mode Type 20</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0 + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnitValidationModeType_2_0() + * @generated + */ + public static final int XML_PERSISTENCE_UNIT_VALIDATION_MODE_TYPE_20 = 2; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass xmlPersistenceUnit_2_0EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum xmlPersistenceUnitCachingType_2_0EEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum xmlPersistenceUnitValidationModeType_2_0EEnum = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#eNS_URI + * @see #init() + * @generated + */ + private PersistenceV2_0Package() + { + super(eNS_URI, PersistenceV2_0Factory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link PersistenceV2_0Package#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static PersistenceV2_0Package init() + { + if (isInited) return (PersistenceV2_0Package)EPackage.Registry.INSTANCE.getEPackage(PersistenceV2_0Package.eNS_URI); + + // Obtain or create and register package + PersistenceV2_0Package thePersistenceV2_0Package = (PersistenceV2_0Package)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PersistenceV2_0Package ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PersistenceV2_0Package()); + + isInited = true; + + // Initialize simple dependencies + CommonPackage.eINSTANCE.eClass(); + EcorePackage.eINSTANCE.eClass(); + + // Obtain or create and register interdependencies + OrmPackage theOrmPackage = (OrmPackage)(EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI) instanceof OrmPackage ? EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI) : OrmPackage.eINSTANCE); + OrmV2_0Package theOrmV2_0Package = (OrmV2_0Package)(EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI) instanceof OrmV2_0Package ? EPackage.Registry.INSTANCE.getEPackage(OrmV2_0Package.eNS_URI) : OrmV2_0Package.eINSTANCE); + PersistencePackage thePersistencePackage = (PersistencePackage)(EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI) instanceof PersistencePackage ? EPackage.Registry.INSTANCE.getEPackage(PersistencePackage.eNS_URI) : PersistencePackage.eINSTANCE); + + // Create package meta-data objects + thePersistenceV2_0Package.createPackageContents(); + theOrmPackage.createPackageContents(); + theOrmV2_0Package.createPackageContents(); + thePersistencePackage.createPackageContents(); + + // Initialize created meta-data + thePersistenceV2_0Package.initializePackageContents(); + theOrmPackage.initializePackageContents(); + theOrmV2_0Package.initializePackageContents(); + thePersistencePackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + thePersistenceV2_0Package.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(PersistenceV2_0Package.eNS_URI, thePersistenceV2_0Package); + return thePersistenceV2_0Package; + } + + + /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0 <em>Xml Persistence Unit 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Persistence Unit 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0 + * @generated + */ + public EClass getXmlPersistenceUnit_2_0() + { + return xmlPersistenceUnit_2_0EClass; + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getSharedCacheMode <em>Shared Cache Mode</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Shared Cache Mode</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getSharedCacheMode() + * @see #getXmlPersistenceUnit_2_0() + * @generated + */ + public EAttribute getXmlPersistenceUnit_2_0_SharedCacheMode() + { + return (EAttribute)xmlPersistenceUnit_2_0EClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getValidationMode <em>Validation Mode</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Validation Mode</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getValidationMode() + * @see #getXmlPersistenceUnit_2_0() + * @generated + */ + public EAttribute getXmlPersistenceUnit_2_0_ValidationMode() + { + return (EAttribute)xmlPersistenceUnit_2_0EClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0 <em>Xml Persistence Unit Caching Type 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Xml Persistence Unit Caching Type 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0 + * @generated + */ + public EEnum getXmlPersistenceUnitCachingType_2_0() + { + return xmlPersistenceUnitCachingType_2_0EEnum; + } + + /** + * Returns the meta object for enum '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0 <em>Xml Persistence Unit Validation Mode Type 20</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Xml Persistence Unit Validation Mode Type 20</em>'. + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0 + * @generated + */ + public EEnum getXmlPersistenceUnitValidationModeType_2_0() + { + return xmlPersistenceUnitValidationModeType_2_0EEnum; + } + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + public PersistenceV2_0Factory getPersistenceV2_0Factory() + { + return (PersistenceV2_0Factory)getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() + { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + xmlPersistenceUnit_2_0EClass = createEClass(XML_PERSISTENCE_UNIT_20); + createEAttribute(xmlPersistenceUnit_2_0EClass, XML_PERSISTENCE_UNIT_20__SHARED_CACHE_MODE); + createEAttribute(xmlPersistenceUnit_2_0EClass, XML_PERSISTENCE_UNIT_20__VALIDATION_MODE); + + // Create enums + xmlPersistenceUnitCachingType_2_0EEnum = createEEnum(XML_PERSISTENCE_UNIT_CACHING_TYPE_20); + xmlPersistenceUnitValidationModeType_2_0EEnum = createEEnum(XML_PERSISTENCE_UNIT_VALIDATION_MODE_TYPE_20); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() + { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + + // Initialize classes and features; add operations and parameters + initEClass(xmlPersistenceUnit_2_0EClass, XmlPersistenceUnit_2_0.class, "XmlPersistenceUnit_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlPersistenceUnit_2_0_SharedCacheMode(), this.getXmlPersistenceUnitCachingType_2_0(), "sharedCacheMode", "UNSPECIFIED", 0, 1, XmlPersistenceUnit_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlPersistenceUnit_2_0_ValidationMode(), this.getXmlPersistenceUnitValidationModeType_2_0(), "validationMode", "AUTO", 0, 1, XmlPersistenceUnit_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Initialize enums and add enum literals + initEEnum(xmlPersistenceUnitCachingType_2_0EEnum, XmlPersistenceUnitCachingType_2_0.class, "XmlPersistenceUnitCachingType_2_0"); + addEEnumLiteral(xmlPersistenceUnitCachingType_2_0EEnum, XmlPersistenceUnitCachingType_2_0.ALL); + addEEnumLiteral(xmlPersistenceUnitCachingType_2_0EEnum, XmlPersistenceUnitCachingType_2_0.NONE); + addEEnumLiteral(xmlPersistenceUnitCachingType_2_0EEnum, XmlPersistenceUnitCachingType_2_0.ENABLE_SELECTIVE); + addEEnumLiteral(xmlPersistenceUnitCachingType_2_0EEnum, XmlPersistenceUnitCachingType_2_0.DISABLE_SELECTIVE); + addEEnumLiteral(xmlPersistenceUnitCachingType_2_0EEnum, XmlPersistenceUnitCachingType_2_0.UNSPECIFIED); + + initEEnum(xmlPersistenceUnitValidationModeType_2_0EEnum, XmlPersistenceUnitValidationModeType_2_0.class, "XmlPersistenceUnitValidationModeType_2_0"); + addEEnumLiteral(xmlPersistenceUnitValidationModeType_2_0EEnum, XmlPersistenceUnitValidationModeType_2_0.AUTO); + addEEnumLiteral(xmlPersistenceUnitValidationModeType_2_0EEnum, XmlPersistenceUnitValidationModeType_2_0.CALLBACK); + addEEnumLiteral(xmlPersistenceUnitValidationModeType_2_0EEnum, XmlPersistenceUnitValidationModeType_2_0.NONE); + } + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + public interface Literals + { + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0 <em>Xml Persistence Unit 20</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0 + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnit_2_0() + * @generated + */ + public static final EClass XML_PERSISTENCE_UNIT_20 = eINSTANCE.getXmlPersistenceUnit_2_0(); + + /** + * The meta object literal for the '<em><b>Shared Cache Mode</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT_20__SHARED_CACHE_MODE = eINSTANCE.getXmlPersistenceUnit_2_0_SharedCacheMode(); + + /** + * The meta object literal for the '<em><b>Validation Mode</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_PERSISTENCE_UNIT_20__VALIDATION_MODE = eINSTANCE.getXmlPersistenceUnit_2_0_ValidationMode(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0 <em>Xml Persistence Unit Caching Type 20</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0 + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnitCachingType_2_0() + * @generated + */ + public static final EEnum XML_PERSISTENCE_UNIT_CACHING_TYPE_20 = eINSTANCE.getXmlPersistenceUnitCachingType_2_0(); + + /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0 <em>Xml Persistence Unit Validation Mode Type 20</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0 + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnitValidationModeType_2_0() + * @generated + */ + public static final EEnum XML_PERSISTENCE_UNIT_VALIDATION_MODE_TYPE_20 = eINSTANCE.getXmlPersistenceUnitValidationModeType_2_0(); + + } + +} //PersistenceV2_0Package diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitCachingType_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitCachingType_2_0.java new file mode 100644 index 0000000000..9adf1f8d93 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitCachingType_2_0.java @@ -0,0 +1,312 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.persistence.v2_0; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Xml Persistence Unit Caching Type 20</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnitCachingType_2_0() + * @model + * @generated + */ +public enum XmlPersistenceUnitCachingType_2_0 implements Enumerator +{ + /** + * The '<em><b>ALL</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #ALL_VALUE + * @generated + * @ordered + */ + ALL(0, "ALL", "ALL"), + + /** + * The '<em><b>NONE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #NONE_VALUE + * @generated + * @ordered + */ + NONE(1, "NONE", "NONE"), + + /** + * The '<em><b>ENABLE SELECTIVE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #ENABLE_SELECTIVE_VALUE + * @generated + * @ordered + */ + ENABLE_SELECTIVE(2, "ENABLE_SELECTIVE", "ENABLE_SELECTIVE"), + + /** + * The '<em><b>DISABLE SELECTIVE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #DISABLE_SELECTIVE_VALUE + * @generated + * @ordered + */ + DISABLE_SELECTIVE(3, "DISABLE_SELECTIVE", "DISABLE_SELECTIVE"), + + /** + * The '<em><b>UNSPECIFIED</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #UNSPECIFIED_VALUE + * @generated + * @ordered + */ + UNSPECIFIED(4, "UNSPECIFIED", "UNSPECIFIED"); + + /** + * The '<em><b>ALL</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>ALL</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #ALL + * @model + * @generated + * @ordered + */ + public static final int ALL_VALUE = 0; + + /** + * The '<em><b>NONE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>NONE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #NONE + * @model + * @generated + * @ordered + */ + public static final int NONE_VALUE = 1; + + /** + * The '<em><b>ENABLE SELECTIVE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>ENABLE SELECTIVE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #ENABLE_SELECTIVE + * @model + * @generated + * @ordered + */ + public static final int ENABLE_SELECTIVE_VALUE = 2; + + /** + * The '<em><b>DISABLE SELECTIVE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>DISABLE SELECTIVE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #DISABLE_SELECTIVE + * @model + * @generated + * @ordered + */ + public static final int DISABLE_SELECTIVE_VALUE = 3; + + /** + * The '<em><b>UNSPECIFIED</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>UNSPECIFIED</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #UNSPECIFIED + * @model + * @generated + * @ordered + */ + public static final int UNSPECIFIED_VALUE = 4; + + /** + * An array of all the '<em><b>Xml Persistence Unit Caching Type 20</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final XmlPersistenceUnitCachingType_2_0[] VALUES_ARRAY = + new XmlPersistenceUnitCachingType_2_0[] + { + ALL, + NONE, + ENABLE_SELECTIVE, + DISABLE_SELECTIVE, + UNSPECIFIED, + }; + + /** + * A public read-only list of all the '<em><b>Xml Persistence Unit Caching Type 20</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<XmlPersistenceUnitCachingType_2_0> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Xml Persistence Unit Caching Type 20</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static XmlPersistenceUnitCachingType_2_0 get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + XmlPersistenceUnitCachingType_2_0 result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Xml Persistence Unit Caching Type 20</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static XmlPersistenceUnitCachingType_2_0 getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + XmlPersistenceUnitCachingType_2_0 result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Xml Persistence Unit Caching Type 20</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static XmlPersistenceUnitCachingType_2_0 get(int value) + { + switch (value) + { + case ALL_VALUE: return ALL; + case NONE_VALUE: return NONE; + case ENABLE_SELECTIVE_VALUE: return ENABLE_SELECTIVE; + case DISABLE_SELECTIVE_VALUE: return DISABLE_SELECTIVE; + case UNSPECIFIED_VALUE: return UNSPECIFIED; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private XmlPersistenceUnitCachingType_2_0(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //XmlPersistenceUnitCachingType_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitValidationModeType_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitValidationModeType_2_0.java new file mode 100644 index 0000000000..437b260ed9 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnitValidationModeType_2_0.java @@ -0,0 +1,258 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.persistence.v2_0; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Xml Persistence Unit Validation Mode Type 20</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnitValidationModeType_2_0() + * @model + * @generated + */ +public enum XmlPersistenceUnitValidationModeType_2_0 implements Enumerator +{ + /** + * The '<em><b>AUTO</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #AUTO_VALUE + * @generated + * @ordered + */ + AUTO(0, "AUTO", "AUTO"), + + /** + * The '<em><b>CALLBACK</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #CALLBACK_VALUE + * @generated + * @ordered + */ + CALLBACK(1, "CALLBACK", "CALLBACK"), + + /** + * The '<em><b>NONE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #NONE_VALUE + * @generated + * @ordered + */ + NONE(2, "NONE", "NONE"); + + /** + * The '<em><b>AUTO</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>AUTO</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #AUTO + * @model + * @generated + * @ordered + */ + public static final int AUTO_VALUE = 0; + + /** + * The '<em><b>CALLBACK</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>CALLBACK</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #CALLBACK + * @model + * @generated + * @ordered + */ + public static final int CALLBACK_VALUE = 1; + + /** + * The '<em><b>NONE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>NONE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #NONE + * @model + * @generated + * @ordered + */ + public static final int NONE_VALUE = 2; + + /** + * An array of all the '<em><b>Xml Persistence Unit Validation Mode Type 20</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final XmlPersistenceUnitValidationModeType_2_0[] VALUES_ARRAY = + new XmlPersistenceUnitValidationModeType_2_0[] + { + AUTO, + CALLBACK, + NONE, + }; + + /** + * A public read-only list of all the '<em><b>Xml Persistence Unit Validation Mode Type 20</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<XmlPersistenceUnitValidationModeType_2_0> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Xml Persistence Unit Validation Mode Type 20</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static XmlPersistenceUnitValidationModeType_2_0 get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + XmlPersistenceUnitValidationModeType_2_0 result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Xml Persistence Unit Validation Mode Type 20</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static XmlPersistenceUnitValidationModeType_2_0 getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + XmlPersistenceUnitValidationModeType_2_0 result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Xml Persistence Unit Validation Mode Type 20</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static XmlPersistenceUnitValidationModeType_2_0 get(int value) + { + switch (value) + { + case AUTO_VALUE: return AUTO; + case CALLBACK_VALUE: return CALLBACK; + case NONE_VALUE: return NONE; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private XmlPersistenceUnitValidationModeType_2_0(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //XmlPersistenceUnitValidationModeType_2_0 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnit_2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnit_2_0.java new file mode 100644 index 0000000000..57539f05f8 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/persistence/v2_0/XmlPersistenceUnit_2_0.java @@ -0,0 +1,96 @@ +/******************************************************************************* + * Copyright (c) 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.jpa.core.resource.persistence.v2_0; + +import org.eclipse.jpt.common.core.resource.xml.EBaseObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Persistence Unit 20</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getSharedCacheMode <em>Shared Cache Mode</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getValidationMode <em>Validation Mode</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnit_2_0() + * @model kind="class" interface="true" abstract="true" + * @extends EBaseObject + * @generated + */ +public interface XmlPersistenceUnit_2_0 extends EBaseObject +{ + /** + * Returns the value of the '<em><b>Shared Cache Mode</b></em>' attribute. + * The default value is <code>"UNSPECIFIED"</code>. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Shared Cache Mode</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Shared Cache Mode</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0 + * @see #setSharedCacheMode(XmlPersistenceUnitCachingType_2_0) + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnit_2_0_SharedCacheMode() + * @model default="UNSPECIFIED" unique="false" + * @generated + */ + XmlPersistenceUnitCachingType_2_0 getSharedCacheMode(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getSharedCacheMode <em>Shared Cache Mode</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Shared Cache Mode</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitCachingType_2_0 + * @see #getSharedCacheMode() + * @generated + */ + void setSharedCacheMode(XmlPersistenceUnitCachingType_2_0 value); + + /** + * Returns the value of the '<em><b>Validation Mode</b></em>' attribute. + * The default value is <code>"AUTO"</code>. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Validation Mode</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Validation Mode</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0 + * @see #setValidationMode(XmlPersistenceUnitValidationModeType_2_0) + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Package#getXmlPersistenceUnit_2_0_ValidationMode() + * @model default="AUTO" unique="false" + * @generated + */ + XmlPersistenceUnitValidationModeType_2_0 getValidationMode(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnit_2_0#getValidationMode <em>Validation Mode</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Validation Mode</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.persistence.v2_0.XmlPersistenceUnitValidationModeType_2_0 + * @see #getValidationMode() + * @generated + */ + void setValidationMode(XmlPersistenceUnitValidationModeType_2_0 value); + +} // XmlPersistenceUnit_2_0 |