/** * <copyright> * </copyright> * * $Id: HbAnnotatedEDataTypeImpl.java,v 1.11 2008/01/18 06:21:37 mtaal Exp $ */ package org.eclipse.emf.teneo.hibernate.hbmodel.impl; 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.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl; import org.eclipse.emf.teneo.annotations.pannotation.Column; import org.eclipse.emf.teneo.annotations.pannotation.ForeignKey; import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; import org.eclipse.emf.teneo.hibernate.hbannotation.Index; import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; import org.eclipse.emf.teneo.hibernate.hbannotation.Where; import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType; import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage; /** * <!-- begin-user-doc --> An implementation of the model object '<em><b>Hb Annotated EData Type</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl#getHbTypeDef <em>Hb Type Def</em>}</li> * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl#getHbWhere <em>Hb Where</em>}</li> * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl#getHbColumns <em>Hb Columns</em>}</li> * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl#getHbIdBag <em>Hb Id Bag</em>}</li> * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl#getHbIndex <em>Hb Index</em>}</li> * </ul> * </p> * * @generated */ public class HbAnnotatedEDataTypeImpl extends PAnnotatedEDataTypeImpl implements HbAnnotatedEDataType { private ForeignKey foreignKey = null; /** * The cached value of the '{@link #getHbTypeDef() <em>Hb Type Def</em>}' containment reference. * <!-- begin-user-doc --> <!-- end-user-doc --> * @see #getHbTypeDef() * @generated * @ordered */ protected TypeDef hbTypeDef; /** * The cached value of the '{@link #getHbWhere() <em>Hb Where</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getHbWhere() * @generated * @ordered */ protected Where hbWhere; /** * The cached value of the '{@link #getHbColumns() <em>Hb Columns</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getHbColumns() * @generated * @ordered */ protected EList<Column> hbColumns; /** * The cached value of the '{@link #getHbIdBag() <em>Hb Id Bag</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getHbIdBag() * @generated * @ordered */ protected IdBag hbIdBag; /** * The cached value of the '{@link #getHbIndex() <em>Hb Index</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getHbIndex() * @generated * @ordered */ protected Index hbIndex; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ protected HbAnnotatedEDataTypeImpl() { super(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return HbmodelPackage.Literals.HB_ANNOTATED_EDATA_TYPE; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated NOT */ public EStructuralFeature getAnnotatedEStructuralFeature() { return null; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated NOT */ public EStructuralFeature basicGetAnnotatedEStructuralFeature() { return null; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated NOT */ public void setAnnotatedEStructuralFeature(EStructuralFeature newAnnotatedEStructuralFeature) { } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public TypeDef getHbTypeDef() { return hbTypeDef; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public NotificationChain basicSetHbTypeDef(TypeDef newHbTypeDef, NotificationChain msgs) { TypeDef oldHbTypeDef = hbTypeDef; hbTypeDef = newHbTypeDef; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF, oldHbTypeDef, newHbTypeDef); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public void setHbTypeDef(TypeDef newHbTypeDef) { if (newHbTypeDef != hbTypeDef) { NotificationChain msgs = null; if (hbTypeDef != null) msgs = ((InternalEObject)hbTypeDef).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF, null, msgs); if (newHbTypeDef != null) msgs = ((InternalEObject)newHbTypeDef).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF, null, msgs); msgs = basicSetHbTypeDef(newHbTypeDef, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF, newHbTypeDef, newHbTypeDef)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Where getHbWhere() { return hbWhere; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public NotificationChain basicSetHbWhere(Where newHbWhere, NotificationChain msgs) { Where oldHbWhere = hbWhere; hbWhere = newHbWhere; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE, oldHbWhere, newHbWhere); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setHbWhere(Where newHbWhere) { if (newHbWhere != hbWhere) { NotificationChain msgs = null; if (hbWhere != null) msgs = ((InternalEObject)hbWhere).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE, null, msgs); if (newHbWhere != null) msgs = ((InternalEObject)newHbWhere).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE, null, msgs); msgs = basicSetHbWhere(newHbWhere, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE, newHbWhere, newHbWhere)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<Column> getHbColumns() { if (hbColumns == null) { hbColumns = new EObjectContainmentEList<Column>(Column.class, this, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS); } return hbColumns; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public IdBag getHbIdBag() { return hbIdBag; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public NotificationChain basicSetHbIdBag(IdBag newHbIdBag, NotificationChain msgs) { IdBag oldHbIdBag = hbIdBag; hbIdBag = newHbIdBag; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG, oldHbIdBag, newHbIdBag); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setHbIdBag(IdBag newHbIdBag) { if (newHbIdBag != hbIdBag) { NotificationChain msgs = null; if (hbIdBag != null) msgs = ((InternalEObject)hbIdBag).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG, null, msgs); if (newHbIdBag != null) msgs = ((InternalEObject)newHbIdBag).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG, null, msgs); msgs = basicSetHbIdBag(newHbIdBag, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG, newHbIdBag, newHbIdBag)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Index getHbIndex() { if (hbIndex != null && hbIndex.eIsProxy()) { InternalEObject oldHbIndex = (InternalEObject)hbIndex; hbIndex = (Index)eResolveProxy(oldHbIndex); if (hbIndex != oldHbIndex) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_INDEX, oldHbIndex, hbIndex)); } } return hbIndex; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Index basicGetHbIndex() { return hbIndex; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setHbIndex(Index newHbIndex) { Index oldHbIndex = hbIndex; hbIndex = newHbIndex; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_INDEX, oldHbIndex, hbIndex)); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF: return basicSetHbTypeDef(null, msgs); case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE: return basicSetHbWhere(null, msgs); case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS: return ((InternalEList<?>)getHbColumns()).basicRemove(otherEnd, msgs); case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG: return basicSetHbIdBag(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 HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF: return getHbTypeDef(); case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE: return getHbWhere(); case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS: return getHbColumns(); case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG: return getHbIdBag(); case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_INDEX: if (resolve) return getHbIndex(); return basicGetHbIndex(); } 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 HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF: setHbTypeDef((TypeDef)newValue); return; case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE: setHbWhere((Where)newValue); return; case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS: getHbColumns().clear(); getHbColumns().addAll((Collection<? extends Column>)newValue); return; case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG: setHbIdBag((IdBag)newValue); return; case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_INDEX: setHbIndex((Index)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF: setHbTypeDef((TypeDef)null); return; case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE: setHbWhere((Where)null); return; case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS: getHbColumns().clear(); return; case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG: setHbIdBag((IdBag)null); return; case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_INDEX: setHbIndex((Index)null); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF: return hbTypeDef != null; case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE: return hbWhere != null; case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS: return hbColumns != null && !hbColumns.isEmpty(); case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG: return hbIdBag != null; case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_INDEX: return hbIndex != null; } return super.eIsSet(featureID); } /* * (non-Javadoc) * * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getForeignKey() */ public ForeignKey getForeignKey() { return foreignKey; } /* * (non-Javadoc) * * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#setForeignKey(org.eclipse.emf.teneo.annotations.pannotation.ForeignKey) */ public void setForeignKey(ForeignKey value) { foreignKey = value; } } // HbAnnotatedEDataTypeImpl