| /******************************************************************************* |
| * Copyright (c) 2016 David Carlson and others. |
| * 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: |
| * David Carlson (Clinical Cloud Solutions, LLC) - initial API and implementation |
| *******************************************************************************/ |
| /** |
| */ |
| package org.eclipse.mdht.uml.fhir.core.resource.impl; |
| |
| 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.InternalEObject; |
| |
| import org.eclipse.emf.ecore.impl.ENotificationImpl; |
| |
| import org.eclipse.emf.ecore.util.EObjectResolvingEList; |
| |
| import org.eclipse.mdht.uml.fhir.core.datatype.Code; |
| import org.eclipse.mdht.uml.fhir.core.datatype.DateTime; |
| import org.eclipse.mdht.uml.fhir.core.datatype.Identifier; |
| |
| import org.eclipse.mdht.uml.fhir.core.resource.FhirResourcePackage; |
| import org.eclipse.mdht.uml.fhir.core.resource.Order; |
| import org.eclipse.mdht.uml.fhir.core.resource.OrderResponse; |
| import org.eclipse.mdht.uml.fhir.core.resource.Resource; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * An implementation of the model object '<em><b>Order Response</b></em>'. |
| * <!-- end-user-doc --> |
| * <p> |
| * The following features are implemented: |
| * </p> |
| * <ul> |
| * <li>{@link org.eclipse.mdht.uml.fhir.core.resource.impl.OrderResponseImpl#getIdentifiers <em>Identifier</em>}</li> |
| * <li>{@link org.eclipse.mdht.uml.fhir.core.resource.impl.OrderResponseImpl#getRequest <em>Request</em>}</li> |
| * <li>{@link org.eclipse.mdht.uml.fhir.core.resource.impl.OrderResponseImpl#getDate <em>Date</em>}</li> |
| * <li>{@link org.eclipse.mdht.uml.fhir.core.resource.impl.OrderResponseImpl#getWho <em>Who</em>}</li> |
| * <li>{@link org.eclipse.mdht.uml.fhir.core.resource.impl.OrderResponseImpl#getOrderStatus <em>Order Status</em>}</li> |
| * <li>{@link org.eclipse.mdht.uml.fhir.core.resource.impl.OrderResponseImpl#getDescription <em>Description</em>}</li> |
| * <li>{@link org.eclipse.mdht.uml.fhir.core.resource.impl.OrderResponseImpl#getFulfillments <em>Fulfillment</em>}</li> |
| * </ul> |
| * |
| * @generated |
| */ |
| public class OrderResponseImpl extends DomainResourceImpl implements OrderResponse { |
| /** |
| * The cached value of the '{@link #getIdentifiers() <em>Identifier</em>}' reference list. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getIdentifiers() |
| * @generated |
| * @ordered |
| */ |
| protected EList<Identifier> identifiers; |
| |
| /** |
| * The cached value of the '{@link #getRequest() <em>Request</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getRequest() |
| * @generated |
| * @ordered |
| */ |
| protected Order request; |
| |
| /** |
| * The cached value of the '{@link #getDate() <em>Date</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getDate() |
| * @generated |
| * @ordered |
| */ |
| protected DateTime date; |
| |
| /** |
| * The cached value of the '{@link #getWho() <em>Who</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getWho() |
| * @generated |
| * @ordered |
| */ |
| protected Resource who; |
| |
| /** |
| * The cached value of the '{@link #getOrderStatus() <em>Order Status</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getOrderStatus() |
| * @generated |
| * @ordered |
| */ |
| protected Code orderStatus; |
| |
| /** |
| * The cached value of the '{@link #getDescription() <em>Description</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getDescription() |
| * @generated |
| * @ordered |
| */ |
| protected org.eclipse.mdht.uml.fhir.core.datatype.String description; |
| |
| /** |
| * The cached value of the '{@link #getFulfillments() <em>Fulfillment</em>}' reference list. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getFulfillments() |
| * @generated |
| * @ordered |
| */ |
| protected EList<Resource> fulfillments; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| protected OrderResponseImpl() { |
| super(); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| protected EClass eStaticClass() { |
| return FhirResourcePackage.eINSTANCE.getOrderResponse(); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EList<Identifier> getIdentifiers() { |
| if (identifiers == null) { |
| identifiers = new EObjectResolvingEList<Identifier>(Identifier.class, this, FhirResourcePackage.ORDER_RESPONSE__IDENTIFIER); |
| } |
| return identifiers; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Order getRequest() { |
| if (request != null && request.eIsProxy()) { |
| InternalEObject oldRequest = (InternalEObject)request; |
| request = (Order)eResolveProxy(oldRequest); |
| if (request != oldRequest) { |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.RESOLVE, FhirResourcePackage.ORDER_RESPONSE__REQUEST, oldRequest, request)); |
| } |
| } |
| return request; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Order basicGetRequest() { |
| return request; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public void setRequest(Order newRequest) { |
| Order oldRequest = request; |
| request = newRequest; |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, FhirResourcePackage.ORDER_RESPONSE__REQUEST, oldRequest, request)); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public DateTime getDate() { |
| if (date != null && date.eIsProxy()) { |
| InternalEObject oldDate = (InternalEObject)date; |
| date = (DateTime)eResolveProxy(oldDate); |
| if (date != oldDate) { |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.RESOLVE, FhirResourcePackage.ORDER_RESPONSE__DATE, oldDate, date)); |
| } |
| } |
| return date; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public DateTime basicGetDate() { |
| return date; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public void setDate(DateTime newDate) { |
| DateTime oldDate = date; |
| date = newDate; |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, FhirResourcePackage.ORDER_RESPONSE__DATE, oldDate, date)); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Resource getWho() { |
| if (who != null && who.eIsProxy()) { |
| InternalEObject oldWho = (InternalEObject)who; |
| who = (Resource)eResolveProxy(oldWho); |
| if (who != oldWho) { |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.RESOLVE, FhirResourcePackage.ORDER_RESPONSE__WHO, oldWho, who)); |
| } |
| } |
| return who; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Resource basicGetWho() { |
| return who; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public void setWho(Resource newWho) { |
| Resource oldWho = who; |
| who = newWho; |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, FhirResourcePackage.ORDER_RESPONSE__WHO, oldWho, who)); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Code getOrderStatus() { |
| if (orderStatus != null && orderStatus.eIsProxy()) { |
| InternalEObject oldOrderStatus = (InternalEObject)orderStatus; |
| orderStatus = (Code)eResolveProxy(oldOrderStatus); |
| if (orderStatus != oldOrderStatus) { |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.RESOLVE, FhirResourcePackage.ORDER_RESPONSE__ORDER_STATUS, oldOrderStatus, orderStatus)); |
| } |
| } |
| return orderStatus; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Code basicGetOrderStatus() { |
| return orderStatus; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public void setOrderStatus(Code newOrderStatus) { |
| Code oldOrderStatus = orderStatus; |
| orderStatus = newOrderStatus; |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, FhirResourcePackage.ORDER_RESPONSE__ORDER_STATUS, oldOrderStatus, orderStatus)); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public org.eclipse.mdht.uml.fhir.core.datatype.String getDescription() { |
| if (description != null && description.eIsProxy()) { |
| InternalEObject oldDescription = (InternalEObject)description; |
| description = (org.eclipse.mdht.uml.fhir.core.datatype.String)eResolveProxy(oldDescription); |
| if (description != oldDescription) { |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.RESOLVE, FhirResourcePackage.ORDER_RESPONSE__DESCRIPTION, oldDescription, description)); |
| } |
| } |
| return description; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public org.eclipse.mdht.uml.fhir.core.datatype.String basicGetDescription() { |
| return description; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public void setDescription(org.eclipse.mdht.uml.fhir.core.datatype.String newDescription) { |
| org.eclipse.mdht.uml.fhir.core.datatype.String oldDescription = description; |
| description = newDescription; |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, FhirResourcePackage.ORDER_RESPONSE__DESCRIPTION, oldDescription, description)); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EList<Resource> getFulfillments() { |
| if (fulfillments == null) { |
| fulfillments = new EObjectResolvingEList<Resource>(Resource.class, this, FhirResourcePackage.ORDER_RESPONSE__FULFILLMENT); |
| } |
| return fulfillments; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public Object eGet(int featureID, boolean resolve, boolean coreType) { |
| switch (featureID) { |
| case FhirResourcePackage.ORDER_RESPONSE__IDENTIFIER: |
| return getIdentifiers(); |
| case FhirResourcePackage.ORDER_RESPONSE__REQUEST: |
| if (resolve) return getRequest(); |
| return basicGetRequest(); |
| case FhirResourcePackage.ORDER_RESPONSE__DATE: |
| if (resolve) return getDate(); |
| return basicGetDate(); |
| case FhirResourcePackage.ORDER_RESPONSE__WHO: |
| if (resolve) return getWho(); |
| return basicGetWho(); |
| case FhirResourcePackage.ORDER_RESPONSE__ORDER_STATUS: |
| if (resolve) return getOrderStatus(); |
| return basicGetOrderStatus(); |
| case FhirResourcePackage.ORDER_RESPONSE__DESCRIPTION: |
| if (resolve) return getDescription(); |
| return basicGetDescription(); |
| case FhirResourcePackage.ORDER_RESPONSE__FULFILLMENT: |
| return getFulfillments(); |
| } |
| 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 FhirResourcePackage.ORDER_RESPONSE__IDENTIFIER: |
| getIdentifiers().clear(); |
| getIdentifiers().addAll((Collection<? extends Identifier>)newValue); |
| return; |
| case FhirResourcePackage.ORDER_RESPONSE__REQUEST: |
| setRequest((Order)newValue); |
| return; |
| case FhirResourcePackage.ORDER_RESPONSE__DATE: |
| setDate((DateTime)newValue); |
| return; |
| case FhirResourcePackage.ORDER_RESPONSE__WHO: |
| setWho((Resource)newValue); |
| return; |
| case FhirResourcePackage.ORDER_RESPONSE__ORDER_STATUS: |
| setOrderStatus((Code)newValue); |
| return; |
| case FhirResourcePackage.ORDER_RESPONSE__DESCRIPTION: |
| setDescription((org.eclipse.mdht.uml.fhir.core.datatype.String)newValue); |
| return; |
| case FhirResourcePackage.ORDER_RESPONSE__FULFILLMENT: |
| getFulfillments().clear(); |
| getFulfillments().addAll((Collection<? extends Resource>)newValue); |
| return; |
| } |
| super.eSet(featureID, newValue); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public void eUnset(int featureID) { |
| switch (featureID) { |
| case FhirResourcePackage.ORDER_RESPONSE__IDENTIFIER: |
| getIdentifiers().clear(); |
| return; |
| case FhirResourcePackage.ORDER_RESPONSE__REQUEST: |
| setRequest((Order)null); |
| return; |
| case FhirResourcePackage.ORDER_RESPONSE__DATE: |
| setDate((DateTime)null); |
| return; |
| case FhirResourcePackage.ORDER_RESPONSE__WHO: |
| setWho((Resource)null); |
| return; |
| case FhirResourcePackage.ORDER_RESPONSE__ORDER_STATUS: |
| setOrderStatus((Code)null); |
| return; |
| case FhirResourcePackage.ORDER_RESPONSE__DESCRIPTION: |
| setDescription((org.eclipse.mdht.uml.fhir.core.datatype.String)null); |
| return; |
| case FhirResourcePackage.ORDER_RESPONSE__FULFILLMENT: |
| getFulfillments().clear(); |
| return; |
| } |
| super.eUnset(featureID); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public boolean eIsSet(int featureID) { |
| switch (featureID) { |
| case FhirResourcePackage.ORDER_RESPONSE__IDENTIFIER: |
| return identifiers != null && !identifiers.isEmpty(); |
| case FhirResourcePackage.ORDER_RESPONSE__REQUEST: |
| return request != null; |
| case FhirResourcePackage.ORDER_RESPONSE__DATE: |
| return date != null; |
| case FhirResourcePackage.ORDER_RESPONSE__WHO: |
| return who != null; |
| case FhirResourcePackage.ORDER_RESPONSE__ORDER_STATUS: |
| return orderStatus != null; |
| case FhirResourcePackage.ORDER_RESPONSE__DESCRIPTION: |
| return description != null; |
| case FhirResourcePackage.ORDER_RESPONSE__FULFILLMENT: |
| return fulfillments != null && !fulfillments.isEmpty(); |
| } |
| return super.eIsSet(featureID); |
| } |
| |
| } //OrderResponseImpl |