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.ReviewPackage;
014    import com.hammurapi.review.Warning;
015    
016    /**
017     * <!-- begin-user-doc -->
018     * An implementation of the model object '<em><b>Warning</b></em>'.
019     * <!-- end-user-doc -->
020     * <p>
021     * The following features are implemented:
022     * <ul>
023     *   <li>{@link com.hammurapi.review.impl.WarningImpl#getCause <em>Cause</em>}</li>
024     *   <li>{@link com.hammurapi.review.impl.WarningImpl#getMessage <em>Message</em>}</li>
025     * </ul>
026     * </p>
027     *
028     * @generated
029     */
030    public class WarningImpl extends ObservationImpl implements Warning {
031            /**
032             * The default value of the '{@link #getCause() <em>Cause</em>}' attribute.
033             * <!-- begin-user-doc -->
034             * <!-- end-user-doc -->
035             * @see #getCause()
036             * @generated
037             * @ordered
038             */
039            protected static final Exception CAUSE_EDEFAULT = null;
040    
041            /**
042             * The cached value of the '{@link #getCause() <em>Cause</em>}' attribute.
043             * <!-- begin-user-doc -->
044             * <!-- end-user-doc -->
045             * @see #getCause()
046             * @generated
047             * @ordered
048             */
049            protected Exception cause = CAUSE_EDEFAULT;
050    
051            /**
052             * The default value of the '{@link #getMessage() <em>Message</em>}' attribute.
053             * <!-- begin-user-doc -->
054             * <!-- end-user-doc -->
055             * @see #getMessage()
056             * @generated
057             * @ordered
058             */
059            protected static final String MESSAGE_EDEFAULT = null;
060    
061            /**
062             * The cached value of the '{@link #getMessage() <em>Message</em>}' attribute.
063             * <!-- begin-user-doc -->
064             * <!-- end-user-doc -->
065             * @see #getMessage()
066             * @generated
067             * @ordered
068             */
069            protected String message = MESSAGE_EDEFAULT;
070    
071            /**
072             * <!-- begin-user-doc -->
073             * <!-- end-user-doc -->
074             * @generated
075             */
076            protected WarningImpl() {
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.WARNING;
088            }
089    
090            /**
091             * <!-- begin-user-doc -->
092             * <!-- end-user-doc -->
093             * @generated
094             */
095            public Exception getCause() {
096                    return cause;
097            }
098    
099            /**
100             * <!-- begin-user-doc -->
101             * <!-- end-user-doc -->
102             * @generated
103             */
104            public void setCause(Exception newCause) {
105                    Exception oldCause = cause;
106                    cause = newCause;
107                    if (eNotificationRequired())
108                            eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.WARNING__CAUSE, oldCause, cause));
109            }
110    
111            /**
112             * <!-- begin-user-doc -->
113             * <!-- end-user-doc -->
114             * @generated
115             */
116            public String getMessage() {
117                    return message;
118            }
119    
120            /**
121             * <!-- begin-user-doc -->
122             * <!-- end-user-doc -->
123             * @generated
124             */
125            public void setMessage(String newMessage) {
126                    String oldMessage = message;
127                    message = newMessage;
128                    if (eNotificationRequired())
129                            eNotify(new ENotificationImpl(this, Notification.SET, ReviewPackage.WARNING__MESSAGE, oldMessage, message));
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.WARNING__CAUSE:
141                                    return getCause();
142                            case ReviewPackage.WARNING__MESSAGE:
143                                    return getMessage();
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.WARNING__CAUSE:
157                                    setCause((Exception)newValue);
158                                    return;
159                            case ReviewPackage.WARNING__MESSAGE:
160                                    setMessage((String)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.WARNING__CAUSE:
175                                    setCause(CAUSE_EDEFAULT);
176                                    return;
177                            case ReviewPackage.WARNING__MESSAGE:
178                                    setMessage(MESSAGE_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.WARNING__CAUSE:
193                                    return CAUSE_EDEFAULT == null ? cause != null : !CAUSE_EDEFAULT.equals(cause);
194                            case ReviewPackage.WARNING__MESSAGE:
195                                    return MESSAGE_EDEFAULT == null ? message != null : !MESSAGE_EDEFAULT.equals(message);
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(" (cause: ");
211                    result.append(cause);
212                    result.append(", message: ");
213                    result.append(message);
214                    result.append(')');
215                    return result.toString();
216            }
217    
218    } //WarningImpl