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.Card;
011
012/**
013 * <!-- begin-user-doc -->
014 * An implementation of the model object '<em><b>Card</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.CardImpl#getHeader <em>Header</em>}</li>
021 *   <li>{@link org.nasdanika.html.model.bootstrap.impl.CardImpl#getBody <em>Body</em>}</li>
022 *   <li>{@link org.nasdanika.html.model.bootstrap.impl.CardImpl#getFooter <em>Footer</em>}</li>
023 * </ul>
024 *
025 * @generated
026 */
027public class CardImpl extends DivImpl implements Card {
028        /**
029         * <!-- begin-user-doc -->
030         * <!-- end-user-doc -->
031         * @generated
032         */
033        protected CardImpl() {
034                super();
035        }
036
037        /**
038         * <!-- begin-user-doc -->
039         * <!-- end-user-doc -->
040         * @generated
041         */
042        @Override
043        protected EClass eStaticClass() {
044                return BootstrapPackage.Literals.CARD;
045        }
046
047        /**
048         * <!-- begin-user-doc -->
049         * <!-- end-user-doc -->
050         * @generated
051         */
052        @Override
053        public BootstrapElement getHeader() {
054                return (BootstrapElement)eDynamicGet(BootstrapPackage.CARD__HEADER, BootstrapPackage.Literals.CARD__HEADER, true, true);
055        }
056
057        /**
058         * <!-- begin-user-doc -->
059         * <!-- end-user-doc -->
060         * @generated
061         */
062        public NotificationChain basicSetHeader(BootstrapElement newHeader, NotificationChain msgs) {
063                msgs = eDynamicInverseAdd((InternalEObject)newHeader, BootstrapPackage.CARD__HEADER, msgs);
064                return msgs;
065        }
066
067        /**
068         * <!-- begin-user-doc -->
069         * <!-- end-user-doc -->
070         * @generated
071         */
072        @Override
073        public void setHeader(BootstrapElement newHeader) {
074                eDynamicSet(BootstrapPackage.CARD__HEADER, BootstrapPackage.Literals.CARD__HEADER, newHeader);
075        }
076
077        /**
078         * <!-- begin-user-doc -->
079         * <!-- end-user-doc -->
080         * @generated
081         */
082        @SuppressWarnings("unchecked")
083        @Override
084        public BootstrapElement getBody() {
085                return (BootstrapElement)eDynamicGet(BootstrapPackage.CARD__BODY, BootstrapPackage.Literals.CARD__BODY, true, true);
086        }
087
088        /**
089         * <!-- begin-user-doc -->
090         * <!-- end-user-doc -->
091         * @generated
092         */
093        public NotificationChain basicSetBody(BootstrapElement newBody, NotificationChain msgs) {
094                msgs = eDynamicInverseAdd((InternalEObject)newBody, BootstrapPackage.CARD__BODY, msgs);
095                return msgs;
096        }
097
098        /**
099         * <!-- begin-user-doc -->
100         * <!-- end-user-doc -->
101         * @generated
102         */
103        @Override
104        public void setBody(BootstrapElement newBody) {
105                eDynamicSet(BootstrapPackage.CARD__BODY, BootstrapPackage.Literals.CARD__BODY, newBody);
106        }
107
108        /**
109         * <!-- begin-user-doc -->
110         * <!-- end-user-doc -->
111         * @generated
112         */
113        @Override
114        public BootstrapElement getFooter() {
115                return (BootstrapElement)eDynamicGet(BootstrapPackage.CARD__FOOTER, BootstrapPackage.Literals.CARD__FOOTER, true, true);
116        }
117
118        /**
119         * <!-- begin-user-doc -->
120         * <!-- end-user-doc -->
121         * @generated
122         */
123        public NotificationChain basicSetFooter(BootstrapElement newFooter, NotificationChain msgs) {
124                msgs = eDynamicInverseAdd((InternalEObject)newFooter, BootstrapPackage.CARD__FOOTER, msgs);
125                return msgs;
126        }
127
128        /**
129         * <!-- begin-user-doc -->
130         * <!-- end-user-doc -->
131         * @generated
132         */
133        @Override
134        public void setFooter(BootstrapElement newFooter) {
135                eDynamicSet(BootstrapPackage.CARD__FOOTER, BootstrapPackage.Literals.CARD__FOOTER, newFooter);
136        }
137
138        /**
139         * <!-- begin-user-doc -->
140         * <!-- end-user-doc -->
141         * @generated
142         */
143        @Override
144        public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
145                switch (featureID) {
146                        case BootstrapPackage.CARD__HEADER:
147                                return basicSetHeader(null, msgs);
148                        case BootstrapPackage.CARD__BODY:
149                                return basicSetBody(null, msgs);
150                        case BootstrapPackage.CARD__FOOTER:
151                                return basicSetFooter(null, msgs);
152                }
153                return super.eInverseRemove(otherEnd, featureID, msgs);
154        }
155
156        /**
157         * <!-- begin-user-doc -->
158         * <!-- end-user-doc -->
159         * @generated
160         */
161        @Override
162        public Object eGet(int featureID, boolean resolve, boolean coreType) {
163                switch (featureID) {
164                        case BootstrapPackage.CARD__HEADER:
165                                return getHeader();
166                        case BootstrapPackage.CARD__BODY:
167                                return getBody();
168                        case BootstrapPackage.CARD__FOOTER:
169                                return getFooter();
170                }
171                return super.eGet(featureID, resolve, coreType);
172        }
173
174        /**
175         * <!-- begin-user-doc -->
176         * <!-- end-user-doc -->
177         * @generated
178         */
179        @SuppressWarnings("unchecked")
180        @Override
181        public void eSet(int featureID, Object newValue) {
182                switch (featureID) {
183                        case BootstrapPackage.CARD__HEADER:
184                                setHeader((BootstrapElement)newValue);
185                                return;
186                        case BootstrapPackage.CARD__BODY:
187                                setBody((BootstrapElement)newValue);
188                                return;
189                        case BootstrapPackage.CARD__FOOTER:
190                                setFooter((BootstrapElement)newValue);
191                                return;
192                }
193                super.eSet(featureID, newValue);
194        }
195
196        /**
197         * <!-- begin-user-doc -->
198         * <!-- end-user-doc -->
199         * @generated
200         */
201        @Override
202        public void eUnset(int featureID) {
203                switch (featureID) {
204                        case BootstrapPackage.CARD__HEADER:
205                                setHeader((BootstrapElement)null);
206                                return;
207                        case BootstrapPackage.CARD__BODY:
208                                setBody((BootstrapElement)null);
209                                return;
210                        case BootstrapPackage.CARD__FOOTER:
211                                setFooter((BootstrapElement)null);
212                                return;
213                }
214                super.eUnset(featureID);
215        }
216
217        /**
218         * <!-- begin-user-doc -->
219         * <!-- end-user-doc -->
220         * @generated
221         */
222        @Override
223        public boolean eIsSet(int featureID) {
224                switch (featureID) {
225                        case BootstrapPackage.CARD__HEADER:
226                                return getHeader() != null;
227                        case BootstrapPackage.CARD__BODY:
228                                return getBody() != null;
229                        case BootstrapPackage.CARD__FOOTER:
230                                return getFooter() != null;
231                }
232                return super.eIsSet(featureID);
233        }
234
235} //CardImpl