View Javadoc

1   /**
2    * <copyright>
3    * </copyright>
4    *
5    * $Id$
6    */
7   package BusinessDomainDsl.impl;
8   
9   import BusinessDomainDsl.AbstractType;
10  import BusinessDomainDsl.Association;
11  import BusinessDomainDsl.BusinessDomainDslPackage;
12  import BusinessDomainDsl.BusinessDomainModel;
13  import BusinessDomainDsl.Enumeration;
14  
15  import java.util.Collection;
16  
17  import org.eclipse.emf.common.notify.NotificationChain;
18  
19  import org.eclipse.emf.common.util.EList;
20  
21  import org.eclipse.emf.ecore.EClass;
22  import org.eclipse.emf.ecore.InternalEObject;
23  
24  import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
25  import org.eclipse.emf.ecore.util.InternalEList;
26  
27  /**
28   * <!-- begin-user-doc -->
29   * An implementation of the model object '<em><b>Business Domain Model</b></em>'.
30   * <!-- end-user-doc -->
31   * <p>
32   * The following features are implemented:
33   * <ul>
34   *   <li>{@link BusinessDomainDsl.impl.BusinessDomainModelImpl#getEnumerations <em>Enumerations</em>}</li>
35   *   <li>{@link BusinessDomainDsl.impl.BusinessDomainModelImpl#getTypes <em>Types</em>}</li>
36   *   <li>{@link BusinessDomainDsl.impl.BusinessDomainModelImpl#getAssociations <em>Associations</em>}</li>
37   * </ul>
38   * </p>
39   *
40   * @generated
41   */
42  public class BusinessDomainModelImpl extends ModelElementImpl implements BusinessDomainModel {
43  	/**
44       * The cached value of the '{@link #getEnumerations() <em>Enumerations</em>}' containment reference list.
45       * <!-- begin-user-doc -->
46  	 * <!-- end-user-doc -->
47       * @see #getEnumerations()
48       * @generated
49       * @ordered
50       */
51  	protected EList<Enumeration> enumerations;
52  
53  	/**
54       * The cached value of the '{@link #getTypes() <em>Types</em>}' containment reference list.
55       * <!-- begin-user-doc -->
56  	 * <!-- end-user-doc -->
57       * @see #getTypes()
58       * @generated
59       * @ordered
60       */
61  	protected EList<AbstractType> types;
62  
63  	/**
64       * The cached value of the '{@link #getAssociations() <em>Associations</em>}' containment reference list.
65       * <!-- begin-user-doc -->
66  	 * <!-- end-user-doc -->
67       * @see #getAssociations()
68       * @generated
69       * @ordered
70       */
71  	protected EList<Association> associations;
72  
73  	/**
74       * <!-- begin-user-doc -->
75  	 * <!-- end-user-doc -->
76       * @generated
77       */
78  	protected BusinessDomainModelImpl() {
79          super();
80      }
81  
82  	/**
83       * <!-- begin-user-doc -->
84  	 * <!-- end-user-doc -->
85       * @generated
86       */
87  	@Override
88  	protected EClass eStaticClass() {
89          return BusinessDomainDslPackage.Literals.BUSINESS_DOMAIN_MODEL;
90      }
91  
92  	/**
93       * <!-- begin-user-doc -->
94  	 * <!-- end-user-doc -->
95       * @generated
96       */
97  	public EList<Enumeration> getEnumerations() {
98          if (enumerations == null) {
99              enumerations = new EObjectContainmentWithInverseEList<Enumeration>(Enumeration.class, this, BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS, BusinessDomainDslPackage.ENUMERATION__MODEL);
100         }
101         return enumerations;
102     }
103 
104 	/**
105      * <!-- begin-user-doc -->
106 	 * <!-- end-user-doc -->
107      * @generated
108      */
109 	public EList<AbstractType> getTypes() {
110         if (types == null) {
111             types = new EObjectContainmentWithInverseEList<AbstractType>(AbstractType.class, this, BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES, BusinessDomainDslPackage.ABSTRACT_TYPE__MODEL);
112         }
113         return types;
114     }
115 
116 	/**
117      * <!-- begin-user-doc -->
118 	 * <!-- end-user-doc -->
119      * @generated
120      */
121 	public EList<Association> getAssociations() {
122         if (associations == null) {
123             associations = new EObjectContainmentWithInverseEList<Association>(Association.class, this, BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS, BusinessDomainDslPackage.ASSOCIATION__MODEL);
124         }
125         return associations;
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 BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS:
138                 return ((InternalEList<InternalEObject>)(InternalEList<?>)getEnumerations()).basicAdd(otherEnd, msgs);
139             case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES:
140                 return ((InternalEList<InternalEObject>)(InternalEList<?>)getTypes()).basicAdd(otherEnd, msgs);
141             case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS:
142                 return ((InternalEList<InternalEObject>)(InternalEList<?>)getAssociations()).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 BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS:
156                 return ((InternalEList<?>)getEnumerations()).basicRemove(otherEnd, msgs);
157             case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES:
158                 return ((InternalEList<?>)getTypes()).basicRemove(otherEnd, msgs);
159             case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS:
160                 return ((InternalEList<?>)getAssociations()).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 BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS:
174                 return getEnumerations();
175             case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES:
176                 return getTypes();
177             case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS:
178                 return getAssociations();
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 BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS:
193                 getEnumerations().clear();
194                 getEnumerations().addAll((Collection<? extends Enumeration>)newValue);
195                 return;
196             case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES:
197                 getTypes().clear();
198                 getTypes().addAll((Collection<? extends AbstractType>)newValue);
199                 return;
200             case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS:
201                 getAssociations().clear();
202                 getAssociations().addAll((Collection<? extends Association>)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 BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS:
217                 getEnumerations().clear();
218                 return;
219             case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES:
220                 getTypes().clear();
221                 return;
222             case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS:
223                 getAssociations().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 BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS:
238                 return enumerations != null && !enumerations.isEmpty();
239             case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES:
240                 return types != null && !types.isEmpty();
241             case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS:
242                 return associations != null && !associations.isEmpty();
243         }
244         return super.eIsSet(featureID);
245     }
246 
247 } //BusinessDomainModelImpl