1 /**
2  * <copyright>
3  * </copyright>
4  *
5 
6  */
7 package org.wesnoth.wml.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.EObjectContainmentEList;
19 import org.eclipse.emf.ecore.util.InternalEList;
20 
21 import org.wesnoth.wml.WMLRoot;
22 import org.wesnoth.wml.WMLRootExpression;
23 import org.wesnoth.wml.WmlPackage;
24 
25 /**
26  * <!-- begin-user-doc -->
27  * An implementation of the model object '<em><b>WML Root</b></em>'.
28  * <!-- end-user-doc -->
29  * <p>
30  * The following features are implemented:
31  * <ul>
32  *   <li>{@link org.wesnoth.wml.impl.WMLRootImpl#getExpressions <em>Expressions</em>}</li>
33  * </ul>
34  * </p>
35  *
36  * @generated
37  */
38 public class WMLRootImpl extends WMLGrammarElementImpl implements WMLRoot
39 {
40   /**
41    * <!-- begin-user-doc -->
42    * <!-- end-user-doc -->
43    * @generated
44    */
45   private static final long serialVersionUID = 1L;
46 
47   /**
48    * The cached value of the '{@link #getExpressions() <em>Expressions</em>}' containment reference list.
49    * <!-- begin-user-doc -->
50    * <!-- end-user-doc -->
51    * @see #getExpressions()
52    * @generated
53    * @ordered
54    */
55   protected EList<WMLRootExpression> expressions;
56 
57   /**
58    * <!-- begin-user-doc -->
59    * <!-- end-user-doc -->
60    * @generated
61    */
WMLRootImpl()62   protected WMLRootImpl()
63   {
64     super();
65   }
66 
67   /**
68    * <!-- begin-user-doc -->
69    * <!-- end-user-doc -->
70    * @generated
71    */
72   @Override
eStaticClass()73   protected EClass eStaticClass()
74   {
75     return WmlPackage.Literals.WML_ROOT;
76   }
77 
78   /**
79    * <!-- begin-user-doc -->
80    * <!-- end-user-doc -->
81    * @generated
82    */
getExpressions()83   public EList<WMLRootExpression> getExpressions()
84   {
85     if (expressions == null)
86     {
87       expressions = new EObjectContainmentEList<WMLRootExpression>(WMLRootExpression.class, this, WmlPackage.WML_ROOT__EXPRESSIONS);
88     }
89     return expressions;
90   }
91 
92   /**
93    * <!-- begin-user-doc -->
94    * <!-- end-user-doc -->
95    * @generated
96    */
97   @Override
eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)98   public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
99   {
100     switch (featureID)
101     {
102       case WmlPackage.WML_ROOT__EXPRESSIONS:
103         return ((InternalEList<?>)getExpressions()).basicRemove(otherEnd, msgs);
104     }
105     return super.eInverseRemove(otherEnd, featureID, msgs);
106   }
107 
108   /**
109    * <!-- begin-user-doc -->
110    * <!-- end-user-doc -->
111    * @generated
112    */
113   @Override
eGet(int featureID, boolean resolve, boolean coreType)114   public Object eGet(int featureID, boolean resolve, boolean coreType)
115   {
116     switch (featureID)
117     {
118       case WmlPackage.WML_ROOT__EXPRESSIONS:
119         return getExpressions();
120     }
121     return super.eGet(featureID, resolve, coreType);
122   }
123 
124   /**
125    * <!-- begin-user-doc -->
126    * <!-- end-user-doc -->
127    * @generated
128    */
129   @SuppressWarnings("unchecked")
130   @Override
eSet(int featureID, Object newValue)131   public void eSet(int featureID, Object newValue)
132   {
133     switch (featureID)
134     {
135       case WmlPackage.WML_ROOT__EXPRESSIONS:
136         getExpressions().clear();
137         getExpressions().addAll((Collection<? extends WMLRootExpression>)newValue);
138         return;
139     }
140     super.eSet(featureID, newValue);
141   }
142 
143   /**
144    * <!-- begin-user-doc -->
145    * <!-- end-user-doc -->
146    * @generated
147    */
148   @Override
eUnset(int featureID)149   public void eUnset(int featureID)
150   {
151     switch (featureID)
152     {
153       case WmlPackage.WML_ROOT__EXPRESSIONS:
154         getExpressions().clear();
155         return;
156     }
157     super.eUnset(featureID);
158   }
159 
160   /**
161    * <!-- begin-user-doc -->
162    * <!-- end-user-doc -->
163    * @generated
164    */
165   @Override
eIsSet(int featureID)166   public boolean eIsSet(int featureID)
167   {
168     switch (featureID)
169     {
170       case WmlPackage.WML_ROOT__EXPRESSIONS:
171         return expressions != null && !expressions.isEmpty();
172     }
173     return super.eIsSet(featureID);
174   }
175 
176 } //WMLRootImpl
177