001/**
002 */
003package org.nasdanika.html.model.bootstrap.impl;
004
005import org.eclipse.emf.ecore.EClass;
006
007import org.nasdanika.html.bootstrap.Color;
008import org.nasdanika.html.model.bootstrap.BootstrapPackage;
009import org.nasdanika.html.model.bootstrap.Button;
010
011/**
012 * <!-- begin-user-doc -->
013 * An implementation of the model object '<em><b>Button</b></em>'.
014 * <!-- end-user-doc -->
015 * <p>
016 * The following features are implemented:
017 * </p>
018 * <ul>
019 *   <li>{@link org.nasdanika.html.model.bootstrap.impl.ButtonImpl#getColor <em>Color</em>}</li>
020 *   <li>{@link org.nasdanika.html.model.bootstrap.impl.ButtonImpl#isOutline <em>Outline</em>}</li>
021 * </ul>
022 *
023 * @generated
024 */
025public class ButtonImpl extends DivImpl implements Button {
026        /**
027         * The default value of the '{@link #getColor() <em>Color</em>}' attribute.
028         * <!-- begin-user-doc -->
029         * <!-- end-user-doc -->
030         * @see #getColor()
031         * @generated
032         * @ordered
033         */
034        protected static final Color COLOR_EDEFAULT = null;
035
036        /**
037         * The default value of the '{@link #isOutline() <em>Outline</em>}' attribute.
038         * <!-- begin-user-doc -->
039         * <!-- end-user-doc -->
040         * @see #isOutline()
041         * @generated
042         * @ordered
043         */
044        protected static final boolean OUTLINE_EDEFAULT = false;
045
046        /**
047         * <!-- begin-user-doc -->
048         * <!-- end-user-doc -->
049         * @generated
050         */
051        protected ButtonImpl() {
052                super();
053        }
054
055        /**
056         * <!-- begin-user-doc -->
057         * <!-- end-user-doc -->
058         * @generated
059         */
060        @Override
061        protected EClass eStaticClass() {
062                return BootstrapPackage.Literals.BUTTON;
063        }
064
065        /**
066         * <!-- begin-user-doc -->
067         * <!-- end-user-doc -->
068         * @generated
069         */
070        @Override
071        public Color getColor() {
072                return (Color)eDynamicGet(BootstrapPackage.BUTTON__COLOR, BootstrapPackage.Literals.BUTTON__COLOR, true, true);
073        }
074
075        /**
076         * <!-- begin-user-doc -->
077         * <!-- end-user-doc -->
078         * @generated
079         */
080        @Override
081        public void setColor(Color newColor) {
082                eDynamicSet(BootstrapPackage.BUTTON__COLOR, BootstrapPackage.Literals.BUTTON__COLOR, newColor);
083        }
084
085        /**
086         * <!-- begin-user-doc -->
087         * <!-- end-user-doc -->
088         * @generated
089         */
090        @Override
091        public boolean isOutline() {
092                return (Boolean)eDynamicGet(BootstrapPackage.BUTTON__OUTLINE, BootstrapPackage.Literals.BUTTON__OUTLINE, true, true);
093        }
094
095        /**
096         * <!-- begin-user-doc -->
097         * <!-- end-user-doc -->
098         * @generated
099         */
100        @Override
101        public void setOutline(boolean newOutline) {
102                eDynamicSet(BootstrapPackage.BUTTON__OUTLINE, BootstrapPackage.Literals.BUTTON__OUTLINE, newOutline);
103        }
104
105        /**
106         * <!-- begin-user-doc -->
107         * <!-- end-user-doc -->
108         * @generated
109         */
110        @Override
111        public Object eGet(int featureID, boolean resolve, boolean coreType) {
112                switch (featureID) {
113                        case BootstrapPackage.BUTTON__COLOR:
114                                return getColor();
115                        case BootstrapPackage.BUTTON__OUTLINE:
116                                return isOutline();
117                }
118                return super.eGet(featureID, resolve, coreType);
119        }
120
121        /**
122         * <!-- begin-user-doc -->
123         * <!-- end-user-doc -->
124         * @generated
125         */
126        @Override
127        public void eSet(int featureID, Object newValue) {
128                switch (featureID) {
129                        case BootstrapPackage.BUTTON__COLOR:
130                                setColor((Color)newValue);
131                                return;
132                        case BootstrapPackage.BUTTON__OUTLINE:
133                                setOutline((Boolean)newValue);
134                                return;
135                }
136                super.eSet(featureID, newValue);
137        }
138
139        /**
140         * <!-- begin-user-doc -->
141         * <!-- end-user-doc -->
142         * @generated
143         */
144        @Override
145        public void eUnset(int featureID) {
146                switch (featureID) {
147                        case BootstrapPackage.BUTTON__COLOR:
148                                setColor(COLOR_EDEFAULT);
149                                return;
150                        case BootstrapPackage.BUTTON__OUTLINE:
151                                setOutline(OUTLINE_EDEFAULT);
152                                return;
153                }
154                super.eUnset(featureID);
155        }
156
157        /**
158         * <!-- begin-user-doc -->
159         * <!-- end-user-doc -->
160         * @generated
161         */
162        @Override
163        public boolean eIsSet(int featureID) {
164                switch (featureID) {
165                        case BootstrapPackage.BUTTON__COLOR:
166                                return COLOR_EDEFAULT == null ? getColor() != null : !COLOR_EDEFAULT.equals(getColor());
167                        case BootstrapPackage.BUTTON__OUTLINE:
168                                return isOutline() != OUTLINE_EDEFAULT;
169                }
170                return super.eIsSet(featureID);
171        }
172
173} //ButtonImpl