View Javadoc

1   /**
2    * <copyright>
3    * </copyright>
4    *
5    * $Id$
6    */
7   package org.mod4j.dsl.service.mm.ServiceDsl.impl;
8   
9   import java.util.Collection;
10  
11  import org.eclipse.emf.common.notify.NotificationChain;
12  
13  import org.eclipse.emf.common.util.EList;
14  
15  import org.eclipse.emf.ecore.EClass;
16  import org.eclipse.emf.ecore.InternalEObject;
17  
18  import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
19  import org.eclipse.emf.ecore.util.InternalEList;
20  
21  import org.mod4j.dsl.service.mm.ServiceDsl.CrudService;
22  import org.mod4j.dsl.service.mm.ServiceDsl.DtoReference;
23  import org.mod4j.dsl.service.mm.ServiceDsl.ServiceDslPackage;
24  import org.mod4j.dsl.service.mm.ServiceDsl.ServiceMethod;
25  import org.mod4j.dsl.service.mm.ServiceDsl.ServiceModel;
26  
27  /**
28   * <!-- begin-user-doc -->
29   * An implementation of the model object '<em><b>Service Model</b></em>'.
30   * <!-- end-user-doc -->
31   * <p>
32   * The following features are implemented:
33   * <ul>
34   *   <li>{@link org.mod4j.dsl.service.mm.ServiceDsl.impl.ServiceModelImpl#getMethods <em>Methods</em>}</li>
35   *   <li>{@link org.mod4j.dsl.service.mm.ServiceDsl.impl.ServiceModelImpl#getDtoReferences <em>Dto References</em>}</li>
36   *   <li>{@link org.mod4j.dsl.service.mm.ServiceDsl.impl.ServiceModelImpl#getCrudServices <em>Crud Services</em>}</li>
37   * </ul>
38   * </p>
39   *
40   * @generated
41   */
42  public class ServiceModelImpl extends ModelElementImpl implements ServiceModel {
43      /**
44       * The cached value of the '{@link #getMethods() <em>Methods</em>}' containment reference list.
45       * <!-- begin-user-doc -->
46       * <!-- end-user-doc -->
47       * @see #getMethods()
48       * @generated
49       * @ordered
50       */
51      protected EList<ServiceMethod> methods;
52  
53      /**
54       * The cached value of the '{@link #getDtoReferences() <em>Dto References</em>}' containment reference list.
55       * <!-- begin-user-doc -->
56       * <!-- end-user-doc -->
57       * @see #getDtoReferences()
58       * @generated
59       * @ordered
60       */
61      protected EList<DtoReference> dtoReferences;
62  
63      /**
64       * The cached value of the '{@link #getCrudServices() <em>Crud Services</em>}' containment reference list.
65       * <!-- begin-user-doc -->
66       * <!-- end-user-doc -->
67       * @see #getCrudServices()
68       * @generated
69       * @ordered
70       */
71      protected EList<CrudService> crudServices;
72  
73      /**
74       * <!-- begin-user-doc -->
75       * <!-- end-user-doc -->
76       * @generated
77       */
78      protected ServiceModelImpl() {
79          super();
80      }
81  
82      /**
83       * <!-- begin-user-doc -->
84       * <!-- end-user-doc -->
85       * @generated
86       */
87      @Override
88      protected EClass eStaticClass() {
89          return ServiceDslPackage.Literals.SERVICE_MODEL;
90      }
91  
92      /**
93       * <!-- begin-user-doc -->
94       * <!-- end-user-doc -->
95       * @generated
96       */
97      public EList<ServiceMethod> getMethods() {
98          if (methods == null) {
99              methods = new EObjectContainmentWithInverseEList<ServiceMethod>(ServiceMethod.class, this, ServiceDslPackage.SERVICE_MODEL__METHODS, ServiceDslPackage.SERVICE_METHOD__MODEL);
100         }
101         return methods;
102     }
103 
104     /**
105      * <!-- begin-user-doc -->
106      * <!-- end-user-doc -->
107      * @generated
108      */
109     public EList<DtoReference> getDtoReferences() {
110         if (dtoReferences == null) {
111             dtoReferences = new EObjectContainmentWithInverseEList<DtoReference>(DtoReference.class, this, ServiceDslPackage.SERVICE_MODEL__DTO_REFERENCES, ServiceDslPackage.DTO_REFERENCE__MODEL);
112         }
113         return dtoReferences;
114     }
115 
116     /**
117      * <!-- begin-user-doc -->
118      * <!-- end-user-doc -->
119      * @generated
120      */
121     public EList<CrudService> getCrudServices() {
122         if (crudServices == null) {
123             crudServices = new EObjectContainmentWithInverseEList<CrudService>(CrudService.class, this, ServiceDslPackage.SERVICE_MODEL__CRUD_SERVICES, ServiceDslPackage.CRUD_SERVICE__MODEL);
124         }
125         return crudServices;
126     }
127 
128     /**
129      * <!-- begin-user-doc -->
130      * <!-- end-user-doc -->
131      * @generated
132      */
133     @SuppressWarnings("unchecked")
134     @Override
135     public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
136         switch (featureID) {
137             case ServiceDslPackage.SERVICE_MODEL__METHODS:
138                 return ((InternalEList<InternalEObject>)(InternalEList<?>)getMethods()).basicAdd(otherEnd, msgs);
139             case ServiceDslPackage.SERVICE_MODEL__DTO_REFERENCES:
140                 return ((InternalEList<InternalEObject>)(InternalEList<?>)getDtoReferences()).basicAdd(otherEnd, msgs);
141             case ServiceDslPackage.SERVICE_MODEL__CRUD_SERVICES:
142                 return ((InternalEList<InternalEObject>)(InternalEList<?>)getCrudServices()).basicAdd(otherEnd, msgs);
143         }
144         return super.eInverseAdd(otherEnd, featureID, msgs);
145     }
146 
147     /**
148      * <!-- begin-user-doc -->
149      * <!-- end-user-doc -->
150      * @generated
151      */
152     @Override
153     public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
154         switch (featureID) {
155             case ServiceDslPackage.SERVICE_MODEL__METHODS:
156                 return ((InternalEList<?>)getMethods()).basicRemove(otherEnd, msgs);
157             case ServiceDslPackage.SERVICE_MODEL__DTO_REFERENCES:
158                 return ((InternalEList<?>)getDtoReferences()).basicRemove(otherEnd, msgs);
159             case ServiceDslPackage.SERVICE_MODEL__CRUD_SERVICES:
160                 return ((InternalEList<?>)getCrudServices()).basicRemove(otherEnd, msgs);
161         }
162         return super.eInverseRemove(otherEnd, featureID, msgs);
163     }
164 
165     /**
166      * <!-- begin-user-doc -->
167      * <!-- end-user-doc -->
168      * @generated
169      */
170     @Override
171     public Object eGet(int featureID, boolean resolve, boolean coreType) {
172         switch (featureID) {
173             case ServiceDslPackage.SERVICE_MODEL__METHODS:
174                 return getMethods();
175             case ServiceDslPackage.SERVICE_MODEL__DTO_REFERENCES:
176                 return getDtoReferences();
177             case ServiceDslPackage.SERVICE_MODEL__CRUD_SERVICES:
178                 return getCrudServices();
179         }
180         return super.eGet(featureID, resolve, coreType);
181     }
182 
183     /**
184      * <!-- begin-user-doc -->
185      * <!-- end-user-doc -->
186      * @generated
187      */
188     @SuppressWarnings("unchecked")
189     @Override
190     public void eSet(int featureID, Object newValue) {
191         switch (featureID) {
192             case ServiceDslPackage.SERVICE_MODEL__METHODS:
193                 getMethods().clear();
194                 getMethods().addAll((Collection<? extends ServiceMethod>)newValue);
195                 return;
196             case ServiceDslPackage.SERVICE_MODEL__DTO_REFERENCES:
197                 getDtoReferences().clear();
198                 getDtoReferences().addAll((Collection<? extends DtoReference>)newValue);
199                 return;
200             case ServiceDslPackage.SERVICE_MODEL__CRUD_SERVICES:
201                 getCrudServices().clear();
202                 getCrudServices().addAll((Collection<? extends CrudService>)newValue);
203                 return;
204         }
205         super.eSet(featureID, newValue);
206     }
207 
208     /**
209      * <!-- begin-user-doc -->
210      * <!-- end-user-doc -->
211      * @generated
212      */
213     @Override
214     public void eUnset(int featureID) {
215         switch (featureID) {
216             case ServiceDslPackage.SERVICE_MODEL__METHODS:
217                 getMethods().clear();
218                 return;
219             case ServiceDslPackage.SERVICE_MODEL__DTO_REFERENCES:
220                 getDtoReferences().clear();
221                 return;
222             case ServiceDslPackage.SERVICE_MODEL__CRUD_SERVICES:
223                 getCrudServices().clear();
224                 return;
225         }
226         super.eUnset(featureID);
227     }
228 
229     /**
230      * <!-- begin-user-doc -->
231      * <!-- end-user-doc -->
232      * @generated
233      */
234     @Override
235     public boolean eIsSet(int featureID) {
236         switch (featureID) {
237             case ServiceDslPackage.SERVICE_MODEL__METHODS:
238                 return methods != null && !methods.isEmpty();
239             case ServiceDslPackage.SERVICE_MODEL__DTO_REFERENCES:
240                 return dtoReferences != null && !dtoReferences.isEmpty();
241             case ServiceDslPackage.SERVICE_MODEL__CRUD_SERVICES:
242                 return crudServices != null && !crudServices.isEmpty();
243         }
244         return super.eIsSet(featureID);
245     }
246 
247 } //ServiceModelImpl