001: /**
002: * <copyright>
003: * </copyright>
004: *
005: * $Id$
006: */package com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.impl;
007:
008: import org.eclipse.emf.common.notify.Notification;
009: import org.eclipse.emf.common.notify.NotificationChain;
010: import org.eclipse.emf.ecore.EClass;
011: import org.eclipse.emf.ecore.InternalEObject;
012: import org.eclipse.emf.ecore.impl.ENotificationImpl;
013:
014: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.Consumer;
015: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.Email;
016: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.EmailConsumer;
017: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.EmailConsumerReply;
018: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.EmailProvider;
019: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.Provider;
020: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.SSL;
021: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.Scheduler;
022: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.componentflowFactory;
023: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.componentflowPackage;
024:
025: /**
026: * <!-- begin-user-doc -->
027: * An implementation of the model object '<em><b>Email</b></em>'.
028: * <!-- end-user-doc -->
029: * <p>
030: * The following features are implemented:
031: * <ul>
032: * <li>{@link com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.impl.EmailImpl#getEmailConsumer <em>Email Consumer</em>}</li>
033: * <li>{@link com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.impl.EmailImpl#getEmailProvider <em>Email Provider</em>}</li>
034: * </ul>
035: * </p>
036: *
037: * @generated
038: */
039: public class EmailImpl extends BindingComponentImpl implements Email {
040: /**
041: * <!-- begin-user-doc -->
042: * <!-- end-user-doc -->
043: * @generated
044: */
045: public static final String copyright = "Copyright, Bostech Corp.";
046:
047: /**
048: * The cached value of the '{@link #getEmailConsumer() <em>Email Consumer</em>}' containment reference.
049: * <!-- begin-user-doc -->
050: * <!-- end-user-doc -->
051: * @see #getEmailConsumer()
052: * @generated
053: * @ordered
054: */
055: protected EmailConsumer emailConsumer = null;
056:
057: /**
058: * The cached value of the '{@link #getEmailProvider() <em>Email Provider</em>}' containment reference.
059: * <!-- begin-user-doc -->
060: * <!-- end-user-doc -->
061: * @see #getEmailProvider()
062: * @generated
063: * @ordered
064: */
065: protected EmailProvider emailProvider = null;
066:
067: /**
068: * <!-- begin-user-doc -->
069: * <!-- end-user-doc -->
070: * @generated NOT
071: */
072: protected EmailImpl() {
073: super ();
074: EmailConsumer consumer = componentflowFactory.eINSTANCE
075: .createEmailConsumer();
076: EmailConsumerReply reply = componentflowFactory.eINSTANCE
077: .createEmailConsumerReply();
078: SSL sslReply = componentflowFactory.eINSTANCE.createSSL();
079: reply.setSSL(sslReply);
080: SSL sslConsumer = componentflowFactory.eINSTANCE.createSSL();
081: consumer.setSSL(sslConsumer);
082: consumer.setReply(reply);
083: this .setEmailConsumer(consumer);
084:
085: EmailProvider provider = componentflowFactory.eINSTANCE
086: .createEmailProvider();
087: SSL sslProvider = componentflowFactory.eINSTANCE.createSSL();
088: provider.setSSL(sslProvider);
089: this .setEmailProvider(provider);
090: Scheduler scheduler = componentflowFactory.eINSTANCE
091: .createScheduler();
092: this .getEmailConsumer().setScheduler(scheduler);
093:
094: }
095:
096: /**
097: * <!-- begin-user-doc -->
098: * <!-- end-user-doc -->
099: * @generated
100: */
101: protected EClass eStaticClass() {
102: return componentflowPackage.Literals.EMAIL;
103: }
104:
105: /**
106: * <!-- begin-user-doc -->
107: * <!-- end-user-doc -->
108: * @generated
109: */
110: public EmailConsumer getEmailConsumer() {
111: return emailConsumer;
112: }
113:
114: /**
115: * <!-- begin-user-doc -->
116: * <!-- end-user-doc -->
117: * @generated
118: */
119: public NotificationChain basicSetEmailConsumer(
120: EmailConsumer newEmailConsumer, NotificationChain msgs) {
121: EmailConsumer oldEmailConsumer = emailConsumer;
122: emailConsumer = newEmailConsumer;
123: if (eNotificationRequired()) {
124: ENotificationImpl notification = new ENotificationImpl(
125: this , Notification.SET,
126: componentflowPackage.EMAIL__EMAIL_CONSUMER,
127: oldEmailConsumer, newEmailConsumer);
128: if (msgs == null)
129: msgs = notification;
130: else
131: msgs.add(notification);
132: }
133: return msgs;
134: }
135:
136: /**
137: * <!-- begin-user-doc -->
138: * <!-- end-user-doc -->
139: * @generated
140: */
141: public void setEmailConsumer(EmailConsumer newEmailConsumer) {
142: if (newEmailConsumer != emailConsumer) {
143: NotificationChain msgs = null;
144: if (emailConsumer != null)
145: msgs = ((InternalEObject) emailConsumer)
146: .eInverseRemove(
147: this ,
148: EOPPOSITE_FEATURE_BASE
149: - componentflowPackage.EMAIL__EMAIL_CONSUMER,
150: null, msgs);
151: if (newEmailConsumer != null)
152: msgs = ((InternalEObject) newEmailConsumer)
153: .eInverseAdd(
154: this ,
155: EOPPOSITE_FEATURE_BASE
156: - componentflowPackage.EMAIL__EMAIL_CONSUMER,
157: null, msgs);
158: msgs = basicSetEmailConsumer(newEmailConsumer, msgs);
159: if (msgs != null)
160: msgs.dispatch();
161: } else if (eNotificationRequired())
162: eNotify(new ENotificationImpl(this , Notification.SET,
163: componentflowPackage.EMAIL__EMAIL_CONSUMER,
164: newEmailConsumer, newEmailConsumer));
165: }
166:
167: /**
168: * <!-- begin-user-doc -->
169: * <!-- end-user-doc -->
170: * @generated
171: */
172: public EmailProvider getEmailProvider() {
173: return emailProvider;
174: }
175:
176: /**
177: * <!-- begin-user-doc -->
178: * <!-- end-user-doc -->
179: * @generated
180: */
181: public NotificationChain basicSetEmailProvider(
182: EmailProvider newEmailProvider, NotificationChain msgs) {
183: EmailProvider oldEmailProvider = emailProvider;
184: emailProvider = newEmailProvider;
185: if (eNotificationRequired()) {
186: ENotificationImpl notification = new ENotificationImpl(
187: this , Notification.SET,
188: componentflowPackage.EMAIL__EMAIL_PROVIDER,
189: oldEmailProvider, newEmailProvider);
190: if (msgs == null)
191: msgs = notification;
192: else
193: msgs.add(notification);
194: }
195: return msgs;
196: }
197:
198: /**
199: * <!-- begin-user-doc -->
200: * <!-- end-user-doc -->
201: * @generated
202: */
203: public void setEmailProvider(EmailProvider newEmailProvider) {
204: if (newEmailProvider != emailProvider) {
205: NotificationChain msgs = null;
206: if (emailProvider != null)
207: msgs = ((InternalEObject) emailProvider)
208: .eInverseRemove(
209: this ,
210: EOPPOSITE_FEATURE_BASE
211: - componentflowPackage.EMAIL__EMAIL_PROVIDER,
212: null, msgs);
213: if (newEmailProvider != null)
214: msgs = ((InternalEObject) newEmailProvider)
215: .eInverseAdd(
216: this ,
217: EOPPOSITE_FEATURE_BASE
218: - componentflowPackage.EMAIL__EMAIL_PROVIDER,
219: null, msgs);
220: msgs = basicSetEmailProvider(newEmailProvider, msgs);
221: if (msgs != null)
222: msgs.dispatch();
223: } else if (eNotificationRequired())
224: eNotify(new ENotificationImpl(this , Notification.SET,
225: componentflowPackage.EMAIL__EMAIL_PROVIDER,
226: newEmailProvider, newEmailProvider));
227: }
228:
229: /**
230: * <!-- begin-user-doc -->
231: * <!-- end-user-doc -->
232: * @generated
233: */
234: public NotificationChain eInverseRemove(InternalEObject otherEnd,
235: int featureID, NotificationChain msgs) {
236: switch (featureID) {
237: case componentflowPackage.EMAIL__EMAIL_CONSUMER:
238: return basicSetEmailConsumer(null, msgs);
239: case componentflowPackage.EMAIL__EMAIL_PROVIDER:
240: return basicSetEmailProvider(null, msgs);
241: }
242: return super .eInverseRemove(otherEnd, featureID, msgs);
243: }
244:
245: /**
246: * <!-- begin-user-doc -->
247: * <!-- end-user-doc -->
248: * @generated
249: */
250: public Object eGet(int featureID, boolean resolve, boolean coreType) {
251: switch (featureID) {
252: case componentflowPackage.EMAIL__EMAIL_CONSUMER:
253: return getEmailConsumer();
254: case componentflowPackage.EMAIL__EMAIL_PROVIDER:
255: return getEmailProvider();
256: }
257: return super .eGet(featureID, resolve, coreType);
258: }
259:
260: /**
261: * <!-- begin-user-doc -->
262: * <!-- end-user-doc -->
263: * @generated
264: */
265: public void eSet(int featureID, Object newValue) {
266: switch (featureID) {
267: case componentflowPackage.EMAIL__EMAIL_CONSUMER:
268: setEmailConsumer((EmailConsumer) newValue);
269: return;
270: case componentflowPackage.EMAIL__EMAIL_PROVIDER:
271: setEmailProvider((EmailProvider) newValue);
272: return;
273: }
274: super .eSet(featureID, newValue);
275: }
276:
277: /**
278: * <!-- begin-user-doc -->
279: * <!-- end-user-doc -->
280: * @generated
281: */
282: public void eUnset(int featureID) {
283: switch (featureID) {
284: case componentflowPackage.EMAIL__EMAIL_CONSUMER:
285: setEmailConsumer((EmailConsumer) null);
286: return;
287: case componentflowPackage.EMAIL__EMAIL_PROVIDER:
288: setEmailProvider((EmailProvider) null);
289: return;
290: }
291: super .eUnset(featureID);
292: }
293:
294: /**
295: * <!-- begin-user-doc -->
296: * <!-- end-user-doc -->
297: * @generated
298: */
299: public boolean eIsSet(int featureID) {
300: switch (featureID) {
301: case componentflowPackage.EMAIL__EMAIL_CONSUMER:
302: return emailConsumer != null;
303: case componentflowPackage.EMAIL__EMAIL_PROVIDER:
304: return emailProvider != null;
305: }
306: return super .eIsSet(featureID);
307: }
308:
309: @Override
310: public Consumer getConsumer() {
311: return this .getEmailConsumer();
312: }
313:
314: @Override
315: public Provider getProvider() {
316: return this .getEmailProvider();
317: }
318:
319: } //EmailImpl
|