| /** |
| */ |
| package IoTML.Software.Artefact.impl; |
| |
| import IoTML.Software.Artefact.ArtefactPackage; |
| import IoTML.Software.Artefact.ServiceDescription; |
| |
| import java.util.Collection; |
| import java.util.Iterator; |
| |
| 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.InternalEObject; |
| |
| import org.eclipse.emf.ecore.impl.ENotificationImpl; |
| import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; |
| |
| import org.eclipse.emf.ecore.util.EObjectResolvingEList; |
| |
| import org.eclipse.uml2.uml.Interface; |
| import org.eclipse.uml2.uml.Operation; |
| import org.eclipse.uml2.uml.Parameter; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * An implementation of the model object '<em><b>Service Description</b></em>'. |
| * <!-- end-user-doc --> |
| * <p> |
| * The following features are implemented: |
| * </p> |
| * <ul> |
| * <li>{@link IoTML.Software.Artefact.impl.ServiceDescriptionImpl#getBase_Interface <em>Base Interface</em>}</li> |
| * <li>{@link IoTML.Software.Artefact.impl.ServiceDescriptionImpl#getResourceGetSet <em>Resource Get Set</em>}</li> |
| * </ul> |
| * |
| * @generated |
| */ |
| public class ServiceDescriptionImpl extends MinimalEObjectImpl.Container implements ServiceDescription { |
| /** |
| * The cached value of the '{@link #getBase_Interface() <em>Base Interface</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getBase_Interface() |
| * @generated |
| * @ordered |
| */ |
| protected Interface base_Interface; |
| |
| /** |
| * The cached value of the '{@link #getResourceGetSet() <em>Resource Get Set</em>}' reference list. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getResourceGetSet() |
| * @generated |
| * @ordered |
| */ |
| protected EList resourceGetSet; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| protected ServiceDescriptionImpl() { |
| super(); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| protected EClass eStaticClass() { |
| return ArtefactPackage.Literals.SERVICE_DESCRIPTION; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Interface getBase_Interface() { |
| if (base_Interface != null && base_Interface.eIsProxy()) { |
| InternalEObject oldBase_Interface = (InternalEObject)base_Interface; |
| base_Interface = (Interface)eResolveProxy(oldBase_Interface); |
| if (base_Interface != oldBase_Interface) { |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.RESOLVE, ArtefactPackage.SERVICE_DESCRIPTION__BASE_INTERFACE, oldBase_Interface, base_Interface)); |
| } |
| } |
| return base_Interface; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Interface basicGetBase_Interface() { |
| return base_Interface; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public void setBase_Interface(Interface newBase_Interface) { |
| Interface oldBase_Interface = base_Interface; |
| base_Interface = newBase_Interface; |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, ArtefactPackage.SERVICE_DESCRIPTION__BASE_INTERFACE, oldBase_Interface, base_Interface)); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EList getResourceGetSet() { |
| if (resourceGetSet == null) { |
| resourceGetSet = new EObjectResolvingEList(Operation.class, this, ArtefactPackage.SERVICE_DESCRIPTION__RESOURCE_GET_SET); |
| } |
| return resourceGetSet; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Operation getResourceGetSet(String name, EList ownedParameterNames, EList ownedParameterTypes) { |
| return getResourceGetSet(name, ownedParameterNames, ownedParameterTypes, false); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Operation getResourceGetSet(String name, EList ownedParameterNames, EList ownedParameterTypes, boolean ignoreCase) { |
| resourceGetSetLoop: for (Iterator i = getResourceGetSet().iterator(); i.hasNext(); ) { |
| Operation resourceGetSet = (Operation) i.next(); |
| if (name != null && !(ignoreCase ? name.equalsIgnoreCase(resourceGetSet.getName()) : name.equals(resourceGetSet.getName()))) |
| continue resourceGetSetLoop; |
| EList<Parameter> ownedParameterList = resourceGetSet.getOwnedParameters(); |
| int ownedParameterListSize = ownedParameterList.size(); |
| if (ownedParameterNames != null && ownedParameterNames.size() != ownedParameterListSize || (ownedParameterTypes != null && ownedParameterTypes.size() != ownedParameterListSize)) |
| continue resourceGetSetLoop; |
| for (int j = 0; j < ownedParameterListSize; j++) { |
| Parameter ownedParameter = (Parameter) ownedParameterList.get(j); |
| if (ownedParameterNames != null && !(ignoreCase ? ((String)ownedParameterNames.get(j)).equalsIgnoreCase(ownedParameter.getName()) : ownedParameterNames.get(j).equals(ownedParameter.getName()))) |
| continue resourceGetSetLoop; |
| if (ownedParameterTypes != null && !ownedParameterTypes.get(j).equals(ownedParameter.getType())) |
| continue resourceGetSetLoop; |
| } |
| return resourceGetSet; |
| } |
| return null; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Object eGet(int featureID, boolean resolve, boolean coreType) { |
| switch (featureID) { |
| case ArtefactPackage.SERVICE_DESCRIPTION__BASE_INTERFACE: |
| if (resolve) return getBase_Interface(); |
| return basicGetBase_Interface(); |
| case ArtefactPackage.SERVICE_DESCRIPTION__RESOURCE_GET_SET: |
| return getResourceGetSet(); |
| } |
| return super.eGet(featureID, resolve, coreType); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public void eSet(int featureID, Object newValue) { |
| switch (featureID) { |
| case ArtefactPackage.SERVICE_DESCRIPTION__BASE_INTERFACE: |
| setBase_Interface((Interface)newValue); |
| return; |
| case ArtefactPackage.SERVICE_DESCRIPTION__RESOURCE_GET_SET: |
| getResourceGetSet().clear(); |
| getResourceGetSet().addAll((Collection)newValue); |
| return; |
| } |
| super.eSet(featureID, newValue); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public void eUnset(int featureID) { |
| switch (featureID) { |
| case ArtefactPackage.SERVICE_DESCRIPTION__BASE_INTERFACE: |
| setBase_Interface((Interface)null); |
| return; |
| case ArtefactPackage.SERVICE_DESCRIPTION__RESOURCE_GET_SET: |
| getResourceGetSet().clear(); |
| return; |
| } |
| super.eUnset(featureID); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public boolean eIsSet(int featureID) { |
| switch (featureID) { |
| case ArtefactPackage.SERVICE_DESCRIPTION__BASE_INTERFACE: |
| return base_Interface != null; |
| case ArtefactPackage.SERVICE_DESCRIPTION__RESOURCE_GET_SET: |
| return resourceGetSet != null && !resourceGetSet.isEmpty(); |
| } |
| return super.eIsSet(featureID); |
| } |
| |
| } //ServiceDescriptionImpl |