/******************************************************************************* * 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.eclipselink.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.EObjectResolvingEList; 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.resource.orm.JPA; import org.eclipse.jpt.jpa.core.resource.orm.OrmPackage; import org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride; import org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer; import org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride; 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.v2_1.OrmV2_1Package; import org.eclipse.jpt.jpa.core.resource.orm.v2_1.XmlConverterContainer_2_1; import org.eclipse.jpt.jpa.core.resource.orm.v2_1.XmlConverter_2_1; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLink2_1; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLink2_3; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLinkOrmV2_3Package; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlEmbeddable_2_3; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlPlsqlRecord_2_3; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlStruct_2_3; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_4.EclipseLink2_4; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_4.EclipseLinkOrmV2_4Package; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_4.XmlEmbeddable_2_4; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_4.XmlNoSql_2_4; import org.eclipse.wst.common.internal.emf.resource.Translator; /** * * * A representation of the model object 'Xml Embeddable'. * * 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. * * @version 2.3 * @since 2.1 * * * *

* The following features are supported: *

*

* * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddable() * @model kind="class" * @generated */ public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable implements XmlTypeMapping, XmlEmbeddable_2_2, XmlEmbeddable_2_3, XmlEmbeddable_2_4, XmlCustomizerHolder, XmlChangeTrackingHolder, XmlConverterContainer, XmlPropertyContainer { /** * The cached value of the '{@link #getAccessMethods() Access Methods}' containment reference. * * * @see #getAccessMethods() * @generated * @ordered */ protected XmlAccessMethods accessMethods; /** * The default value of the '{@link #getParentClass() Parent Class}' attribute. * * * @see #getParentClass() * @generated * @ordered */ protected static final String PARENT_CLASS_EDEFAULT = null; /** * The cached value of the '{@link #getParentClass() Parent Class}' attribute. * * * @see #getParentClass() * @generated * @ordered */ protected String parentClass = PARENT_CLASS_EDEFAULT; /** * The cached value of the '{@link #getAttributeOverrides() Attribute Overrides}' containment reference list. * * * @see #getAttributeOverrides() * @generated * @ordered */ protected EList attributeOverrides; /** * The cached value of the '{@link #getAssociationOverrides() Association Overrides}' containment reference list. * * * @see #getAssociationOverrides() * @generated * @ordered */ protected EList associationOverrides; /** * The cached value of the '{@link #getPlsqlRecords() Plsql Records}' containment reference list. * * * @see #getPlsqlRecords() * @generated * @ordered */ protected EList plsqlRecords; /** * The cached value of the '{@link #getPlsqlTables() Plsql Tables}' containment reference list. * * * @see #getPlsqlTables() * @generated * @ordered */ protected EList plsqlTables; /** * The cached value of the '{@link #getStruct() Struct}' containment reference. * * * @see #getStruct() * @generated * @ordered */ protected XmlStruct_2_3 struct; /** * The cached value of the '{@link #getNoSql() No Sql}' containment reference. * * * @see #getNoSql() * @generated * @ordered */ protected XmlNoSql_2_4 noSql; /** * The cached value of the '{@link #getCustomizer() Customizer}' containment reference. * * * @see #getCustomizer() * @generated * @ordered */ protected XmlClassReference customizer; /** * The cached value of the '{@link #getChangeTracking() Change Tracking}' containment reference. * * * @see #getChangeTracking() * @generated * @ordered */ protected XmlChangeTracking changeTracking; /** * The cached value of the '{@link #getConverters() Converters}' containment reference list. * * * @see #getConverters() * @generated * @ordered */ protected EList converters; /** * The cached value of the '{@link #getTypeConverters() Type Converters}' containment reference list. * * * @see #getTypeConverters() * @generated * @ordered */ protected EList typeConverters; /** * The cached value of the '{@link #getObjectTypeConverters() Object Type Converters}' containment reference list. * * * @see #getObjectTypeConverters() * @generated * @ordered */ protected EList objectTypeConverters; /** * The cached value of the '{@link #getStructConverters() Struct Converters}' containment reference list. * * * @see #getStructConverters() * @generated * @ordered */ protected EList structConverters; /** * The cached value of the '{@link #getProperties() Properties}' containment reference list. * * * @see #getProperties() * @generated * @ordered */ protected EList properties; /** * The cached value of the '{@link #getCopyPolicy() Copy Policy}' containment reference. * * * @see #getCopyPolicy() * @generated * @ordered */ protected XmlCopyPolicy copyPolicy; /** * The cached value of the '{@link #getInstantiationCopyPolicy() Instantiation Copy Policy}' containment reference. * * * @see #getInstantiationCopyPolicy() * @generated * @ordered */ protected XmlInstantiationCopyPolicy instantiationCopyPolicy; /** * The cached value of the '{@link #getCloneCopyPolicy() Clone Copy Policy}' containment reference. * * * @see #getCloneCopyPolicy() * @generated * @ordered */ protected XmlCloneCopyPolicy cloneCopyPolicy; /** * The default value of the '{@link #getExcludeDefaultMappings() Exclude Default Mappings}' attribute. * * * @see #getExcludeDefaultMappings() * @generated * @ordered */ protected static final Boolean EXCLUDE_DEFAULT_MAPPINGS_EDEFAULT = null; /** * The cached value of the '{@link #getExcludeDefaultMappings() Exclude Default Mappings}' attribute. * * * @see #getExcludeDefaultMappings() * @generated * @ordered */ protected Boolean excludeDefaultMappings = EXCLUDE_DEFAULT_MAPPINGS_EDEFAULT; /** * * * @generated */ protected XmlEmbeddable() { super(); } /** * * * @generated */ @Override protected EClass eStaticClass() { return EclipseLinkOrmPackage.Literals.XML_EMBEDDABLE; } /** * Returns the value of the 'Access Methods' containment reference. * *

* If the meaning of the 'Access Methods' containment reference isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Access Methods' containment reference. * @see #setAccessMethods(XmlAccessMethods) * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlAccessMethodsHolder_AccessMethods() * @model containment="true" * @generated */ public XmlAccessMethods getAccessMethods() { return accessMethods; } /** * * * @generated */ public NotificationChain basicSetAccessMethods(XmlAccessMethods newAccessMethods, NotificationChain msgs) { XmlAccessMethods oldAccessMethods = accessMethods; accessMethods = newAccessMethods; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS, oldAccessMethods, newAccessMethods); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEmbeddable#getAccessMethods Access Methods}' containment reference. * * * @param value the new value of the 'Access Methods' containment reference. * @see #getAccessMethods() * @generated */ public void setAccessMethods(XmlAccessMethods newAccessMethods) { if (newAccessMethods != accessMethods) { NotificationChain msgs = null; if (accessMethods != null) msgs = ((InternalEObject)accessMethods).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS, null, msgs); if (newAccessMethods != null) msgs = ((InternalEObject)newAccessMethods).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS, null, msgs); msgs = basicSetAccessMethods(newAccessMethods, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS, newAccessMethods, newAccessMethods)); } /** * Returns the value of the 'Attribute Overrides' containment reference list. * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride}. * *

* If the meaning of the 'Attribute Overrides' containment reference list isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Attribute Overrides' containment reference list. * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlAttributeOverrideContainer_AttributeOverrides() * @model containment="true" * @generated */ public EList getAttributeOverrides() { if (attributeOverrides == null) { attributeOverrides = new EObjectContainmentEList(XmlAttributeOverride.class, this, EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES); } return attributeOverrides; } /** * Returns the value of the 'Association Overrides' containment reference list. * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride}. * *

* If the meaning of the 'Association Overrides' containment reference list isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Association Overrides' containment reference list. * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlAssociationOverrideContainer_AssociationOverrides() * @model containment="true" * @generated */ public EList getAssociationOverrides() { if (associationOverrides == null) { associationOverrides = new EObjectContainmentEList(XmlAssociationOverride.class, this, EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES); } return associationOverrides; } /** * Returns the value of the 'Parent Class' attribute. * *

* If the meaning of the 'Parent Class' attribute isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Parent Class' attribute. * @see #setParentClass(String) * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeMapping_2_1_ParentClass() * @model dataType="org.eclipse.emf.ecore.xml.type.String" * @generated */ public String getParentClass() { return parentClass; } /** * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEmbeddable#getParentClass Parent Class}' attribute. * * * @param value the new value of the 'Parent Class' attribute. * @see #getParentClass() * @generated */ public void setParentClass(String newParentClass) { String oldParentClass = parentClass; parentClass = newParentClass; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS, oldParentClass, parentClass)); } /** * Returns the value of the 'Plsql Records' containment reference list. * The list contents are of type {@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlPlsqlRecord_2_3}. * *

* If the meaning of the 'Plsql Records' containment reference list isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Plsql Records' containment reference list. * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddable_2_3_PlsqlRecords() * @model containment="true" * @generated */ public EList getPlsqlRecords() { if (plsqlRecords == null) { plsqlRecords = new EObjectContainmentEList(XmlPlsqlRecord_2_3.class, this, EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_RECORDS); } return plsqlRecords; } /** * Returns the value of the 'Plsql Tables' containment reference list. * The list contents are of type {@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlPlsqlTable}. * *

* If the meaning of the 'Plsql Tables' containment reference list isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Plsql Tables' containment reference list. * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddable_2_3_PlsqlTables() * @model containment="true" * @generated */ public EList getPlsqlTables() { if (plsqlTables == null) { plsqlTables = new EObjectContainmentEList(XmlPlsqlTable.class, this, EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_TABLES); } return plsqlTables; } /** * Returns the value of the 'Struct' containment reference. * *

* If the meaning of the 'Struct' containment reference isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Struct' containment reference. * @see #setStruct(XmlStruct_2_3) * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddable_2_3_Struct() * @model containment="true" * @generated */ public XmlStruct_2_3 getStruct() { return struct; } /** * * * @generated */ public NotificationChain basicSetStruct(XmlStruct_2_3 newStruct, NotificationChain msgs) { XmlStruct_2_3 oldStruct = struct; struct = newStruct; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT, oldStruct, newStruct); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEmbeddable#getStruct Struct}' containment reference. * * * @param value the new value of the 'Struct' containment reference. * @see #getStruct() * @generated */ public void setStruct(XmlStruct_2_3 newStruct) { if (newStruct != struct) { NotificationChain msgs = null; if (struct != null) msgs = ((InternalEObject)struct).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT, null, msgs); if (newStruct != null) msgs = ((InternalEObject)newStruct).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT, null, msgs); msgs = basicSetStruct(newStruct, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT, newStruct, newStruct)); } /** * Returns the value of the 'No Sql' containment reference. * *

* If the meaning of the 'No Sql' containment reference isn't clear, * there really should be more of a description here... *

* * @return the value of the 'No Sql' containment reference. * @see #setNoSql(XmlNoSql_2_4) * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddable_2_4_NoSql() * @model containment="true" * @generated */ public XmlNoSql_2_4 getNoSql() { return noSql; } /** * * * @generated */ public NotificationChain basicSetNoSql(XmlNoSql_2_4 newNoSql, NotificationChain msgs) { XmlNoSql_2_4 oldNoSql = noSql; noSql = newNoSql; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__NO_SQL, oldNoSql, newNoSql); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEmbeddable#getNoSql No Sql}' containment reference. * * * @param value the new value of the 'No Sql' containment reference. * @see #getNoSql() * @generated */ public void setNoSql(XmlNoSql_2_4 newNoSql) { if (newNoSql != noSql) { NotificationChain msgs = null; if (noSql != null) msgs = ((InternalEObject)noSql).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__NO_SQL, null, msgs); if (newNoSql != null) msgs = ((InternalEObject)newNoSql).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__NO_SQL, null, msgs); msgs = basicSetNoSql(newNoSql, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__NO_SQL, newNoSql, newNoSql)); } /** * Returns the value of the 'Customizer' containment reference. * *

* If the meaning of the 'Customizer' containment reference isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Customizer' containment reference. * @see #setCustomizer(XmlClassReference) * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCustomizerHolder_Customizer() * @model containment="true" * @generated */ public XmlClassReference getCustomizer() { return customizer; } /** * * * @generated */ public NotificationChain basicSetCustomizer(XmlClassReference newCustomizer, NotificationChain msgs) { XmlClassReference oldCustomizer = customizer; customizer = newCustomizer; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER, oldCustomizer, newCustomizer); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEmbeddable#getCustomizer Customizer}' containment reference. * * * @param value the new value of the 'Customizer' containment reference. * @see #getCustomizer() * @generated */ public void setCustomizer(XmlClassReference newCustomizer) { if (newCustomizer != customizer) { NotificationChain msgs = null; if (customizer != null) msgs = ((InternalEObject)customizer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER, null, msgs); if (newCustomizer != null) msgs = ((InternalEObject)newCustomizer).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER, null, msgs); msgs = basicSetCustomizer(newCustomizer, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER, newCustomizer, newCustomizer)); } /** * Returns the value of the 'Change Tracking' containment reference. * *

* If the meaning of the 'Change Tracking' containment reference isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Change Tracking' containment reference. * @see #setChangeTracking(XmlChangeTracking) * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlChangeTrackingHolder_ChangeTracking() * @model containment="true" * @generated */ public XmlChangeTracking getChangeTracking() { return changeTracking; } /** * * * @generated */ public NotificationChain basicSetChangeTracking(XmlChangeTracking newChangeTracking, NotificationChain msgs) { XmlChangeTracking oldChangeTracking = changeTracking; changeTracking = newChangeTracking; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING, oldChangeTracking, newChangeTracking); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEmbeddable#getChangeTracking Change Tracking}' containment reference. * * * @param value the new value of the 'Change Tracking' containment reference. * @see #getChangeTracking() * @generated */ public void setChangeTracking(XmlChangeTracking newChangeTracking) { if (newChangeTracking != changeTracking) { NotificationChain msgs = null; if (changeTracking != null) msgs = ((InternalEObject)changeTracking).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING, null, msgs); if (newChangeTracking != null) msgs = ((InternalEObject)newChangeTracking).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING, null, msgs); msgs = basicSetChangeTracking(newChangeTracking, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING, newChangeTracking, newChangeTracking)); } /** * Returns the value of the 'Converters' containment reference list. * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.v2_1.XmlConverter_2_1}. * *

* If the meaning of the 'Converters' containment reference list isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Converters' containment reference list. * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterContainer_2_1_Converters() * @model containment="true" * @generated */ public EList getConverters() { if (converters == null) { converters = new EObjectContainmentEList(XmlConverter_2_1.class, this, EclipseLinkOrmPackage.XML_EMBEDDABLE__CONVERTERS); } return converters; } /** * Returns the value of the 'Type Converters' containment reference list. * The list contents are of type {@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeConverter}. * *

* If the meaning of the 'Type Converters' containment reference list isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Type Converters' containment reference list. * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterContainer_TypeConverters() * @model containment="true" * @generated */ public EList getTypeConverters() { if (typeConverters == null) { typeConverters = new EObjectContainmentEList(XmlTypeConverter.class, this, EclipseLinkOrmPackage.XML_EMBEDDABLE__TYPE_CONVERTERS); } return typeConverters; } /** * Returns the value of the 'Object Type Converters' containment reference list. * The list contents are of type {@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlObjectTypeConverter}. * *

* If the meaning of the 'Object Type Converters' containment reference list isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Object Type Converters' containment reference list. * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterContainer_ObjectTypeConverters() * @model containment="true" * @generated */ public EList getObjectTypeConverters() { if (objectTypeConverters == null) { objectTypeConverters = new EObjectContainmentEList(XmlObjectTypeConverter.class, this, EclipseLinkOrmPackage.XML_EMBEDDABLE__OBJECT_TYPE_CONVERTERS); } return objectTypeConverters; } /** * Returns the value of the 'Struct Converters' containment reference list. * The list contents are of type {@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlStructConverter}. * *

* If the meaning of the 'Struct Converters' containment reference list isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Struct Converters' containment reference list. * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterContainer_StructConverters() * @model containment="true" * @generated */ public EList getStructConverters() { if (structConverters == null) { structConverters = new EObjectContainmentEList(XmlStructConverter.class, this, EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT_CONVERTERS); } return structConverters; } /** * Returns the value of the 'Copy Policy' containment reference. * *

* If the meaning of the 'Copy Policy' containment reference isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Copy Policy' containment reference. * @see #setCopyPolicy(XmlCopyPolicy) * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddable_CopyPolicy() * @model containment="true" * @generated */ public XmlCopyPolicy getCopyPolicy() { return copyPolicy; } /** * * * @generated */ public NotificationChain basicSetCopyPolicy(XmlCopyPolicy newCopyPolicy, NotificationChain msgs) { XmlCopyPolicy oldCopyPolicy = copyPolicy; copyPolicy = newCopyPolicy; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__COPY_POLICY, oldCopyPolicy, newCopyPolicy); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEmbeddable#getCopyPolicy Copy Policy}' containment reference. * * * @param value the new value of the 'Copy Policy' containment reference. * @see #getCopyPolicy() * @generated */ public void setCopyPolicy(XmlCopyPolicy newCopyPolicy) { if (newCopyPolicy != copyPolicy) { NotificationChain msgs = null; if (copyPolicy != null) msgs = ((InternalEObject)copyPolicy).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__COPY_POLICY, null, msgs); if (newCopyPolicy != null) msgs = ((InternalEObject)newCopyPolicy).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__COPY_POLICY, null, msgs); msgs = basicSetCopyPolicy(newCopyPolicy, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__COPY_POLICY, newCopyPolicy, newCopyPolicy)); } /** * Returns the value of the 'Instantiation Copy Policy' containment reference. * *

* If the meaning of the 'Instantiation Copy Policy' containment reference isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Instantiation Copy Policy' containment reference. * @see #setInstantiationCopyPolicy(XmlInstantiationCopyPolicy) * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddable_InstantiationCopyPolicy() * @model containment="true" * @generated */ public XmlInstantiationCopyPolicy getInstantiationCopyPolicy() { return instantiationCopyPolicy; } /** * * * @generated */ public NotificationChain basicSetInstantiationCopyPolicy(XmlInstantiationCopyPolicy newInstantiationCopyPolicy, NotificationChain msgs) { XmlInstantiationCopyPolicy oldInstantiationCopyPolicy = instantiationCopyPolicy; instantiationCopyPolicy = newInstantiationCopyPolicy; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__INSTANTIATION_COPY_POLICY, oldInstantiationCopyPolicy, newInstantiationCopyPolicy); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEmbeddable#getInstantiationCopyPolicy Instantiation Copy Policy}' containment reference. * * * @param value the new value of the 'Instantiation Copy Policy' containment reference. * @see #getInstantiationCopyPolicy() * @generated */ public void setInstantiationCopyPolicy(XmlInstantiationCopyPolicy newInstantiationCopyPolicy) { if (newInstantiationCopyPolicy != instantiationCopyPolicy) { NotificationChain msgs = null; if (instantiationCopyPolicy != null) msgs = ((InternalEObject)instantiationCopyPolicy).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__INSTANTIATION_COPY_POLICY, null, msgs); if (newInstantiationCopyPolicy != null) msgs = ((InternalEObject)newInstantiationCopyPolicy).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__INSTANTIATION_COPY_POLICY, null, msgs); msgs = basicSetInstantiationCopyPolicy(newInstantiationCopyPolicy, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__INSTANTIATION_COPY_POLICY, newInstantiationCopyPolicy, newInstantiationCopyPolicy)); } /** * Returns the value of the 'Clone Copy Policy' containment reference. * *

* If the meaning of the 'Clone Copy Policy' containment reference isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Clone Copy Policy' containment reference. * @see #setCloneCopyPolicy(XmlCloneCopyPolicy) * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddable_CloneCopyPolicy() * @model containment="true" * @generated */ public XmlCloneCopyPolicy getCloneCopyPolicy() { return cloneCopyPolicy; } /** * * * @generated */ public NotificationChain basicSetCloneCopyPolicy(XmlCloneCopyPolicy newCloneCopyPolicy, NotificationChain msgs) { XmlCloneCopyPolicy oldCloneCopyPolicy = cloneCopyPolicy; cloneCopyPolicy = newCloneCopyPolicy; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__CLONE_COPY_POLICY, oldCloneCopyPolicy, newCloneCopyPolicy); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEmbeddable#getCloneCopyPolicy Clone Copy Policy}' containment reference. * * * @param value the new value of the 'Clone Copy Policy' containment reference. * @see #getCloneCopyPolicy() * @generated */ public void setCloneCopyPolicy(XmlCloneCopyPolicy newCloneCopyPolicy) { if (newCloneCopyPolicy != cloneCopyPolicy) { NotificationChain msgs = null; if (cloneCopyPolicy != null) msgs = ((InternalEObject)cloneCopyPolicy).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__CLONE_COPY_POLICY, null, msgs); if (newCloneCopyPolicy != null) msgs = ((InternalEObject)newCloneCopyPolicy).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_EMBEDDABLE__CLONE_COPY_POLICY, null, msgs); msgs = basicSetCloneCopyPolicy(newCloneCopyPolicy, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__CLONE_COPY_POLICY, newCloneCopyPolicy, newCloneCopyPolicy)); } /** * Returns the value of the 'Properties' containment reference list. * The list contents are of type {@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlProperty}. * *

* If the meaning of the 'Properties' containment reference list isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Properties' containment reference list. * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlPropertyContainer_Properties() * @model containment="true" * @generated */ public EList getProperties() { if (properties == null) { properties = new EObjectContainmentEList(XmlProperty.class, this, EclipseLinkOrmPackage.XML_EMBEDDABLE__PROPERTIES); } return properties; } /** * Returns the value of the 'Exclude Default Mappings' attribute. * *

* If the meaning of the 'Exclude Default Mappings' attribute isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Exclude Default Mappings' attribute. * @see #setExcludeDefaultMappings(Boolean) * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddable_ExcludeDefaultMappings() * @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject" * @generated */ public Boolean getExcludeDefaultMappings() { return excludeDefaultMappings; } /** * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEmbeddable#getExcludeDefaultMappings Exclude Default Mappings}' attribute. * * * @param value the new value of the 'Exclude Default Mappings' attribute. * @see #getExcludeDefaultMappings() * @generated */ public void setExcludeDefaultMappings(Boolean newExcludeDefaultMappings) { Boolean oldExcludeDefaultMappings = excludeDefaultMappings; excludeDefaultMappings = newExcludeDefaultMappings; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_EMBEDDABLE__EXCLUDE_DEFAULT_MAPPINGS, oldExcludeDefaultMappings, excludeDefaultMappings)); } /** * * * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS: return basicSetAccessMethods(null, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES: return ((InternalEList)getAttributeOverrides()).basicRemove(otherEnd, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES: return ((InternalEList)getAssociationOverrides()).basicRemove(otherEnd, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_RECORDS: return ((InternalEList)getPlsqlRecords()).basicRemove(otherEnd, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_TABLES: return ((InternalEList)getPlsqlTables()).basicRemove(otherEnd, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT: return basicSetStruct(null, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__NO_SQL: return basicSetNoSql(null, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER: return basicSetCustomizer(null, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING: return basicSetChangeTracking(null, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__CONVERTERS: return ((InternalEList)getConverters()).basicRemove(otherEnd, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__TYPE_CONVERTERS: return ((InternalEList)getTypeConverters()).basicRemove(otherEnd, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__OBJECT_TYPE_CONVERTERS: return ((InternalEList)getObjectTypeConverters()).basicRemove(otherEnd, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT_CONVERTERS: return ((InternalEList)getStructConverters()).basicRemove(otherEnd, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PROPERTIES: return ((InternalEList)getProperties()).basicRemove(otherEnd, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__COPY_POLICY: return basicSetCopyPolicy(null, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__INSTANTIATION_COPY_POLICY: return basicSetInstantiationCopyPolicy(null, msgs); case EclipseLinkOrmPackage.XML_EMBEDDABLE__CLONE_COPY_POLICY: return basicSetCloneCopyPolicy(null, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } /** * * * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS: return getAccessMethods(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: return getParentClass(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES: return getAttributeOverrides(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES: return getAssociationOverrides(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_RECORDS: return getPlsqlRecords(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_TABLES: return getPlsqlTables(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT: return getStruct(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__NO_SQL: return getNoSql(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER: return getCustomizer(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING: return getChangeTracking(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__CONVERTERS: return getConverters(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__TYPE_CONVERTERS: return getTypeConverters(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__OBJECT_TYPE_CONVERTERS: return getObjectTypeConverters(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT_CONVERTERS: return getStructConverters(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PROPERTIES: return getProperties(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__COPY_POLICY: return getCopyPolicy(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__INSTANTIATION_COPY_POLICY: return getInstantiationCopyPolicy(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__CLONE_COPY_POLICY: return getCloneCopyPolicy(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__EXCLUDE_DEFAULT_MAPPINGS: return getExcludeDefaultMappings(); } return super.eGet(featureID, resolve, coreType); } /** * * * @generated */ @SuppressWarnings("unchecked") @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS: setAccessMethods((XmlAccessMethods)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: setParentClass((String)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES: getAttributeOverrides().clear(); getAttributeOverrides().addAll((Collection)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES: getAssociationOverrides().clear(); getAssociationOverrides().addAll((Collection)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_RECORDS: getPlsqlRecords().clear(); getPlsqlRecords().addAll((Collection)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_TABLES: getPlsqlTables().clear(); getPlsqlTables().addAll((Collection)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT: setStruct((XmlStruct_2_3)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__NO_SQL: setNoSql((XmlNoSql_2_4)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER: setCustomizer((XmlClassReference)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING: setChangeTracking((XmlChangeTracking)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__CONVERTERS: getConverters().clear(); getConverters().addAll((Collection)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__TYPE_CONVERTERS: getTypeConverters().clear(); getTypeConverters().addAll((Collection)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__OBJECT_TYPE_CONVERTERS: getObjectTypeConverters().clear(); getObjectTypeConverters().addAll((Collection)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT_CONVERTERS: getStructConverters().clear(); getStructConverters().addAll((Collection)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__PROPERTIES: getProperties().clear(); getProperties().addAll((Collection)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__COPY_POLICY: setCopyPolicy((XmlCopyPolicy)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__INSTANTIATION_COPY_POLICY: setInstantiationCopyPolicy((XmlInstantiationCopyPolicy)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__CLONE_COPY_POLICY: setCloneCopyPolicy((XmlCloneCopyPolicy)newValue); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__EXCLUDE_DEFAULT_MAPPINGS: setExcludeDefaultMappings((Boolean)newValue); return; } super.eSet(featureID, newValue); } /** * * * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS: setAccessMethods((XmlAccessMethods)null); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: setParentClass(PARENT_CLASS_EDEFAULT); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES: getAttributeOverrides().clear(); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES: getAssociationOverrides().clear(); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_RECORDS: getPlsqlRecords().clear(); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_TABLES: getPlsqlTables().clear(); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT: setStruct((XmlStruct_2_3)null); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__NO_SQL: setNoSql((XmlNoSql_2_4)null); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER: setCustomizer((XmlClassReference)null); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING: setChangeTracking((XmlChangeTracking)null); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__CONVERTERS: getConverters().clear(); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__TYPE_CONVERTERS: getTypeConverters().clear(); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__OBJECT_TYPE_CONVERTERS: getObjectTypeConverters().clear(); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT_CONVERTERS: getStructConverters().clear(); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__PROPERTIES: getProperties().clear(); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__COPY_POLICY: setCopyPolicy((XmlCopyPolicy)null); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__INSTANTIATION_COPY_POLICY: setInstantiationCopyPolicy((XmlInstantiationCopyPolicy)null); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__CLONE_COPY_POLICY: setCloneCopyPolicy((XmlCloneCopyPolicy)null); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__EXCLUDE_DEFAULT_MAPPINGS: setExcludeDefaultMappings(EXCLUDE_DEFAULT_MAPPINGS_EDEFAULT); return; } super.eUnset(featureID); } /** * * * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS: return accessMethods != null; case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: return PARENT_CLASS_EDEFAULT == null ? parentClass != null : !PARENT_CLASS_EDEFAULT.equals(parentClass); case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES: return attributeOverrides != null && !attributeOverrides.isEmpty(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES: return associationOverrides != null && !associationOverrides.isEmpty(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_RECORDS: return plsqlRecords != null && !plsqlRecords.isEmpty(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_TABLES: return plsqlTables != null && !plsqlTables.isEmpty(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT: return struct != null; case EclipseLinkOrmPackage.XML_EMBEDDABLE__NO_SQL: return noSql != null; case EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER: return customizer != null; case EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING: return changeTracking != null; case EclipseLinkOrmPackage.XML_EMBEDDABLE__CONVERTERS: return converters != null && !converters.isEmpty(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__TYPE_CONVERTERS: return typeConverters != null && !typeConverters.isEmpty(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__OBJECT_TYPE_CONVERTERS: return objectTypeConverters != null && !objectTypeConverters.isEmpty(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT_CONVERTERS: return structConverters != null && !structConverters.isEmpty(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PROPERTIES: return properties != null && !properties.isEmpty(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__COPY_POLICY: return copyPolicy != null; case EclipseLinkOrmPackage.XML_EMBEDDABLE__INSTANTIATION_COPY_POLICY: return instantiationCopyPolicy != null; case EclipseLinkOrmPackage.XML_EMBEDDABLE__CLONE_COPY_POLICY: return cloneCopyPolicy != null; case EclipseLinkOrmPackage.XML_EMBEDDABLE__EXCLUDE_DEFAULT_MAPPINGS: return EXCLUDE_DEFAULT_MAPPINGS_EDEFAULT == null ? excludeDefaultMappings != null : !EXCLUDE_DEFAULT_MAPPINGS_EDEFAULT.equals(excludeDefaultMappings); } return super.eIsSet(featureID); } /** * * * @generated */ @Override public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) { if (baseClass == XmlAccessMethodsHolder.class) { switch (derivedFeatureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS: return EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS; default: return -1; } } if (baseClass == XmlTypeMapping_2_1.class) { switch (derivedFeatureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: return EclipseLinkOrmV2_1Package.XML_TYPE_MAPPING_21__PARENT_CLASS; default: return -1; } } if (baseClass == XmlTypeMapping.class) { switch (derivedFeatureID) { default: return -1; } } if (baseClass == XmlAttributeOverrideContainer.class) { switch (derivedFeatureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES; default: return -1; } } if (baseClass == XmlAssociationOverrideContainer.class) { switch (derivedFeatureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES: return OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES; default: return -1; } } if (baseClass == XmlEmbeddable_2_2.class) { switch (derivedFeatureID) { default: return -1; } } if (baseClass == XmlEmbeddable_2_3.class) { switch (derivedFeatureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_RECORDS: return EclipseLinkOrmV2_3Package.XML_EMBEDDABLE_23__PLSQL_RECORDS; case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_TABLES: return EclipseLinkOrmV2_3Package.XML_EMBEDDABLE_23__PLSQL_TABLES; case EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT: return EclipseLinkOrmV2_3Package.XML_EMBEDDABLE_23__STRUCT; default: return -1; } } if (baseClass == XmlEmbeddable_2_4.class) { switch (derivedFeatureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__NO_SQL: return EclipseLinkOrmV2_4Package.XML_EMBEDDABLE_24__NO_SQL; default: return -1; } } if (baseClass == XmlCustomizerHolder.class) { switch (derivedFeatureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER: return EclipseLinkOrmPackage.XML_CUSTOMIZER_HOLDER__CUSTOMIZER; default: return -1; } } if (baseClass == XmlChangeTrackingHolder.class) { switch (derivedFeatureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING: return EclipseLinkOrmPackage.XML_CHANGE_TRACKING_HOLDER__CHANGE_TRACKING; default: return -1; } } if (baseClass == XmlConverterContainer_2_1.class) { switch (derivedFeatureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__CONVERTERS: return OrmV2_1Package.XML_CONVERTER_CONTAINER_21__CONVERTERS; default: return -1; } } if (baseClass == XmlConverterContainer.class) { switch (derivedFeatureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__TYPE_CONVERTERS: return EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__TYPE_CONVERTERS; case EclipseLinkOrmPackage.XML_EMBEDDABLE__OBJECT_TYPE_CONVERTERS: return EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__OBJECT_TYPE_CONVERTERS; case EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT_CONVERTERS: return EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__STRUCT_CONVERTERS; default: return -1; } } if (baseClass == XmlPropertyContainer.class) { switch (derivedFeatureID) { case EclipseLinkOrmPackage.XML_EMBEDDABLE__PROPERTIES: return EclipseLinkOrmPackage.XML_PROPERTY_CONTAINER__PROPERTIES; default: return -1; } } return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); } /** * * * @generated */ @Override public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) { if (baseClass == XmlAccessMethodsHolder.class) { switch (baseFeatureID) { case EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS: return EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS; default: return -1; } } if (baseClass == XmlTypeMapping_2_1.class) { switch (baseFeatureID) { case EclipseLinkOrmV2_1Package.XML_TYPE_MAPPING_21__PARENT_CLASS: return EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS; default: return -1; } } if (baseClass == XmlTypeMapping.class) { switch (baseFeatureID) { default: return -1; } } if (baseClass == XmlAttributeOverrideContainer.class) { switch (baseFeatureID) { case OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES: return EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES; default: return -1; } } if (baseClass == XmlAssociationOverrideContainer.class) { switch (baseFeatureID) { case OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES: return EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES; default: return -1; } } if (baseClass == XmlEmbeddable_2_2.class) { switch (baseFeatureID) { default: return -1; } } if (baseClass == XmlEmbeddable_2_3.class) { switch (baseFeatureID) { case EclipseLinkOrmV2_3Package.XML_EMBEDDABLE_23__PLSQL_RECORDS: return EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_RECORDS; case EclipseLinkOrmV2_3Package.XML_EMBEDDABLE_23__PLSQL_TABLES: return EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_TABLES; case EclipseLinkOrmV2_3Package.XML_EMBEDDABLE_23__STRUCT: return EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT; default: return -1; } } if (baseClass == XmlEmbeddable_2_4.class) { switch (baseFeatureID) { case EclipseLinkOrmV2_4Package.XML_EMBEDDABLE_24__NO_SQL: return EclipseLinkOrmPackage.XML_EMBEDDABLE__NO_SQL; default: return -1; } } if (baseClass == XmlCustomizerHolder.class) { switch (baseFeatureID) { case EclipseLinkOrmPackage.XML_CUSTOMIZER_HOLDER__CUSTOMIZER: return EclipseLinkOrmPackage.XML_EMBEDDABLE__CUSTOMIZER; default: return -1; } } if (baseClass == XmlChangeTrackingHolder.class) { switch (baseFeatureID) { case EclipseLinkOrmPackage.XML_CHANGE_TRACKING_HOLDER__CHANGE_TRACKING: return EclipseLinkOrmPackage.XML_EMBEDDABLE__CHANGE_TRACKING; default: return -1; } } if (baseClass == XmlConverterContainer_2_1.class) { switch (baseFeatureID) { case OrmV2_1Package.XML_CONVERTER_CONTAINER_21__CONVERTERS: return EclipseLinkOrmPackage.XML_EMBEDDABLE__CONVERTERS; default: return -1; } } if (baseClass == XmlConverterContainer.class) { switch (baseFeatureID) { case EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__TYPE_CONVERTERS: return EclipseLinkOrmPackage.XML_EMBEDDABLE__TYPE_CONVERTERS; case EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__OBJECT_TYPE_CONVERTERS: return EclipseLinkOrmPackage.XML_EMBEDDABLE__OBJECT_TYPE_CONVERTERS; case EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__STRUCT_CONVERTERS: return EclipseLinkOrmPackage.XML_EMBEDDABLE__STRUCT_CONVERTERS; default: return -1; } } if (baseClass == XmlPropertyContainer.class) { switch (baseFeatureID) { case EclipseLinkOrmPackage.XML_PROPERTY_CONTAINER__PROPERTIES: return EclipseLinkOrmPackage.XML_EMBEDDABLE__PROPERTIES; default: return -1; } } return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); } /** * * * @generated */ @Override public String toString() { if (eIsProxy()) return super.toString(); StringBuffer result = new StringBuffer(super.toString()); result.append(" (parentClass: "); result.append(parentClass); result.append(", excludeDefaultMappings: "); result.append(excludeDefaultMappings); result.append(')'); return result.toString(); } public TextRange getParentClassTextRange() { return getAttributeTextRange(EclipseLink2_1.PARENT_CLASS); } // ********** translators ********** public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { return new SimpleTranslator( elementName, structuralFeature, EclipseLinkOrmPackage.eINSTANCE.getXmlEmbeddable(), buildTranslatorChildren()); } private static Translator[] buildTranslatorChildren() { return new Translator[] { buildClassTranslator(), buildParentClassTranslator(), buildAccessTranslator(), buildMetadataCompleteTranslator(), buildExcludeDefaultMappingsTranslator(), buildDescriptionTranslator(), buildAccessMethodsTranslator(), buildCustomizerTranslator(), buildChangeTrackingTranslator(), XmlStruct.buildTranslator(EclipseLink2_3.STRUCT, EclipseLinkOrmV2_3Package.eINSTANCE.getXmlEmbeddable_2_3_Struct()), buildNoSqlTranslator(), buildConverterTranslator(), buildTypeConverterTranslator(), buildObjectTypeConverterTranslator(), buildStructConverterTranslator(), buildCopyPolicyTranslator(), buildInstantiationCoypPolicyTranslator(), buildCloneCopyPolicyTranslator(), XmlPlsqlRecord.buildTranslator(EclipseLink2_3.PLSQL_RECORD, EclipseLinkOrmV2_3Package.eINSTANCE.getXmlEmbeddable_2_3_PlsqlRecords()), XmlPlsqlTable.buildTranslator(EclipseLink2_3.PLSQL_TABLE, EclipseLinkOrmV2_3Package.eINSTANCE.getXmlEmbeddable_2_3_PlsqlTables()), buildPropertyTranslator(), buildAttributeOverrideTranslator(), buildAssociationOverrideTranslator(), Attributes.buildTranslator()}; } protected static Translator buildExcludeDefaultMappingsTranslator() { return new Translator(EclipseLink.EXCLUDE_DEFAULT_MAPPINGS, EclipseLinkOrmPackage.eINSTANCE.getXmlEmbeddable_ExcludeDefaultMappings(), Translator.DOM_ATTRIBUTE); } protected static Translator buildCustomizerTranslator() { return XmlClassReference.buildTranslator(EclipseLink.CUSTOMIZER, EclipseLinkOrmPackage.eINSTANCE.getXmlCustomizerHolder_Customizer()); } protected static Translator buildChangeTrackingTranslator() { return XmlChangeTracking.buildTranslator(EclipseLink.CHANGE_TRACKING, EclipseLinkOrmPackage.eINSTANCE.getXmlChangeTrackingHolder_ChangeTracking()); } protected static Translator buildConverterTranslator() { return XmlConverter.buildTranslator(EclipseLink.CONVERTER, OrmV2_1Package.eINSTANCE.getXmlConverterContainer_2_1_Converters()); } protected static Translator buildTypeConverterTranslator() { return XmlTypeConverter.buildTranslator(EclipseLink.TYPE_CONVERTER, EclipseLinkOrmPackage.eINSTANCE.getXmlConverterContainer_TypeConverters()); } protected static Translator buildObjectTypeConverterTranslator() { return XmlObjectTypeConverter.buildTranslator(EclipseLink.OBJECT_TYPE_CONVERTER, EclipseLinkOrmPackage.eINSTANCE.getXmlConverterContainer_ObjectTypeConverters()); } protected static Translator buildStructConverterTranslator() { return XmlStructConverter.buildTranslator(EclipseLink.STRUCT_CONVERTER, EclipseLinkOrmPackage.eINSTANCE.getXmlConverterContainer_StructConverters()); } protected static Translator buildCopyPolicyTranslator() { return XmlCopyPolicy.buildTranslator(EclipseLink.COPY_POLICY, EclipseLinkOrmPackage.eINSTANCE.getXmlEmbeddable_CopyPolicy()); } protected static Translator buildInstantiationCoypPolicyTranslator() { return XmlInstantiationCopyPolicy.buildTranslator(EclipseLink.INSTANTIATION_COPY_POLICY, EclipseLinkOrmPackage.eINSTANCE.getXmlEmbeddable_InstantiationCopyPolicy()); } protected static Translator buildCloneCopyPolicyTranslator() { return XmlCloneCopyPolicy.buildTranslator(EclipseLink.CLONE_COPY_POLICY, EclipseLinkOrmPackage.eINSTANCE.getXmlEmbeddable_CloneCopyPolicy()); } protected static Translator buildPropertyTranslator() { return XmlProperty.buildTranslator(EclipseLink.PROPERTY, EclipseLinkOrmPackage.eINSTANCE.getXmlPropertyContainer_Properties()); } protected static Translator buildAccessMethodsTranslator() { return XmlAccessMethods.buildTranslator(EclipseLink.ACCESS_METHODS, EclipseLinkOrmPackage.eINSTANCE.getXmlAccessMethodsHolder_AccessMethods()); } protected static Translator buildParentClassTranslator() { return new Translator(EclipseLink2_1.PARENT_CLASS, EclipseLinkOrmV2_1Package.eINSTANCE.getXmlTypeMapping_2_1_ParentClass(), Translator.DOM_ATTRIBUTE); } 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 buildNoSqlTranslator() { return XmlNoSql.buildTranslator(EclipseLink2_4.NO_SQL, EclipseLinkOrmV2_4Package.eINSTANCE.getXmlEmbeddable_2_4_NoSql()); } // *********** content assist ************ public TextRange getParentClassCodeAssistTextRange() { return getAttributeCodeAssistTextRange(EclipseLink2_1.PARENT_CLASS); } public boolean parentClassTouches(int pos) { TextRange textRange = this.getParentClassCodeAssistTextRange(); return (textRange != null) && (textRange.touches(pos)); } }