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.Notification; 12 import org.eclipse.emf.common.notify.NotificationChain; 13 14 import org.eclipse.emf.common.util.EList; 15 16 import org.eclipse.emf.ecore.EClass; 17 import org.eclipse.emf.ecore.InternalEObject; 18 19 import org.eclipse.emf.ecore.impl.ENotificationImpl; 20 21 import org.eclipse.emf.ecore.util.EObjectContainmentEList; 22 import org.eclipse.emf.ecore.util.InternalEList; 23 24 import org.wesnoth.wml.WMLExpression; 25 import org.wesnoth.wml.WMLKey; 26 import org.wesnoth.wml.WMLTag; 27 import org.wesnoth.wml.WmlPackage; 28 29 /** 30 * <!-- begin-user-doc --> 31 * An implementation of the model object '<em><b>WML Tag</b></em>'. 32 * <!-- end-user-doc --> 33 * <p> 34 * The following features are implemented: 35 * <ul> 36 * <li>{@link org.wesnoth.wml.impl.WMLTagImpl#getPlus <em>Plus</em>}</li> 37 * <li>{@link org.wesnoth.wml.impl.WMLTagImpl#getExpressions <em>Expressions</em>}</li> 38 * <li>{@link org.wesnoth.wml.impl.WMLTagImpl#getEndName <em>End Name</em>}</li> 39 * <li>{@link org.wesnoth.wml.impl.WMLTagImpl#get_InhertedTagName <em>Inherted Tag Name</em>}</li> 40 * <li>{@link org.wesnoth.wml.impl.WMLTagImpl#is_NeedingExpansion <em>Needing Expansion</em>}</li> 41 * <li>{@link org.wesnoth.wml.impl.WMLTagImpl#get_Description <em>Description</em>}</li> 42 * </ul> 43 * </p> 44 * 45 * @generated 46 */ 47 public class WMLTagImpl extends WMLRootExpressionImpl implements WMLTag 48 { 49 /** 50 * <!-- begin-user-doc --> 51 * <!-- end-user-doc --> 52 * @generated 53 */ 54 private static final long serialVersionUID = 1L; 55 56 /** 57 * The default value of the '{@link #getPlus() <em>Plus</em>}' attribute. 58 * <!-- begin-user-doc --> 59 * <!-- end-user-doc --> 60 * @see #getPlus() 61 * @generated 62 * @ordered 63 */ 64 protected static final String PLUS_EDEFAULT = ""; 65 66 /** 67 * The cached value of the '{@link #getPlus() <em>Plus</em>}' attribute. 68 * <!-- begin-user-doc --> 69 * <!-- end-user-doc --> 70 * @see #getPlus() 71 * @generated 72 * @ordered 73 */ 74 protected String plus = PLUS_EDEFAULT; 75 76 /** 77 * The cached value of the '{@link #getExpressions() <em>Expressions</em>}' containment reference list. 78 * <!-- begin-user-doc --> 79 * <!-- end-user-doc --> 80 * @see #getExpressions() 81 * @generated 82 * @ordered 83 */ 84 protected EList<WMLExpression> expressions; 85 86 /** 87 * The default value of the '{@link #getEndName() <em>End Name</em>}' attribute. 88 * <!-- begin-user-doc --> 89 * <!-- end-user-doc --> 90 * @see #getEndName() 91 * @generated 92 * @ordered 93 */ 94 protected static final String END_NAME_EDEFAULT = ""; 95 96 /** 97 * The cached value of the '{@link #getEndName() <em>End Name</em>}' attribute. 98 * <!-- begin-user-doc --> 99 * <!-- end-user-doc --> 100 * @see #getEndName() 101 * @generated 102 * @ordered 103 */ 104 protected String endName = END_NAME_EDEFAULT; 105 106 /** 107 * The default value of the '{@link #get_InhertedTagName() <em>Inherted Tag Name</em>}' attribute. 108 * <!-- begin-user-doc --> 109 * <!-- end-user-doc --> 110 * @see #get_InhertedTagName() 111 * @generated 112 * @ordered 113 */ 114 protected static final String _INHERTED_TAG_NAME_EDEFAULT = ""; 115 116 /** 117 * The cached value of the '{@link #get_InhertedTagName() <em>Inherted Tag Name</em>}' attribute. 118 * <!-- begin-user-doc --> 119 * <!-- end-user-doc --> 120 * @see #get_InhertedTagName() 121 * @generated 122 * @ordered 123 */ 124 protected String _InhertedTagName = _INHERTED_TAG_NAME_EDEFAULT; 125 126 /** 127 * The default value of the '{@link #is_NeedingExpansion() <em>Needing Expansion</em>}' attribute. 128 * <!-- begin-user-doc --> 129 * <!-- end-user-doc --> 130 * @see #is_NeedingExpansion() 131 * @generated 132 * @ordered 133 */ 134 protected static final boolean _NEEDING_EXPANSION_EDEFAULT = false; 135 136 /** 137 * The cached value of the '{@link #is_NeedingExpansion() <em>Needing Expansion</em>}' attribute. 138 * <!-- begin-user-doc --> 139 * <!-- end-user-doc --> 140 * @see #is_NeedingExpansion() 141 * @generated 142 * @ordered 143 */ 144 protected boolean _NeedingExpansion = _NEEDING_EXPANSION_EDEFAULT; 145 146 /** 147 * The default value of the '{@link #get_Description() <em>Description</em>}' attribute. 148 * <!-- begin-user-doc --> 149 * <!-- end-user-doc --> 150 * @see #get_Description() 151 * @generated 152 * @ordered 153 */ 154 protected static final String _DESCRIPTION_EDEFAULT = ""; 155 156 /** 157 * The cached value of the '{@link #get_Description() <em>Description</em>}' attribute. 158 * <!-- begin-user-doc --> 159 * <!-- end-user-doc --> 160 * @see #get_Description() 161 * @generated 162 * @ordered 163 */ 164 protected String _Description = _DESCRIPTION_EDEFAULT; 165 166 /** 167 * <!-- begin-user-doc --> 168 * <!-- end-user-doc --> 169 * @generated 170 */ WMLTagImpl()171 protected WMLTagImpl() 172 { 173 super(); 174 } 175 176 /** 177 * <!-- begin-user-doc --> 178 * <!-- end-user-doc --> 179 * @generated 180 */ 181 @Override eStaticClass()182 protected EClass eStaticClass() 183 { 184 return WmlPackage.Literals.WML_TAG; 185 } 186 187 /** 188 * <!-- begin-user-doc --> 189 * <!-- end-user-doc --> 190 * @generated 191 */ getPlus()192 public String getPlus() 193 { 194 return plus; 195 } 196 197 /** 198 * <!-- begin-user-doc --> 199 * <!-- end-user-doc --> 200 * @generated 201 */ setPlus(String newPlus)202 public void setPlus(String newPlus) 203 { 204 String oldPlus = plus; 205 plus = newPlus; 206 if (eNotificationRequired()) 207 eNotify(new ENotificationImpl(this, Notification.SET, WmlPackage.WML_TAG__PLUS, oldPlus, plus)); 208 } 209 210 /** 211 * <!-- begin-user-doc --> 212 * <!-- end-user-doc --> 213 * @generated 214 */ getExpressions()215 public EList<WMLExpression> getExpressions() 216 { 217 if (expressions == null) 218 { 219 expressions = new EObjectContainmentEList<WMLExpression>(WMLExpression.class, this, WmlPackage.WML_TAG__EXPRESSIONS); 220 } 221 return expressions; 222 } 223 224 /** 225 * <!-- begin-user-doc --> 226 * <!-- end-user-doc --> 227 * @generated 228 */ getEndName()229 public String getEndName() 230 { 231 return endName; 232 } 233 234 /** 235 * <!-- begin-user-doc --> 236 * <!-- end-user-doc --> 237 * @generated 238 */ setEndName(String newEndName)239 public void setEndName(String newEndName) 240 { 241 String oldEndName = endName; 242 endName = newEndName; 243 if (eNotificationRequired()) 244 eNotify(new ENotificationImpl(this, Notification.SET, WmlPackage.WML_TAG__END_NAME, oldEndName, endName)); 245 } 246 247 /** 248 * <!-- begin-user-doc --> 249 * <!-- end-user-doc --> 250 * @generated 251 */ get_InhertedTagName()252 public String get_InhertedTagName() 253 { 254 return _InhertedTagName; 255 } 256 257 /** 258 * <!-- begin-user-doc --> 259 * <!-- end-user-doc --> 260 * @generated 261 */ set_InhertedTagName(String new_InhertedTagName)262 public void set_InhertedTagName(String new_InhertedTagName) 263 { 264 String old_InhertedTagName = _InhertedTagName; 265 _InhertedTagName = new_InhertedTagName; 266 if (eNotificationRequired()) 267 eNotify(new ENotificationImpl(this, Notification.SET, WmlPackage.WML_TAG__INHERTED_TAG_NAME, old_InhertedTagName, _InhertedTagName)); 268 } 269 270 /** 271 * <!-- begin-user-doc --> 272 * <!-- end-user-doc --> 273 * @generated 274 */ is_NeedingExpansion()275 public boolean is_NeedingExpansion() 276 { 277 return _NeedingExpansion; 278 } 279 280 /** 281 * <!-- begin-user-doc --> 282 * <!-- end-user-doc --> 283 * @generated 284 */ set_NeedingExpansion(boolean new_NeedingExpansion)285 public void set_NeedingExpansion(boolean new_NeedingExpansion) 286 { 287 boolean old_NeedingExpansion = _NeedingExpansion; 288 _NeedingExpansion = new_NeedingExpansion; 289 if (eNotificationRequired()) 290 eNotify(new ENotificationImpl(this, Notification.SET, WmlPackage.WML_TAG__NEEDING_EXPANSION, old_NeedingExpansion, _NeedingExpansion)); 291 } 292 293 /** 294 * <!-- begin-user-doc --> 295 * <!-- end-user-doc --> 296 * @generated 297 */ get_Description()298 public String get_Description() 299 { 300 return _Description; 301 } 302 303 /** 304 * <!-- begin-user-doc --> 305 * <!-- end-user-doc --> 306 * @generated 307 */ set_Description(String new_Description)308 public void set_Description(String new_Description) 309 { 310 String old_Description = _Description; 311 _Description = new_Description; 312 if (eNotificationRequired()) 313 eNotify(new ENotificationImpl(this, Notification.SET, WmlPackage.WML_TAG__DESCRIPTION, old_Description, _Description)); 314 } 315 316 /** 317 * <!-- begin-user-doc --> 318 * <!-- end-user-doc --> 319 * @generated 320 */ getWMLTags()321 public EList<WMLTag> getWMLTags() 322 { 323 EList<WMLTag> result = new org.eclipse.emf.common.util.BasicEList<WMLTag>(); 324 for ( WMLExpression expression : getExpressions( ) ) { 325 if ( expression.isWMLTag( ) ) 326 result.add( expression.asWMLTag( ) ); 327 } 328 329 return result; 330 } 331 332 /** 333 * <!-- begin-user-doc --> 334 * <!-- end-user-doc --> 335 * @generated 336 */ getWMLKeys()337 public EList<WMLKey> getWMLKeys() 338 { 339 EList<WMLKey> result = new org.eclipse.emf.common.util.BasicEList<WMLKey>(); 340 for ( WMLExpression expression : getExpressions( ) ) { 341 if ( expression.isWMLKey( ) ) 342 result.add( expression.asWMLKey( ) ); 343 } 344 345 return result; 346 } 347 348 /** 349 * <!-- begin-user-doc --> 350 * <!-- end-user-doc --> 351 * @generated 352 */ 353 @Override eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)354 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) 355 { 356 switch (featureID) 357 { 358 case WmlPackage.WML_TAG__EXPRESSIONS: 359 return ((InternalEList<?>)getExpressions()).basicRemove(otherEnd, msgs); 360 } 361 return super.eInverseRemove(otherEnd, featureID, msgs); 362 } 363 364 /** 365 * <!-- begin-user-doc --> 366 * <!-- end-user-doc --> 367 * @generated 368 */ 369 @Override eGet(int featureID, boolean resolve, boolean coreType)370 public Object eGet(int featureID, boolean resolve, boolean coreType) 371 { 372 switch (featureID) 373 { 374 case WmlPackage.WML_TAG__PLUS: 375 return getPlus(); 376 case WmlPackage.WML_TAG__EXPRESSIONS: 377 return getExpressions(); 378 case WmlPackage.WML_TAG__END_NAME: 379 return getEndName(); 380 case WmlPackage.WML_TAG__INHERTED_TAG_NAME: 381 return get_InhertedTagName(); 382 case WmlPackage.WML_TAG__NEEDING_EXPANSION: 383 return is_NeedingExpansion(); 384 case WmlPackage.WML_TAG__DESCRIPTION: 385 return get_Description(); 386 } 387 return super.eGet(featureID, resolve, coreType); 388 } 389 390 /** 391 * <!-- begin-user-doc --> 392 * <!-- end-user-doc --> 393 * @generated 394 */ 395 @SuppressWarnings("unchecked") 396 @Override eSet(int featureID, Object newValue)397 public void eSet(int featureID, Object newValue) 398 { 399 switch (featureID) 400 { 401 case WmlPackage.WML_TAG__PLUS: 402 setPlus((String)newValue); 403 return; 404 case WmlPackage.WML_TAG__EXPRESSIONS: 405 getExpressions().clear(); 406 getExpressions().addAll((Collection<? extends WMLExpression>)newValue); 407 return; 408 case WmlPackage.WML_TAG__END_NAME: 409 setEndName((String)newValue); 410 return; 411 case WmlPackage.WML_TAG__INHERTED_TAG_NAME: 412 set_InhertedTagName((String)newValue); 413 return; 414 case WmlPackage.WML_TAG__NEEDING_EXPANSION: 415 set_NeedingExpansion((Boolean)newValue); 416 return; 417 case WmlPackage.WML_TAG__DESCRIPTION: 418 set_Description((String)newValue); 419 return; 420 } 421 super.eSet(featureID, newValue); 422 } 423 424 /** 425 * <!-- begin-user-doc --> 426 * <!-- end-user-doc --> 427 * @generated 428 */ 429 @Override eUnset(int featureID)430 public void eUnset(int featureID) 431 { 432 switch (featureID) 433 { 434 case WmlPackage.WML_TAG__PLUS: 435 setPlus(PLUS_EDEFAULT); 436 return; 437 case WmlPackage.WML_TAG__EXPRESSIONS: 438 getExpressions().clear(); 439 return; 440 case WmlPackage.WML_TAG__END_NAME: 441 setEndName(END_NAME_EDEFAULT); 442 return; 443 case WmlPackage.WML_TAG__INHERTED_TAG_NAME: 444 set_InhertedTagName(_INHERTED_TAG_NAME_EDEFAULT); 445 return; 446 case WmlPackage.WML_TAG__NEEDING_EXPANSION: 447 set_NeedingExpansion(_NEEDING_EXPANSION_EDEFAULT); 448 return; 449 case WmlPackage.WML_TAG__DESCRIPTION: 450 set_Description(_DESCRIPTION_EDEFAULT); 451 return; 452 } 453 super.eUnset(featureID); 454 } 455 456 /** 457 * <!-- begin-user-doc --> 458 * <!-- end-user-doc --> 459 * @generated 460 */ 461 @Override eIsSet(int featureID)462 public boolean eIsSet(int featureID) 463 { 464 switch (featureID) 465 { 466 case WmlPackage.WML_TAG__PLUS: 467 return PLUS_EDEFAULT == null ? plus != null : !PLUS_EDEFAULT.equals(plus); 468 case WmlPackage.WML_TAG__EXPRESSIONS: 469 return expressions != null && !expressions.isEmpty(); 470 case WmlPackage.WML_TAG__END_NAME: 471 return END_NAME_EDEFAULT == null ? endName != null : !END_NAME_EDEFAULT.equals(endName); 472 case WmlPackage.WML_TAG__INHERTED_TAG_NAME: 473 return _INHERTED_TAG_NAME_EDEFAULT == null ? _InhertedTagName != null : !_INHERTED_TAG_NAME_EDEFAULT.equals(_InhertedTagName); 474 case WmlPackage.WML_TAG__NEEDING_EXPANSION: 475 return _NeedingExpansion != _NEEDING_EXPANSION_EDEFAULT; 476 case WmlPackage.WML_TAG__DESCRIPTION: 477 return _DESCRIPTION_EDEFAULT == null ? _Description != null : !_DESCRIPTION_EDEFAULT.equals(_Description); 478 } 479 return super.eIsSet(featureID); 480 } 481 482 /** 483 * <!-- begin-user-doc --> 484 * <!-- end-user-doc --> 485 * @generated 486 */ 487 @Override toString()488 public String toString() 489 { 490 if (eIsProxy()) return super.toString(); 491 492 StringBuffer result = new StringBuffer(super.toString()); 493 result.append(" (plus: "); 494 result.append(plus); 495 result.append(", endName: "); 496 result.append(endName); 497 result.append(", _InhertedTagName: "); 498 result.append(_InhertedTagName); 499 result.append(", _NeedingExpansion: "); 500 result.append(_NeedingExpansion); 501 result.append(", _Description: "); 502 result.append(_Description); 503 result.append(')'); 504 return result.toString(); 505 } 506 507 } //WMLTagImpl 508