/** * <copyright> * </copyright> * * $Id$ */ package com.hundsun.ares.studio.model.reference.impl; import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.builder.HashCodeBuilder; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.EObjectImpl; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.model.reference.ReferencePackage; import com.hundsun.ares.studio.model.reference.RelationInfo; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Relation Info</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link com.hundsun.ares.studio.model.reference.impl.RelationInfoImpl#getHostResource <em>Host Resource</em>}</li> * <li>{@link com.hundsun.ares.studio.model.reference.impl.RelationInfoImpl#getUsedRefName <em>Used Ref Name</em>}</li> * <li>{@link com.hundsun.ares.studio.model.reference.impl.RelationInfoImpl#getUsedRefNamespace <em>Used Ref Namespace</em>}</li> * <li>{@link com.hundsun.ares.studio.model.reference.impl.RelationInfoImpl#getUsedRefType <em>Used Ref Type</em>}</li> * </ul> * </p> * * @generated */ public class RelationInfoImpl extends EObjectImpl implements RelationInfo { /** * The default value of the '{@link #getHostResource() <em>Host Resource</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getHostResource() * @generated * @ordered */ protected static final IARESResource HOST_RESOURCE_EDEFAULT = null; /** * The cached value of the '{@link #getHostResource() <em>Host Resource</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getHostResource() * @generated * @ordered */ protected IARESResource hostResource = HOST_RESOURCE_EDEFAULT; /** * The default value of the '{@link #getUsedRefName() <em>Used Ref Name</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUsedRefName() * @generated * @ordered */ protected static final String USED_REF_NAME_EDEFAULT = null; /** * The cached value of the '{@link #getUsedRefName() <em>Used Ref Name</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUsedRefName() * @generated * @ordered */ protected String usedRefName = USED_REF_NAME_EDEFAULT; /** * The default value of the '{@link #getUsedRefNamespace() <em>Used Ref Namespace</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUsedRefNamespace() * @generated * @ordered */ protected static final String USED_REF_NAMESPACE_EDEFAULT = null; /** * The cached value of the '{@link #getUsedRefNamespace() <em>Used Ref Namespace</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUsedRefNamespace() * @generated * @ordered */ protected String usedRefNamespace = USED_REF_NAMESPACE_EDEFAULT; /** * The default value of the '{@link #getUsedRefType() <em>Used Ref Type</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUsedRefType() * @generated * @ordered */ protected static final String USED_REF_TYPE_EDEFAULT = null; /** * The cached value of the '{@link #getUsedRefType() <em>Used Ref Type</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUsedRefType() * @generated * @ordered */ protected String usedRefType = USED_REF_TYPE_EDEFAULT; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected RelationInfoImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return ReferencePackage.Literals.RELATION_INFO; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public IARESResource getHostResource() { return hostResource; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setHostResource(IARESResource newHostResource) { IARESResource oldHostResource = hostResource; hostResource = newHostResource; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ReferencePackage.RELATION_INFO__HOST_RESOURCE, oldHostResource, hostResource)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getUsedRefName() { return usedRefName; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setUsedRefName(String newUsedRefName) { String oldUsedRefName = usedRefName; usedRefName = newUsedRefName; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ReferencePackage.RELATION_INFO__USED_REF_NAME, oldUsedRefName, usedRefName)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getUsedRefNamespace() { return usedRefNamespace; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setUsedRefNamespace(String newUsedRefNamespace) { String oldUsedRefNamespace = usedRefNamespace; usedRefNamespace = newUsedRefNamespace; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ReferencePackage.RELATION_INFO__USED_REF_NAMESPACE, oldUsedRefNamespace, usedRefNamespace)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getUsedRefType() { return usedRefType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setUsedRefType(String newUsedRefType) { String oldUsedRefType = usedRefType; usedRefType = newUsedRefType; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ReferencePackage.RELATION_INFO__USED_REF_TYPE, oldUsedRefType, usedRefType)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case ReferencePackage.RELATION_INFO__HOST_RESOURCE: return getHostResource(); case ReferencePackage.RELATION_INFO__USED_REF_NAME: return getUsedRefName(); case ReferencePackage.RELATION_INFO__USED_REF_NAMESPACE: return getUsedRefNamespace(); case ReferencePackage.RELATION_INFO__USED_REF_TYPE: return getUsedRefType(); } return super.eGet(featureID, resolve, coreType); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case ReferencePackage.RELATION_INFO__HOST_RESOURCE: setHostResource((IARESResource)newValue); return; case ReferencePackage.RELATION_INFO__USED_REF_NAME: setUsedRefName((String)newValue); return; case ReferencePackage.RELATION_INFO__USED_REF_NAMESPACE: setUsedRefNamespace((String)newValue); return; case ReferencePackage.RELATION_INFO__USED_REF_TYPE: setUsedRefType((String)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case ReferencePackage.RELATION_INFO__HOST_RESOURCE: setHostResource(HOST_RESOURCE_EDEFAULT); return; case ReferencePackage.RELATION_INFO__USED_REF_NAME: setUsedRefName(USED_REF_NAME_EDEFAULT); return; case ReferencePackage.RELATION_INFO__USED_REF_NAMESPACE: setUsedRefNamespace(USED_REF_NAMESPACE_EDEFAULT); return; case ReferencePackage.RELATION_INFO__USED_REF_TYPE: setUsedRefType(USED_REF_TYPE_EDEFAULT); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case ReferencePackage.RELATION_INFO__HOST_RESOURCE: return HOST_RESOURCE_EDEFAULT == null ? hostResource != null : !HOST_RESOURCE_EDEFAULT.equals(hostResource); case ReferencePackage.RELATION_INFO__USED_REF_NAME: return USED_REF_NAME_EDEFAULT == null ? usedRefName != null : !USED_REF_NAME_EDEFAULT.equals(usedRefName); case ReferencePackage.RELATION_INFO__USED_REF_NAMESPACE: return USED_REF_NAMESPACE_EDEFAULT == null ? usedRefNamespace != null : !USED_REF_NAMESPACE_EDEFAULT.equals(usedRefNamespace); case ReferencePackage.RELATION_INFO__USED_REF_TYPE: return USED_REF_TYPE_EDEFAULT == null ? usedRefType != null : !USED_REF_TYPE_EDEFAULT.equals(usedRefType); } 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(" (hostResource: "); result.append(hostResource); result.append(", usedRefName: "); result.append(usedRefName); result.append(", usedRefNamespace: "); result.append(usedRefNamespace); result.append(", usedRefType: "); result.append(usedRefType); result.append(')'); return result.toString(); } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ @Override public int hashCode() { return new HashCodeBuilder().append(hostResource).append(usedRefName).append(usedRefType).append(usedRefNamespace).toHashCode(); } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (obj == this) { return true; } if (obj != null && obj.getClass().equals(getClass())) { RelationInfoImpl other = (RelationInfoImpl)obj; return ObjectUtils.equals(hostResource, other.hostResource) && ObjectUtils.equals(usedRefName, other.usedRefName) && ObjectUtils.equals(usedRefType, other.usedRefType) && ObjectUtils.equals(usedRefNamespace, other.usedRefNamespace); } return super.equals(obj); } } //RelationInfoImpl