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