001/**
002 */
003package org.nasdanika.html.model.bootstrap.impl;
004
005import org.eclipse.emf.common.notify.NotificationChain;
006import org.eclipse.emf.ecore.EClass;
007import org.eclipse.emf.ecore.InternalEObject;
008import org.nasdanika.html.model.bootstrap.BootstrapElement;
009import org.nasdanika.html.model.bootstrap.BootstrapPackage;
010import org.nasdanika.html.model.bootstrap.Modal;
011
012/**
013 * <!-- begin-user-doc -->
014 * An implementation of the model object '<em><b>Modal</b></em>'.
015 * <!-- end-user-doc -->
016 * <p>
017 * The following features are implemented:
018 * </p>
019 * <ul>
020 *   <li>{@link org.nasdanika.html.model.bootstrap.impl.ModalImpl#getHeader <em>Header</em>}</li>
021 *   <li>{@link org.nasdanika.html.model.bootstrap.impl.ModalImpl#getBody <em>Body</em>}</li>
022 *   <li>{@link org.nasdanika.html.model.bootstrap.impl.ModalImpl#getFooter <em>Footer</em>}</li>
023 *   <li>{@link org.nasdanika.html.model.bootstrap.impl.ModalImpl#isDismisser <em>Dismisser</em>}</li>
024 *   <li>{@link org.nasdanika.html.model.bootstrap.impl.ModalImpl#isScrollable <em>Scrollable</em>}</li>
025 *   <li>{@link org.nasdanika.html.model.bootstrap.impl.ModalImpl#isCentered <em>Centered</em>}</li>
026 *   <li>{@link org.nasdanika.html.model.bootstrap.impl.ModalImpl#getSize <em>Size</em>}</li>
027 * </ul>
028 *
029 * @generated
030 */
031public class ModalImpl extends BootstrapElementImpl implements Modal {
032        /**
033         * The default value of the '{@link #isDismisser() <em>Dismisser</em>}' attribute.
034         * <!-- begin-user-doc -->
035         * <!-- end-user-doc -->
036         * @see #isDismisser()
037         * @generated
038         * @ordered
039         */
040        protected static final boolean DISMISSER_EDEFAULT = true;
041        /**
042         * The default value of the '{@link #isScrollable() <em>Scrollable</em>}' attribute.
043         * <!-- begin-user-doc -->
044         * <!-- end-user-doc -->
045         * @see #isScrollable()
046         * @generated
047         * @ordered
048         */
049        protected static final boolean SCROLLABLE_EDEFAULT = false;
050        /**
051         * The default value of the '{@link #isCentered() <em>Centered</em>}' attribute.
052         * <!-- begin-user-doc -->
053         * <!-- end-user-doc -->
054         * @see #isCentered()
055         * @generated
056         * @ordered
057         */
058        protected static final boolean CENTERED_EDEFAULT = false;
059        /**
060         * The default value of the '{@link #getSize() <em>Size</em>}' attribute.
061         * <!-- begin-user-doc -->
062         * <!-- end-user-doc -->
063         * @see #getSize()
064         * @generated
065         * @ordered
066         */
067        protected static final String SIZE_EDEFAULT = "";
068
069        /**
070         * <!-- begin-user-doc -->
071         * <!-- end-user-doc -->
072         * @generated
073         */
074        protected ModalImpl() {
075                super();
076        }
077
078        /**
079         * <!-- begin-user-doc -->
080         * <!-- end-user-doc -->
081         * @generated
082         */
083        @Override
084        protected EClass eStaticClass() {
085                return BootstrapPackage.Literals.MODAL;
086        }
087
088        /**
089         * <!-- begin-user-doc -->
090         * <!-- end-user-doc -->
091         * @generated
092         */
093        @Override
094        public BootstrapElement getHeader() {
095                return (BootstrapElement)eDynamicGet(BootstrapPackage.MODAL__HEADER, BootstrapPackage.Literals.MODAL__HEADER, true, true);
096        }
097
098        /**
099         * <!-- begin-user-doc -->
100         * <!-- end-user-doc -->
101         * @generated
102         */
103        public NotificationChain basicSetHeader(BootstrapElement newHeader, NotificationChain msgs) {
104                msgs = eDynamicInverseAdd((InternalEObject)newHeader, BootstrapPackage.MODAL__HEADER, msgs);
105                return msgs;
106        }
107
108        /**
109         * <!-- begin-user-doc -->
110         * <!-- end-user-doc -->
111         * @generated
112         */
113        @Override
114        public void setHeader(BootstrapElement newHeader) {
115                eDynamicSet(BootstrapPackage.MODAL__HEADER, BootstrapPackage.Literals.MODAL__HEADER, newHeader);
116        }
117
118        /**
119         * <!-- begin-user-doc -->
120         * <!-- end-user-doc -->
121         * @generated
122         */
123        @Override
124        public BootstrapElement getBody() {
125                return (BootstrapElement)eDynamicGet(BootstrapPackage.MODAL__BODY, BootstrapPackage.Literals.MODAL__BODY, true, true);
126        }
127
128        /**
129         * <!-- begin-user-doc -->
130         * <!-- end-user-doc -->
131         * @generated
132         */
133        public NotificationChain basicSetBody(BootstrapElement newBody, NotificationChain msgs) {
134                msgs = eDynamicInverseAdd((InternalEObject)newBody, BootstrapPackage.MODAL__BODY, msgs);
135                return msgs;
136        }
137
138        /**
139         * <!-- begin-user-doc -->
140         * <!-- end-user-doc -->
141         * @generated
142         */
143        @Override
144        public void setBody(BootstrapElement newBody) {
145                eDynamicSet(BootstrapPackage.MODAL__BODY, BootstrapPackage.Literals.MODAL__BODY, newBody);
146        }
147
148        /**
149         * <!-- begin-user-doc -->
150         * <!-- end-user-doc -->
151         * @generated
152         */
153        @Override
154        public BootstrapElement getFooter() {
155                return (BootstrapElement)eDynamicGet(BootstrapPackage.MODAL__FOOTER, BootstrapPackage.Literals.MODAL__FOOTER, true, true);
156        }
157
158        /**
159         * <!-- begin-user-doc -->
160         * <!-- end-user-doc -->
161         * @generated
162         */
163        public NotificationChain basicSetFooter(BootstrapElement newFooter, NotificationChain msgs) {
164                msgs = eDynamicInverseAdd((InternalEObject)newFooter, BootstrapPackage.MODAL__FOOTER, msgs);
165                return msgs;
166        }
167
168        /**
169         * <!-- begin-user-doc -->
170         * <!-- end-user-doc -->
171         * @generated
172         */
173        @Override
174        public void setFooter(BootstrapElement newFooter) {
175                eDynamicSet(BootstrapPackage.MODAL__FOOTER, BootstrapPackage.Literals.MODAL__FOOTER, newFooter);
176        }
177
178        /**
179         * <!-- begin-user-doc -->
180         * <!-- end-user-doc -->
181         * @generated
182         */
183        @Override
184        public boolean isDismisser() {
185                return (Boolean)eDynamicGet(BootstrapPackage.MODAL__DISMISSER, BootstrapPackage.Literals.MODAL__DISMISSER, true, true);
186        }
187
188        /**
189         * <!-- begin-user-doc -->
190         * <!-- end-user-doc -->
191         * @generated
192         */
193        @Override
194        public void setDismisser(boolean newDismisser) {
195                eDynamicSet(BootstrapPackage.MODAL__DISMISSER, BootstrapPackage.Literals.MODAL__DISMISSER, newDismisser);
196        }
197
198        /**
199         * <!-- begin-user-doc -->
200         * <!-- end-user-doc -->
201         * @generated
202         */
203        @Override
204        public boolean isScrollable() {
205                return (Boolean)eDynamicGet(BootstrapPackage.MODAL__SCROLLABLE, BootstrapPackage.Literals.MODAL__SCROLLABLE, true, true);
206        }
207
208        /**
209         * <!-- begin-user-doc -->
210         * <!-- end-user-doc -->
211         * @generated
212         */
213        @Override
214        public void setScrollable(boolean newScrollable) {
215                eDynamicSet(BootstrapPackage.MODAL__SCROLLABLE, BootstrapPackage.Literals.MODAL__SCROLLABLE, newScrollable);
216        }
217
218        /**
219         * <!-- begin-user-doc -->
220         * <!-- end-user-doc -->
221         * @generated
222         */
223        @Override
224        public boolean isCentered() {
225                return (Boolean)eDynamicGet(BootstrapPackage.MODAL__CENTERED, BootstrapPackage.Literals.MODAL__CENTERED, true, true);
226        }
227
228        /**
229         * <!-- begin-user-doc -->
230         * <!-- end-user-doc -->
231         * @generated
232         */
233        @Override
234        public void setCentered(boolean newCentered) {
235                eDynamicSet(BootstrapPackage.MODAL__CENTERED, BootstrapPackage.Literals.MODAL__CENTERED, newCentered);
236        }
237
238        /**
239         * <!-- begin-user-doc -->
240         * <!-- end-user-doc -->
241         * @generated
242         */
243        @Override
244        public String getSize() {
245                return (String)eDynamicGet(BootstrapPackage.MODAL__SIZE, BootstrapPackage.Literals.MODAL__SIZE, true, true);
246        }
247
248        /**
249         * <!-- begin-user-doc -->
250         * <!-- end-user-doc -->
251         * @generated
252         */
253        @Override
254        public void setSize(String newSize) {
255                eDynamicSet(BootstrapPackage.MODAL__SIZE, BootstrapPackage.Literals.MODAL__SIZE, newSize);
256        }
257
258        /**
259         * <!-- begin-user-doc -->
260         * <!-- end-user-doc -->
261         * @generated
262         */
263        @Override
264        public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
265                switch (featureID) {
266                        case BootstrapPackage.MODAL__HEADER:
267                                return basicSetHeader(null, msgs);
268                        case BootstrapPackage.MODAL__BODY:
269                                return basicSetBody(null, msgs);
270                        case BootstrapPackage.MODAL__FOOTER:
271                                return basicSetFooter(null, msgs);
272                }
273                return super.eInverseRemove(otherEnd, featureID, msgs);
274        }
275
276        /**
277         * <!-- begin-user-doc -->
278         * <!-- end-user-doc -->
279         * @generated
280         */
281        @Override
282        public Object eGet(int featureID, boolean resolve, boolean coreType) {
283                switch (featureID) {
284                        case BootstrapPackage.MODAL__HEADER:
285                                return getHeader();
286                        case BootstrapPackage.MODAL__BODY:
287                                return getBody();
288                        case BootstrapPackage.MODAL__FOOTER:
289                                return getFooter();
290                        case BootstrapPackage.MODAL__DISMISSER:
291                                return isDismisser();
292                        case BootstrapPackage.MODAL__SCROLLABLE:
293                                return isScrollable();
294                        case BootstrapPackage.MODAL__CENTERED:
295                                return isCentered();
296                        case BootstrapPackage.MODAL__SIZE:
297                                return getSize();
298                }
299                return super.eGet(featureID, resolve, coreType);
300        }
301
302        /**
303         * <!-- begin-user-doc -->
304         * <!-- end-user-doc -->
305         * @generated
306         */
307        @SuppressWarnings("unchecked")
308        @Override
309        public void eSet(int featureID, Object newValue) {
310                switch (featureID) {
311                        case BootstrapPackage.MODAL__HEADER:
312                                setHeader((BootstrapElement)newValue);
313                                return;
314                        case BootstrapPackage.MODAL__BODY:
315                                setBody((BootstrapElement)newValue);
316                                return;
317                        case BootstrapPackage.MODAL__FOOTER:
318                                setFooter((BootstrapElement)newValue);
319                                return;
320                        case BootstrapPackage.MODAL__DISMISSER:
321                                setDismisser((Boolean)newValue);
322                                return;
323                        case BootstrapPackage.MODAL__SCROLLABLE:
324                                setScrollable((Boolean)newValue);
325                                return;
326                        case BootstrapPackage.MODAL__CENTERED:
327                                setCentered((Boolean)newValue);
328                                return;
329                        case BootstrapPackage.MODAL__SIZE:
330                                setSize((String)newValue);
331                                return;
332                }
333                super.eSet(featureID, newValue);
334        }
335
336        /**
337         * <!-- begin-user-doc -->
338         * <!-- end-user-doc -->
339         * @generated
340         */
341        @Override
342        public void eUnset(int featureID) {
343                switch (featureID) {
344                        case BootstrapPackage.MODAL__HEADER:
345                                setHeader((BootstrapElement)null);
346                                return;
347                        case BootstrapPackage.MODAL__BODY:
348                                setBody((BootstrapElement)null);
349                                return;
350                        case BootstrapPackage.MODAL__FOOTER:
351                                setFooter((BootstrapElement)null);
352                                return;
353                        case BootstrapPackage.MODAL__DISMISSER:
354                                setDismisser(DISMISSER_EDEFAULT);
355                                return;
356                        case BootstrapPackage.MODAL__SCROLLABLE:
357                                setScrollable(SCROLLABLE_EDEFAULT);
358                                return;
359                        case BootstrapPackage.MODAL__CENTERED:
360                                setCentered(CENTERED_EDEFAULT);
361                                return;
362                        case BootstrapPackage.MODAL__SIZE:
363                                setSize(SIZE_EDEFAULT);
364                                return;
365                }
366                super.eUnset(featureID);
367        }
368
369        /**
370         * <!-- begin-user-doc -->
371         * <!-- end-user-doc -->
372         * @generated
373         */
374        @Override
375        public boolean eIsSet(int featureID) {
376                switch (featureID) {
377                        case BootstrapPackage.MODAL__HEADER:
378                                return getHeader() != null;
379                        case BootstrapPackage.MODAL__BODY:
380                                return getBody() != null;
381                        case BootstrapPackage.MODAL__FOOTER:
382                                return getFooter() != null;
383                        case BootstrapPackage.MODAL__DISMISSER:
384                                return isDismisser() != DISMISSER_EDEFAULT;
385                        case BootstrapPackage.MODAL__SCROLLABLE:
386                                return isScrollable() != SCROLLABLE_EDEFAULT;
387                        case BootstrapPackage.MODAL__CENTERED:
388                                return isCentered() != CENTERED_EDEFAULT;
389                        case BootstrapPackage.MODAL__SIZE:
390                                return SIZE_EDEFAULT == null ? getSize() != null : !SIZE_EDEFAULT.equals(getSize());
391                }
392                return super.eIsSet(featureID);
393        }
394
395} //ModalImpl