001    /**
002     * <copyright>
003     * </copyright>
004     *
005     * $Id$
006     */
007    package com.hammurapi.review.impl;
008    
009    import org.eclipse.emf.common.notify.Notification;
010    import org.eclipse.emf.ecore.EClass;
011    import org.eclipse.emf.ecore.impl.ENotificationImpl;
012    
013    import com.hammurapi.review.Measurement;
014    import com.hammurapi.review.ReviewPackage;
015    
016    /**
017     * <!-- begin-user-doc -->
018     * An implementation of the model object '<em><b>Measurement</b></em>'.
019     * <!-- end-user-doc -->
020     * <p>
021     * The following features are implemented:
022     * <ul>
023     *   <li>{@link com.hammurapi.review.impl.MeasurementImpl#getName <em>Name</em>}</li>
024     *   <li>{@link com.hammurapi.review.impl.MeasurementImpl#getValue <em>Value</em>}</li>
025     * </ul>
026     * </p>
027     *
028     * @generated
029     */
030    public class MeasurementImpl extends ObservationImpl implements Measurement {
031            /**
032             * The default value of the '{@link #getName() <em>Name</em>}' attribute.
033             * <!-- begin-user-doc -->
034             * <!-- end-user-doc -->
035             * @see #getName()
036             * @generated
037             * @ordered
038             */
039            protected static final String NAME_EDEFAULT = null;
040    
041            /**
042             * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
043             * <!-- begin-user-doc -->
044             * <!-- end-user-doc -->
045             * @see #getName()
046             * @generated
047             * @ordered
048             */
049            protected String name = NAME_EDEFAULT;
050    
051            /**
052             * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
053             * <!-- begin-user-doc -->
054             * <!-- end-user-doc -->
055             * @see #getValue()
056             * @generated
057             * @ordered
058             */
059            protected static final double VALUE_EDEFAULT = 0.0;
060    
061            /**
062             * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
063             * <!-- begin-user-doc -->
064             * <!-- end-user-doc -->
065             * @see #getValue()
066             * @generated
067             * @ordered
068             */
069            protected double value = VALUE_EDEFAULT;
070    
071            /**
072             * <!-- begin-user-doc -->
073             * <!-- end-user-doc -->
074             * @generated
075             */
076            protected MeasurementImpl() {
077                    super();
078            }
079    
080            /**
081             * <!-- begin-user-doc -->
082             * <!-- end-user-doc -->
083             * @generated
084             */
085            @Override
086            protected EClass eStaticClass() {
087                    return ReviewPackage.Literals.MEASUREMENT;
088            }
089    
090            /**
091             * <!-- begin-user-doc -->
092             * <!-- end-user-doc -->
093             * @generated
094             */
095            public String getName() {
096                    return name;
097            }
098    
099            /**
100             * <!-- begin-user-doc -->
101             * <!-- end-user-doc -->
102             * @generated
103             */
104            public void setName(String newName) {
105                    String oldName = name;
106                    name = newName;
107                    if (eNotificationRequired())
108                            eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.MEASUREMENT__NAME, oldName, name));
109            }
110    
111            /**
112             * <!-- begin-user-doc -->
113             * <!-- end-user-doc -->
114             * @generated
115             */
116            public double getValue() {
117                    return value;
118            }
119    
120            /**
121             * <!-- begin-user-doc -->
122             * <!-- end-user-doc -->
123             * @generated
124             */
125            public void setValue(double newValue) {
126                    double oldValue = value;
127                    value = newValue;
128                    if (eNotificationRequired())
129                            eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.MEASUREMENT__VALUE, oldValue, value));
130            }
131    
132            /**
133             * <!-- begin-user-doc -->
134             * <!-- end-user-doc -->
135             * @generated
136             */
137            @Override
138            public Object eGet(int featureID, boolean resolve, boolean coreType) {
139                    switch (featureID) {
140                            case ReviewPackage.MEASUREMENT__NAME:
141                                    return getName();
142                            case ReviewPackage.MEASUREMENT__VALUE:
143                                    return getValue();
144                    }
145                    return super.eGet(featureID, resolve, coreType);
146            }
147    
148            /**
149             * <!-- begin-user-doc -->
150             * <!-- end-user-doc -->
151             * @generated
152             */
153            @Override
154            public void eSet(int featureID, Object newValue) {
155                    switch (featureID) {
156                            case ReviewPackage.MEASUREMENT__NAME:
157                                    setName((String)newValue);
158                                    return;
159                            case ReviewPackage.MEASUREMENT__VALUE:
160                                    setValue((Double)newValue);
161                                    return;
162                    }
163                    super.eSet(featureID, newValue);
164            }
165    
166            /**
167             * <!-- begin-user-doc -->
168             * <!-- end-user-doc -->
169             * @generated
170             */
171            @Override
172            public void eUnset(int featureID) {
173                    switch (featureID) {
174                            case ReviewPackage.MEASUREMENT__NAME:
175                                    setName(NAME_EDEFAULT);
176                                    return;
177                            case ReviewPackage.MEASUREMENT__VALUE:
178                                    setValue(VALUE_EDEFAULT);
179                                    return;
180                    }
181                    super.eUnset(featureID);
182            }
183    
184            /**
185             * <!-- begin-user-doc -->
186             * <!-- end-user-doc -->
187             * @generated
188             */
189            @Override
190            public boolean eIsSet(int featureID) {
191                    switch (featureID) {
192                            case ReviewPackage.MEASUREMENT__NAME:
193                                    return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
194                            case ReviewPackage.MEASUREMENT__VALUE:
195                                    return value != VALUE_EDEFAULT;
196                    }
197                    return super.eIsSet(featureID);
198            }
199    
200            /**
201             * <!-- begin-user-doc -->
202             * <!-- end-user-doc -->
203             * @generated
204             */
205            @Override
206            public String toString() {
207                    if (eIsProxy()) return super.toString();
208    
209                    StringBuffer result = new StringBuffer(super.toString());
210                    result.append(" (name: ");
211                    result.append(name);
212                    result.append(", value: ");
213                    result.append(value);
214                    result.append(')');
215                    return result.toString();
216            }
217    
218    } //MeasurementImpl