001/** 002 */ 003package org.nasdanika.html.model.html.impl; 004 005import java.util.Collection; 006 007import org.eclipse.emf.common.notify.NotificationChain; 008 009import org.eclipse.emf.common.util.EList; 010 011import org.eclipse.emf.ecore.EClass; 012import org.eclipse.emf.ecore.EObject; 013import org.eclipse.emf.ecore.InternalEObject; 014 015import org.eclipse.emf.ecore.util.InternalEList; 016import org.nasdanika.html.model.html.HtmlPackage; 017import org.nasdanika.html.model.html.Page; 018import org.nasdanika.ncore.impl.ModelElementImpl; 019 020/** 021 * <!-- begin-user-doc --> 022 * An implementation of the model object '<em><b>Page</b></em>'. 023 * <!-- end-user-doc --> 024 * <p> 025 * The following features are implemented: 026 * </p> 027 * <ul> 028 * <li>{@link org.nasdanika.html.model.html.impl.PageImpl#getHead <em>Head</em>}</li> 029 * <li>{@link org.nasdanika.html.model.html.impl.PageImpl#getBody <em>Body</em>}</li> 030 * <li>{@link org.nasdanika.html.model.html.impl.PageImpl#getBuilders <em>Builders</em>}</li> 031 * <li>{@link org.nasdanika.html.model.html.impl.PageImpl#getLanguage <em>Language</em>}</li> 032 * <li>{@link org.nasdanika.html.model.html.impl.PageImpl#getName <em>Name</em>}</li> 033 * <li>{@link org.nasdanika.html.model.html.impl.PageImpl#getStylesheets <em>Stylesheets</em>}</li> 034 * <li>{@link org.nasdanika.html.model.html.impl.PageImpl#getScripts <em>Scripts</em>}</li> 035 * </ul> 036 * 037 * @generated 038 */ 039public class PageImpl extends ModelElementImpl implements Page { 040 /** 041 * The default value of the '{@link #getLanguage() <em>Language</em>}' attribute. 042 * <!-- begin-user-doc --> 043 * <!-- end-user-doc --> 044 * @see #getLanguage() 045 * @generated 046 * @ordered 047 */ 048 protected static final String LANGUAGE_EDEFAULT = null; 049 050 /** 051 * The default value of the '{@link #getName() <em>Name</em>}' attribute. 052 * <!-- begin-user-doc --> 053 * <!-- end-user-doc --> 054 * @see #getName() 055 * @generated 056 * @ordered 057 */ 058 protected static final String NAME_EDEFAULT = null; 059 060 /** 061 * <!-- begin-user-doc --> 062 * <!-- end-user-doc --> 063 * @generated 064 */ 065 protected PageImpl() { 066 super(); 067 } 068 069 /** 070 * <!-- begin-user-doc --> 071 * <!-- end-user-doc --> 072 * @generated 073 */ 074 @Override 075 protected EClass eStaticClass() { 076 return HtmlPackage.Literals.PAGE; 077 } 078 079 /** 080 * <!-- begin-user-doc --> 081 * <!-- end-user-doc --> 082 * @generated 083 */ 084 @SuppressWarnings("unchecked") 085 @Override 086 public EList<EObject> getHead() { 087 return (EList<EObject>)eDynamicGet(HtmlPackage.PAGE__HEAD, HtmlPackage.Literals.PAGE__HEAD, true, true); 088 } 089 090 /** 091 * <!-- begin-user-doc --> 092 * <!-- end-user-doc --> 093 * @generated 094 */ 095 @SuppressWarnings("unchecked") 096 @Override 097 public EList<EObject> getBody() { 098 return (EList<EObject>)eDynamicGet(HtmlPackage.PAGE__BODY, HtmlPackage.Literals.PAGE__BODY, true, true); 099 } 100 101 /** 102 * <!-- begin-user-doc --> 103 * <!-- end-user-doc --> 104 * @generated 105 */ 106 @SuppressWarnings("unchecked") 107 @Override 108 public EList<EObject> getBuilders() { 109 return (EList<EObject>)eDynamicGet(HtmlPackage.PAGE__BUILDERS, HtmlPackage.Literals.PAGE__BUILDERS, true, true); 110 } 111 112 /** 113 * <!-- begin-user-doc --> 114 * <!-- end-user-doc --> 115 * @generated 116 */ 117 @Override 118 public String getLanguage() { 119 return (String)eDynamicGet(HtmlPackage.PAGE__LANGUAGE, HtmlPackage.Literals.PAGE__LANGUAGE, true, true); 120 } 121 122 /** 123 * <!-- begin-user-doc --> 124 * <!-- end-user-doc --> 125 * @generated 126 */ 127 @Override 128 public void setLanguage(String newLanguage) { 129 eDynamicSet(HtmlPackage.PAGE__LANGUAGE, HtmlPackage.Literals.PAGE__LANGUAGE, newLanguage); 130 } 131 132 /** 133 * <!-- begin-user-doc --> 134 * <!-- end-user-doc --> 135 * @generated 136 */ 137 @Override 138 public String getName() { 139 return (String)eDynamicGet(HtmlPackage.PAGE__NAME, HtmlPackage.Literals.PAGE__NAME, true, true); 140 } 141 142 /** 143 * <!-- begin-user-doc --> 144 * <!-- end-user-doc --> 145 * @generated 146 */ 147 @Override 148 public void setName(String newName) { 149 eDynamicSet(HtmlPackage.PAGE__NAME, HtmlPackage.Literals.PAGE__NAME, newName); 150 } 151 152 /** 153 * <!-- begin-user-doc --> 154 * <!-- end-user-doc --> 155 * @generated 156 */ 157 @SuppressWarnings("unchecked") 158 @Override 159 public EList<String> getStylesheets() { 160 return (EList<String>)eDynamicGet(HtmlPackage.PAGE__STYLESHEETS, HtmlPackage.Literals.PAGE__STYLESHEETS, true, true); 161 } 162 163 /** 164 * <!-- begin-user-doc --> 165 * <!-- end-user-doc --> 166 * @generated 167 */ 168 @SuppressWarnings("unchecked") 169 @Override 170 public EList<String> getScripts() { 171 return (EList<String>)eDynamicGet(HtmlPackage.PAGE__SCRIPTS, HtmlPackage.Literals.PAGE__SCRIPTS, true, true); 172 } 173 174 /** 175 * <!-- begin-user-doc --> 176 * <!-- end-user-doc --> 177 * @generated 178 */ 179 @Override 180 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 181 switch (featureID) { 182 case HtmlPackage.PAGE__HEAD: 183 return ((InternalEList<?>)getHead()).basicRemove(otherEnd, msgs); 184 case HtmlPackage.PAGE__BODY: 185 return ((InternalEList<?>)getBody()).basicRemove(otherEnd, msgs); 186 case HtmlPackage.PAGE__BUILDERS: 187 return ((InternalEList<?>)getBuilders()).basicRemove(otherEnd, msgs); 188 } 189 return super.eInverseRemove(otherEnd, featureID, msgs); 190 } 191 192 /** 193 * <!-- begin-user-doc --> 194 * <!-- end-user-doc --> 195 * @generated 196 */ 197 @Override 198 public Object eGet(int featureID, boolean resolve, boolean coreType) { 199 switch (featureID) { 200 case HtmlPackage.PAGE__HEAD: 201 return getHead(); 202 case HtmlPackage.PAGE__BODY: 203 return getBody(); 204 case HtmlPackage.PAGE__BUILDERS: 205 return getBuilders(); 206 case HtmlPackage.PAGE__LANGUAGE: 207 return getLanguage(); 208 case HtmlPackage.PAGE__NAME: 209 return getName(); 210 case HtmlPackage.PAGE__STYLESHEETS: 211 return getStylesheets(); 212 case HtmlPackage.PAGE__SCRIPTS: 213 return getScripts(); 214 } 215 return super.eGet(featureID, resolve, coreType); 216 } 217 218 /** 219 * <!-- begin-user-doc --> 220 * <!-- end-user-doc --> 221 * @generated 222 */ 223 @SuppressWarnings("unchecked") 224 @Override 225 public void eSet(int featureID, Object newValue) { 226 switch (featureID) { 227 case HtmlPackage.PAGE__HEAD: 228 getHead().clear(); 229 getHead().addAll((Collection<? extends EObject>)newValue); 230 return; 231 case HtmlPackage.PAGE__BODY: 232 getBody().clear(); 233 getBody().addAll((Collection<? extends EObject>)newValue); 234 return; 235 case HtmlPackage.PAGE__BUILDERS: 236 getBuilders().clear(); 237 getBuilders().addAll((Collection<? extends EObject>)newValue); 238 return; 239 case HtmlPackage.PAGE__LANGUAGE: 240 setLanguage((String)newValue); 241 return; 242 case HtmlPackage.PAGE__NAME: 243 setName((String)newValue); 244 return; 245 case HtmlPackage.PAGE__STYLESHEETS: 246 getStylesheets().clear(); 247 getStylesheets().addAll((Collection<? extends String>)newValue); 248 return; 249 case HtmlPackage.PAGE__SCRIPTS: 250 getScripts().clear(); 251 getScripts().addAll((Collection<? extends String>)newValue); 252 return; 253 } 254 super.eSet(featureID, newValue); 255 } 256 257 /** 258 * <!-- begin-user-doc --> 259 * <!-- end-user-doc --> 260 * @generated 261 */ 262 @Override 263 public void eUnset(int featureID) { 264 switch (featureID) { 265 case HtmlPackage.PAGE__HEAD: 266 getHead().clear(); 267 return; 268 case HtmlPackage.PAGE__BODY: 269 getBody().clear(); 270 return; 271 case HtmlPackage.PAGE__BUILDERS: 272 getBuilders().clear(); 273 return; 274 case HtmlPackage.PAGE__LANGUAGE: 275 setLanguage(LANGUAGE_EDEFAULT); 276 return; 277 case HtmlPackage.PAGE__NAME: 278 setName(NAME_EDEFAULT); 279 return; 280 case HtmlPackage.PAGE__STYLESHEETS: 281 getStylesheets().clear(); 282 return; 283 case HtmlPackage.PAGE__SCRIPTS: 284 getScripts().clear(); 285 return; 286 } 287 super.eUnset(featureID); 288 } 289 290 /** 291 * <!-- begin-user-doc --> 292 * <!-- end-user-doc --> 293 * @generated 294 */ 295 @Override 296 public boolean eIsSet(int featureID) { 297 switch (featureID) { 298 case HtmlPackage.PAGE__HEAD: 299 return !getHead().isEmpty(); 300 case HtmlPackage.PAGE__BODY: 301 return !getBody().isEmpty(); 302 case HtmlPackage.PAGE__BUILDERS: 303 return !getBuilders().isEmpty(); 304 case HtmlPackage.PAGE__LANGUAGE: 305 return LANGUAGE_EDEFAULT == null ? getLanguage() != null : !LANGUAGE_EDEFAULT.equals(getLanguage()); 306 case HtmlPackage.PAGE__NAME: 307 return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName()); 308 case HtmlPackage.PAGE__STYLESHEETS: 309 return !getStylesheets().isEmpty(); 310 case HtmlPackage.PAGE__SCRIPTS: 311 return !getScripts().isEmpty(); 312 } 313 return super.eIsSet(featureID); 314 } 315 316} //PageImpl