View Javadoc

1   /**
2    * <copyright>
3    * </copyright>
4    *
5    * $Id$
6    */
7   package BusinessDomainDsl.impl;
8   
9   import BusinessDomainDsl.BusinessDomainDslPackage;
10  import BusinessDomainDsl.DateTimeAccuracy;
11  import BusinessDomainDsl.DateTimeProperty;
12  
13  import org.eclipse.emf.common.notify.Notification;
14  
15  import org.eclipse.emf.ecore.EClass;
16  
17  import org.eclipse.emf.ecore.impl.ENotificationImpl;
18  
19  /**
20   * <!-- begin-user-doc -->
21   * An implementation of the model object '<em><b>Date Time Property</b></em>'.
22   * <!-- end-user-doc -->
23   * <p>
24   * The following features are implemented:
25   * <ul>
26   *   <li>{@link BusinessDomainDsl.impl.DateTimePropertyImpl#getAccuracy <em>Accuracy</em>}</li>
27   *   <li>{@link BusinessDomainDsl.impl.DateTimePropertyImpl#getDefaultValue <em>Default Value</em>}</li>
28   * </ul>
29   * </p>
30   *
31   * @generated
32   */
33  public class DateTimePropertyImpl extends PropertyImpl implements DateTimeProperty {
34  	/**
35       * The default value of the '{@link #getAccuracy() <em>Accuracy</em>}' attribute.
36       * <!-- begin-user-doc -->
37  	 * <!-- end-user-doc -->
38       * @see #getAccuracy()
39       * @generated
40       * @ordered
41       */
42  	protected static final DateTimeAccuracy ACCURACY_EDEFAULT = DateTimeAccuracy.MILLISECOND;
43  
44  	/**
45       * The cached value of the '{@link #getAccuracy() <em>Accuracy</em>}' attribute.
46       * <!-- begin-user-doc -->
47  	 * <!-- end-user-doc -->
48       * @see #getAccuracy()
49       * @generated
50       * @ordered
51       */
52  	protected DateTimeAccuracy accuracy = ACCURACY_EDEFAULT;
53  
54  	/**
55       * The default value of the '{@link #getDefaultValue() <em>Default Value</em>}' attribute.
56       * <!-- begin-user-doc -->
57  	 * <!-- end-user-doc -->
58       * @see #getDefaultValue()
59       * @generated
60       * @ordered
61       */
62  	protected static final String DEFAULT_VALUE_EDEFAULT = "";
63  
64  	/**
65       * The cached value of the '{@link #getDefaultValue() <em>Default Value</em>}' attribute.
66       * <!-- begin-user-doc -->
67  	 * <!-- end-user-doc -->
68       * @see #getDefaultValue()
69       * @generated
70       * @ordered
71       */
72  	protected String defaultValue = DEFAULT_VALUE_EDEFAULT;
73  
74  	/**
75       * <!-- begin-user-doc -->
76  	 * <!-- end-user-doc -->
77       * @generated
78       */
79  	protected DateTimePropertyImpl() {
80          super();
81      }
82  
83  	/**
84       * <!-- begin-user-doc -->
85  	 * <!-- end-user-doc -->
86       * @generated
87       */
88  	@Override
89  	protected EClass eStaticClass() {
90          return BusinessDomainDslPackage.Literals.DATE_TIME_PROPERTY;
91      }
92  
93  	/**
94       * <!-- begin-user-doc -->
95  	 * <!-- end-user-doc -->
96       * @generated
97       */
98  	public DateTimeAccuracy getAccuracy() {
99          return accuracy;
100     }
101 
102 	/**
103      * <!-- begin-user-doc -->
104 	 * <!-- end-user-doc -->
105      * @generated
106      */
107 	public void setAccuracy(DateTimeAccuracy newAccuracy) {
108         DateTimeAccuracy oldAccuracy = accuracy;
109         accuracy = newAccuracy == null ? ACCURACY_EDEFAULT : newAccuracy;
110         if (eNotificationRequired())
111             eNotify(new ENotificationImpl(this, Notification.SET, BusinessDomainDslPackage.DATE_TIME_PROPERTY__ACCURACY, oldAccuracy, accuracy));
112     }
113 
114 	/**
115      * <!-- begin-user-doc -->
116 	 * <!-- end-user-doc -->
117      * @generated
118      */
119 	public String getDefaultValue() {
120         return defaultValue;
121     }
122 
123 	/**
124      * <!-- begin-user-doc -->
125 	 * <!-- end-user-doc -->
126      * @generated
127      */
128 	public void setDefaultValue(String newDefaultValue) {
129         String oldDefaultValue = defaultValue;
130         defaultValue = newDefaultValue;
131         if (eNotificationRequired())
132             eNotify(new ENotificationImpl(this, Notification.SET, BusinessDomainDslPackage.DATE_TIME_PROPERTY__DEFAULT_VALUE, oldDefaultValue, defaultValue));
133     }
134 
135 	/**
136      * <!-- begin-user-doc -->
137 	 * <!-- end-user-doc -->
138      * @generated
139      */
140 	@Override
141 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
142         switch (featureID) {
143             case BusinessDomainDslPackage.DATE_TIME_PROPERTY__ACCURACY:
144                 return getAccuracy();
145             case BusinessDomainDslPackage.DATE_TIME_PROPERTY__DEFAULT_VALUE:
146                 return getDefaultValue();
147         }
148         return super.eGet(featureID, resolve, coreType);
149     }
150 
151 	/**
152      * <!-- begin-user-doc -->
153 	 * <!-- end-user-doc -->
154      * @generated
155      */
156 	@Override
157 	public void eSet(int featureID, Object newValue) {
158         switch (featureID) {
159             case BusinessDomainDslPackage.DATE_TIME_PROPERTY__ACCURACY:
160                 setAccuracy((DateTimeAccuracy)newValue);
161                 return;
162             case BusinessDomainDslPackage.DATE_TIME_PROPERTY__DEFAULT_VALUE:
163                 setDefaultValue((String)newValue);
164                 return;
165         }
166         super.eSet(featureID, newValue);
167     }
168 
169 	/**
170      * <!-- begin-user-doc -->
171 	 * <!-- end-user-doc -->
172      * @generated
173      */
174 	@Override
175 	public void eUnset(int featureID) {
176         switch (featureID) {
177             case BusinessDomainDslPackage.DATE_TIME_PROPERTY__ACCURACY:
178                 setAccuracy(ACCURACY_EDEFAULT);
179                 return;
180             case BusinessDomainDslPackage.DATE_TIME_PROPERTY__DEFAULT_VALUE:
181                 setDefaultValue(DEFAULT_VALUE_EDEFAULT);
182                 return;
183         }
184         super.eUnset(featureID);
185     }
186 
187 	/**
188      * <!-- begin-user-doc -->
189 	 * <!-- end-user-doc -->
190      * @generated
191      */
192 	@Override
193 	public boolean eIsSet(int featureID) {
194         switch (featureID) {
195             case BusinessDomainDslPackage.DATE_TIME_PROPERTY__ACCURACY:
196                 return accuracy != ACCURACY_EDEFAULT;
197             case BusinessDomainDslPackage.DATE_TIME_PROPERTY__DEFAULT_VALUE:
198                 return DEFAULT_VALUE_EDEFAULT == null ? defaultValue != null : !DEFAULT_VALUE_EDEFAULT.equals(defaultValue);
199         }
200         return super.eIsSet(featureID);
201     }
202 
203 	/**
204      * <!-- begin-user-doc -->
205 	 * <!-- end-user-doc -->
206      * @generated
207      */
208 	@Override
209 	public String toString() {
210         if (eIsProxy()) return super.toString();
211 
212         StringBuffer result = new StringBuffer(super.toString());
213         result.append(" (accuracy: ");
214         result.append(accuracy);
215         result.append(", defaultValue: ");
216         result.append(defaultValue);
217         result.append(')');
218         return result.toString();
219     }
220 
221 } //DateTimePropertyImpl