1 | /** |
2 | * <copyright> |
3 | * </copyright> |
4 | * |
5 | * $Id$ |
6 | */ |
7 | package com.hammurapi.eventbus.snapshot.impl; |
8 | |
9 | import com.hammurapi.eventbus.snapshot.Handler; |
10 | import com.hammurapi.eventbus.snapshot.JoinInput; |
11 | import com.hammurapi.eventbus.snapshot.JoinInputCollector; |
12 | import com.hammurapi.eventbus.snapshot.JoinNode; |
13 | import com.hammurapi.eventbus.snapshot.Predicate; |
14 | import com.hammurapi.eventbus.snapshot.Snapshot; |
15 | import com.hammurapi.eventbus.snapshot.SnapshotPackage; |
16 | |
17 | import java.util.Collection; |
18 | |
19 | import org.eclipse.emf.common.notify.Notification; |
20 | import org.eclipse.emf.common.notify.NotificationChain; |
21 | |
22 | import org.eclipse.emf.common.util.EList; |
23 | |
24 | import org.eclipse.emf.ecore.EClass; |
25 | import org.eclipse.emf.ecore.InternalEObject; |
26 | |
27 | import org.eclipse.emf.ecore.impl.ENotificationImpl; |
28 | import org.eclipse.emf.ecore.impl.EObjectImpl; |
29 | |
30 | import org.eclipse.emf.ecore.util.EDataTypeUniqueEList; |
31 | import org.eclipse.emf.ecore.util.EObjectContainmentEList; |
32 | import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; |
33 | import org.eclipse.emf.ecore.util.EcoreUtil; |
34 | import org.eclipse.emf.ecore.util.InternalEList; |
35 | |
36 | /** |
37 | * <!-- begin-user-doc --> |
38 | * An implementation of the model object '<em><b>Join Node</b></em>'. |
39 | * <!-- end-user-doc --> |
40 | * <p> |
41 | * The following features are implemented: |
42 | * <ul> |
43 | * <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinNodeImpl#getId <em>Id</em>}</li> |
44 | * <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinNodeImpl#getName <em>Name</em>}</li> |
45 | * <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinNodeImpl#getDetails <em>Details</em>}</li> |
46 | * <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinNodeImpl#getSnapshot <em>Snapshot</em>}</li> |
47 | * <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinNodeImpl#getCollectors <em>Collectors</em>}</li> |
48 | * <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinNodeImpl#getOutputIndices <em>Output Indices</em>}</li> |
49 | * <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinNodeImpl#getHandler <em>Handler</em>}</li> |
50 | * <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinNodeImpl#getNext <em>Next</em>}</li> |
51 | * <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinNodeImpl#getPredicate <em>Predicate</em>}</li> |
52 | * <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinNodeImpl#getPrev <em>Prev</em>}</li> |
53 | * <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinNodeImpl#getJoinInputs <em>Join Inputs</em>}</li> |
54 | * </ul> |
55 | * </p> |
56 | * |
57 | * @generated |
58 | */ |
59 | public class JoinNodeImpl extends EObjectImpl implements JoinNode { |
60 | /** |
61 | * The default value of the '{@link #getId() <em>Id</em>}' attribute. |
62 | * <!-- begin-user-doc --> |
63 | * <!-- end-user-doc --> |
64 | * @see #getId() |
65 | * @generated |
66 | * @ordered |
67 | */ |
68 | protected static final String ID_EDEFAULT = null; |
69 | |
70 | /** |
71 | * The cached value of the '{@link #getId() <em>Id</em>}' attribute. |
72 | * <!-- begin-user-doc --> |
73 | * <!-- end-user-doc --> |
74 | * @see #getId() |
75 | * @generated |
76 | * @ordered |
77 | */ |
78 | protected String id = ID_EDEFAULT; |
79 | |
80 | /** |
81 | * The default value of the '{@link #getName() <em>Name</em>}' attribute. |
82 | * <!-- begin-user-doc --> |
83 | * <!-- end-user-doc --> |
84 | * @see #getName() |
85 | * @generated |
86 | * @ordered |
87 | */ |
88 | protected static final String NAME_EDEFAULT = null; |
89 | |
90 | /** |
91 | * The cached value of the '{@link #getName() <em>Name</em>}' attribute. |
92 | * <!-- begin-user-doc --> |
93 | * <!-- end-user-doc --> |
94 | * @see #getName() |
95 | * @generated |
96 | * @ordered |
97 | */ |
98 | protected String name = NAME_EDEFAULT; |
99 | |
100 | /** |
101 | * The default value of the '{@link #getDetails() <em>Details</em>}' attribute. |
102 | * <!-- begin-user-doc --> |
103 | * <!-- end-user-doc --> |
104 | * @see #getDetails() |
105 | * @generated |
106 | * @ordered |
107 | */ |
108 | protected static final String DETAILS_EDEFAULT = null; |
109 | |
110 | /** |
111 | * The cached value of the '{@link #getDetails() <em>Details</em>}' attribute. |
112 | * <!-- begin-user-doc --> |
113 | * <!-- end-user-doc --> |
114 | * @see #getDetails() |
115 | * @generated |
116 | * @ordered |
117 | */ |
118 | protected String details = DETAILS_EDEFAULT; |
119 | |
120 | /** |
121 | * The cached value of the '{@link #getCollectors() <em>Collectors</em>}' containment reference list. |
122 | * <!-- begin-user-doc --> |
123 | * <!-- end-user-doc --> |
124 | * @see #getCollectors() |
125 | * @generated |
126 | * @ordered |
127 | */ |
128 | protected EList<JoinInputCollector> collectors; |
129 | |
130 | /** |
131 | * The cached value of the '{@link #getOutputIndices() <em>Output Indices</em>}' attribute list. |
132 | * <!-- begin-user-doc --> |
133 | * <!-- end-user-doc --> |
134 | * @see #getOutputIndices() |
135 | * @generated |
136 | * @ordered |
137 | */ |
138 | protected EList<Integer> outputIndices; |
139 | |
140 | /** |
141 | * The cached value of the '{@link #getHandler() <em>Handler</em>}' reference. |
142 | * <!-- begin-user-doc --> |
143 | * <!-- end-user-doc --> |
144 | * @see #getHandler() |
145 | * @generated |
146 | * @ordered |
147 | */ |
148 | protected Handler handler; |
149 | |
150 | /** |
151 | * The cached value of the '{@link #getNext() <em>Next</em>}' reference. |
152 | * <!-- begin-user-doc --> |
153 | * <!-- end-user-doc --> |
154 | * @see #getNext() |
155 | * @generated |
156 | * @ordered |
157 | */ |
158 | protected JoinNode next; |
159 | |
160 | /** |
161 | * The cached value of the '{@link #getPredicate() <em>Predicate</em>}' containment reference. |
162 | * <!-- begin-user-doc --> |
163 | * <!-- end-user-doc --> |
164 | * @see #getPredicate() |
165 | * @generated |
166 | * @ordered |
167 | */ |
168 | protected Predicate predicate; |
169 | |
170 | /** |
171 | * The cached value of the '{@link #getPrev() <em>Prev</em>}' reference list. |
172 | * <!-- begin-user-doc --> |
173 | * <!-- end-user-doc --> |
174 | * @see #getPrev() |
175 | * @generated |
176 | * @ordered |
177 | */ |
178 | protected EList<JoinNode> prev; |
179 | |
180 | /** |
181 | * The cached value of the '{@link #getJoinInputs() <em>Join Inputs</em>}' reference list. |
182 | * <!-- begin-user-doc --> |
183 | * <!-- end-user-doc --> |
184 | * @see #getJoinInputs() |
185 | * @generated |
186 | * @ordered |
187 | */ |
188 | protected EList<JoinInput> joinInputs; |
189 | |
190 | /** |
191 | * <!-- begin-user-doc --> |
192 | * <!-- end-user-doc --> |
193 | * @generated |
194 | */ |
195 | protected JoinNodeImpl() { |
196 | super(); |
197 | } |
198 | |
199 | /** |
200 | * <!-- begin-user-doc --> |
201 | * <!-- end-user-doc --> |
202 | * @generated |
203 | */ |
204 | @Override |
205 | protected EClass eStaticClass() { |
206 | return SnapshotPackage.Literals.JOIN_NODE; |
207 | } |
208 | |
209 | /** |
210 | * <!-- begin-user-doc --> |
211 | * <!-- end-user-doc --> |
212 | * @generated |
213 | */ |
214 | public String getId() { |
215 | return id; |
216 | } |
217 | |
218 | /** |
219 | * <!-- begin-user-doc --> |
220 | * <!-- end-user-doc --> |
221 | * @generated |
222 | */ |
223 | public void setId(String newId) { |
224 | String oldId = id; |
225 | id = newId; |
226 | if (eNotificationRequired()) |
227 | eNotify(new ENotificationImpl(this, Notification.SET, SnapshotPackage.JOIN_NODE__ID, oldId, id)); |
228 | } |
229 | |
230 | /** |
231 | * <!-- begin-user-doc --> |
232 | * <!-- end-user-doc --> |
233 | * @generated |
234 | */ |
235 | public String getName() { |
236 | return name; |
237 | } |
238 | |
239 | /** |
240 | * <!-- begin-user-doc --> |
241 | * <!-- end-user-doc --> |
242 | * @generated |
243 | */ |
244 | public void setName(String newName) { |
245 | String oldName = name; |
246 | name = newName; |
247 | if (eNotificationRequired()) |
248 | eNotify(new ENotificationImpl(this, Notification.SET, SnapshotPackage.JOIN_NODE__NAME, oldName, name)); |
249 | } |
250 | |
251 | /** |
252 | * <!-- begin-user-doc --> |
253 | * <!-- end-user-doc --> |
254 | * @generated |
255 | */ |
256 | public String getDetails() { |
257 | return details; |
258 | } |
259 | |
260 | /** |
261 | * <!-- begin-user-doc --> |
262 | * <!-- end-user-doc --> |
263 | * @generated |
264 | */ |
265 | public void setDetails(String newDetails) { |
266 | String oldDetails = details; |
267 | details = newDetails; |
268 | if (eNotificationRequired()) |
269 | eNotify(new ENotificationImpl(this, Notification.SET, SnapshotPackage.JOIN_NODE__DETAILS, oldDetails, details)); |
270 | } |
271 | |
272 | /** |
273 | * <!-- begin-user-doc --> |
274 | * <!-- end-user-doc --> |
275 | * @generated |
276 | */ |
277 | public Snapshot getSnapshot() { |
278 | if (eContainerFeatureID() != SnapshotPackage.JOIN_NODE__SNAPSHOT) return null; |
279 | return (Snapshot)eContainer(); |
280 | } |
281 | |
282 | /** |
283 | * <!-- begin-user-doc --> |
284 | * <!-- end-user-doc --> |
285 | * @generated |
286 | */ |
287 | public NotificationChain basicSetSnapshot(Snapshot newSnapshot, NotificationChain msgs) { |
288 | msgs = eBasicSetContainer((InternalEObject)newSnapshot, SnapshotPackage.JOIN_NODE__SNAPSHOT, msgs); |
289 | return msgs; |
290 | } |
291 | |
292 | /** |
293 | * <!-- begin-user-doc --> |
294 | * <!-- end-user-doc --> |
295 | * @generated |
296 | */ |
297 | public void setSnapshot(Snapshot newSnapshot) { |
298 | if (newSnapshot != eInternalContainer() || (eContainerFeatureID() != SnapshotPackage.JOIN_NODE__SNAPSHOT && newSnapshot != null)) { |
299 | if (EcoreUtil.isAncestor(this, newSnapshot)) |
300 | throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); |
301 | NotificationChain msgs = null; |
302 | if (eInternalContainer() != null) |
303 | msgs = eBasicRemoveFromContainer(msgs); |
304 | if (newSnapshot != null) |
305 | msgs = ((InternalEObject)newSnapshot).eInverseAdd(this, SnapshotPackage.SNAPSHOT__ELEMENTS, Snapshot.class, msgs); |
306 | msgs = basicSetSnapshot(newSnapshot, msgs); |
307 | if (msgs != null) msgs.dispatch(); |
308 | } |
309 | else if (eNotificationRequired()) |
310 | eNotify(new ENotificationImpl(this, Notification.SET, SnapshotPackage.JOIN_NODE__SNAPSHOT, newSnapshot, newSnapshot)); |
311 | } |
312 | |
313 | /** |
314 | * <!-- begin-user-doc --> |
315 | * <!-- end-user-doc --> |
316 | * @generated |
317 | */ |
318 | public EList<JoinInputCollector> getCollectors() { |
319 | if (collectors == null) { |
320 | collectors = new EObjectContainmentEList<JoinInputCollector>(JoinInputCollector.class, this, SnapshotPackage.JOIN_NODE__COLLECTORS); |
321 | } |
322 | return collectors; |
323 | } |
324 | |
325 | /** |
326 | * <!-- begin-user-doc --> |
327 | * <!-- end-user-doc --> |
328 | * @generated |
329 | */ |
330 | public EList<Integer> getOutputIndices() { |
331 | if (outputIndices == null) { |
332 | outputIndices = new EDataTypeUniqueEList<Integer>(Integer.class, this, SnapshotPackage.JOIN_NODE__OUTPUT_INDICES); |
333 | } |
334 | return outputIndices; |
335 | } |
336 | |
337 | /** |
338 | * <!-- begin-user-doc --> |
339 | * <!-- end-user-doc --> |
340 | * @generated |
341 | */ |
342 | public Handler getHandler() { |
343 | if (handler != null && handler.eIsProxy()) { |
344 | InternalEObject oldHandler = (InternalEObject)handler; |
345 | handler = (Handler)eResolveProxy(oldHandler); |
346 | if (handler != oldHandler) { |
347 | if (eNotificationRequired()) |
348 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, SnapshotPackage.JOIN_NODE__HANDLER, oldHandler, handler)); |
349 | } |
350 | } |
351 | return handler; |
352 | } |
353 | |
354 | /** |
355 | * <!-- begin-user-doc --> |
356 | * <!-- end-user-doc --> |
357 | * @generated |
358 | */ |
359 | public Handler basicGetHandler() { |
360 | return handler; |
361 | } |
362 | |
363 | /** |
364 | * <!-- begin-user-doc --> |
365 | * <!-- end-user-doc --> |
366 | * @generated |
367 | */ |
368 | public NotificationChain basicSetHandler(Handler newHandler, NotificationChain msgs) { |
369 | Handler oldHandler = handler; |
370 | handler = newHandler; |
371 | if (eNotificationRequired()) { |
372 | ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SnapshotPackage.JOIN_NODE__HANDLER, oldHandler, newHandler); |
373 | if (msgs == null) msgs = notification; else msgs.add(notification); |
374 | } |
375 | return msgs; |
376 | } |
377 | |
378 | /** |
379 | * <!-- begin-user-doc --> |
380 | * <!-- end-user-doc --> |
381 | * @generated |
382 | */ |
383 | public void setHandler(Handler newHandler) { |
384 | if (newHandler != handler) { |
385 | NotificationChain msgs = null; |
386 | if (handler != null) |
387 | msgs = ((InternalEObject)handler).eInverseRemove(this, SnapshotPackage.HANDLER__JOIN_NODE, Handler.class, msgs); |
388 | if (newHandler != null) |
389 | msgs = ((InternalEObject)newHandler).eInverseAdd(this, SnapshotPackage.HANDLER__JOIN_NODE, Handler.class, msgs); |
390 | msgs = basicSetHandler(newHandler, msgs); |
391 | if (msgs != null) msgs.dispatch(); |
392 | } |
393 | else if (eNotificationRequired()) |
394 | eNotify(new ENotificationImpl(this, Notification.SET, SnapshotPackage.JOIN_NODE__HANDLER, newHandler, newHandler)); |
395 | } |
396 | |
397 | /** |
398 | * <!-- begin-user-doc --> |
399 | * <!-- end-user-doc --> |
400 | * @generated |
401 | */ |
402 | public JoinNode getNext() { |
403 | if (next != null && next.eIsProxy()) { |
404 | InternalEObject oldNext = (InternalEObject)next; |
405 | next = (JoinNode)eResolveProxy(oldNext); |
406 | if (next != oldNext) { |
407 | if (eNotificationRequired()) |
408 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, SnapshotPackage.JOIN_NODE__NEXT, oldNext, next)); |
409 | } |
410 | } |
411 | return next; |
412 | } |
413 | |
414 | /** |
415 | * <!-- begin-user-doc --> |
416 | * <!-- end-user-doc --> |
417 | * @generated |
418 | */ |
419 | public JoinNode basicGetNext() { |
420 | return next; |
421 | } |
422 | |
423 | /** |
424 | * <!-- begin-user-doc --> |
425 | * <!-- end-user-doc --> |
426 | * @generated |
427 | */ |
428 | public NotificationChain basicSetNext(JoinNode newNext, NotificationChain msgs) { |
429 | JoinNode oldNext = next; |
430 | next = newNext; |
431 | if (eNotificationRequired()) { |
432 | ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SnapshotPackage.JOIN_NODE__NEXT, oldNext, newNext); |
433 | if (msgs == null) msgs = notification; else msgs.add(notification); |
434 | } |
435 | return msgs; |
436 | } |
437 | |
438 | /** |
439 | * <!-- begin-user-doc --> |
440 | * <!-- end-user-doc --> |
441 | * @generated |
442 | */ |
443 | public void setNext(JoinNode newNext) { |
444 | if (newNext != next) { |
445 | NotificationChain msgs = null; |
446 | if (next != null) |
447 | msgs = ((InternalEObject)next).eInverseRemove(this, SnapshotPackage.JOIN_NODE__PREV, JoinNode.class, msgs); |
448 | if (newNext != null) |
449 | msgs = ((InternalEObject)newNext).eInverseAdd(this, SnapshotPackage.JOIN_NODE__PREV, JoinNode.class, msgs); |
450 | msgs = basicSetNext(newNext, msgs); |
451 | if (msgs != null) msgs.dispatch(); |
452 | } |
453 | else if (eNotificationRequired()) |
454 | eNotify(new ENotificationImpl(this, Notification.SET, SnapshotPackage.JOIN_NODE__NEXT, newNext, newNext)); |
455 | } |
456 | |
457 | /** |
458 | * <!-- begin-user-doc --> |
459 | * <!-- end-user-doc --> |
460 | * @generated |
461 | */ |
462 | public Predicate getPredicate() { |
463 | return predicate; |
464 | } |
465 | |
466 | /** |
467 | * <!-- begin-user-doc --> |
468 | * <!-- end-user-doc --> |
469 | * @generated |
470 | */ |
471 | public NotificationChain basicSetPredicate(Predicate newPredicate, NotificationChain msgs) { |
472 | Predicate oldPredicate = predicate; |
473 | predicate = newPredicate; |
474 | if (eNotificationRequired()) { |
475 | ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SnapshotPackage.JOIN_NODE__PREDICATE, oldPredicate, newPredicate); |
476 | if (msgs == null) msgs = notification; else msgs.add(notification); |
477 | } |
478 | return msgs; |
479 | } |
480 | |
481 | /** |
482 | * <!-- begin-user-doc --> |
483 | * <!-- end-user-doc --> |
484 | * @generated |
485 | */ |
486 | public void setPredicate(Predicate newPredicate) { |
487 | if (newPredicate != predicate) { |
488 | NotificationChain msgs = null; |
489 | if (predicate != null) |
490 | msgs = ((InternalEObject)predicate).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SnapshotPackage.JOIN_NODE__PREDICATE, null, msgs); |
491 | if (newPredicate != null) |
492 | msgs = ((InternalEObject)newPredicate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SnapshotPackage.JOIN_NODE__PREDICATE, null, msgs); |
493 | msgs = basicSetPredicate(newPredicate, msgs); |
494 | if (msgs != null) msgs.dispatch(); |
495 | } |
496 | else if (eNotificationRequired()) |
497 | eNotify(new ENotificationImpl(this, Notification.SET, SnapshotPackage.JOIN_NODE__PREDICATE, newPredicate, newPredicate)); |
498 | } |
499 | |
500 | /** |
501 | * <!-- begin-user-doc --> |
502 | * <!-- end-user-doc --> |
503 | * @generated |
504 | */ |
505 | public EList<JoinNode> getPrev() { |
506 | if (prev == null) { |
507 | prev = new EObjectWithInverseResolvingEList<JoinNode>(JoinNode.class, this, SnapshotPackage.JOIN_NODE__PREV, SnapshotPackage.JOIN_NODE__NEXT); |
508 | } |
509 | return prev; |
510 | } |
511 | |
512 | /** |
513 | * <!-- begin-user-doc --> |
514 | * <!-- end-user-doc --> |
515 | * @generated |
516 | */ |
517 | public EList<JoinInput> getJoinInputs() { |
518 | if (joinInputs == null) { |
519 | joinInputs = new EObjectWithInverseResolvingEList<JoinInput>(JoinInput.class, this, SnapshotPackage.JOIN_NODE__JOIN_INPUTS, SnapshotPackage.JOIN_INPUT__JOIN_NODE); |
520 | } |
521 | return joinInputs; |
522 | } |
523 | |
524 | /** |
525 | * <!-- begin-user-doc --> |
526 | * <!-- end-user-doc --> |
527 | * @generated |
528 | */ |
529 | @SuppressWarnings("unchecked") |
530 | @Override |
531 | public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
532 | switch (featureID) { |
533 | case SnapshotPackage.JOIN_NODE__SNAPSHOT: |
534 | if (eInternalContainer() != null) |
535 | msgs = eBasicRemoveFromContainer(msgs); |
536 | return basicSetSnapshot((Snapshot)otherEnd, msgs); |
537 | case SnapshotPackage.JOIN_NODE__HANDLER: |
538 | if (handler != null) |
539 | msgs = ((InternalEObject)handler).eInverseRemove(this, SnapshotPackage.HANDLER__JOIN_NODE, Handler.class, msgs); |
540 | return basicSetHandler((Handler)otherEnd, msgs); |
541 | case SnapshotPackage.JOIN_NODE__NEXT: |
542 | if (next != null) |
543 | msgs = ((InternalEObject)next).eInverseRemove(this, SnapshotPackage.JOIN_NODE__PREV, JoinNode.class, msgs); |
544 | return basicSetNext((JoinNode)otherEnd, msgs); |
545 | case SnapshotPackage.JOIN_NODE__PREV: |
546 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getPrev()).basicAdd(otherEnd, msgs); |
547 | case SnapshotPackage.JOIN_NODE__JOIN_INPUTS: |
548 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getJoinInputs()).basicAdd(otherEnd, msgs); |
549 | } |
550 | return super.eInverseAdd(otherEnd, featureID, msgs); |
551 | } |
552 | |
553 | /** |
554 | * <!-- begin-user-doc --> |
555 | * <!-- end-user-doc --> |
556 | * @generated |
557 | */ |
558 | @Override |
559 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
560 | switch (featureID) { |
561 | case SnapshotPackage.JOIN_NODE__SNAPSHOT: |
562 | return basicSetSnapshot(null, msgs); |
563 | case SnapshotPackage.JOIN_NODE__COLLECTORS: |
564 | return ((InternalEList<?>)getCollectors()).basicRemove(otherEnd, msgs); |
565 | case SnapshotPackage.JOIN_NODE__HANDLER: |
566 | return basicSetHandler(null, msgs); |
567 | case SnapshotPackage.JOIN_NODE__NEXT: |
568 | return basicSetNext(null, msgs); |
569 | case SnapshotPackage.JOIN_NODE__PREDICATE: |
570 | return basicSetPredicate(null, msgs); |
571 | case SnapshotPackage.JOIN_NODE__PREV: |
572 | return ((InternalEList<?>)getPrev()).basicRemove(otherEnd, msgs); |
573 | case SnapshotPackage.JOIN_NODE__JOIN_INPUTS: |
574 | return ((InternalEList<?>)getJoinInputs()).basicRemove(otherEnd, msgs); |
575 | } |
576 | return super.eInverseRemove(otherEnd, featureID, msgs); |
577 | } |
578 | |
579 | /** |
580 | * <!-- begin-user-doc --> |
581 | * <!-- end-user-doc --> |
582 | * @generated |
583 | */ |
584 | @Override |
585 | public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) { |
586 | switch (eContainerFeatureID()) { |
587 | case SnapshotPackage.JOIN_NODE__SNAPSHOT: |
588 | return eInternalContainer().eInverseRemove(this, SnapshotPackage.SNAPSHOT__ELEMENTS, Snapshot.class, msgs); |
589 | } |
590 | return super.eBasicRemoveFromContainerFeature(msgs); |
591 | } |
592 | |
593 | /** |
594 | * <!-- begin-user-doc --> |
595 | * <!-- end-user-doc --> |
596 | * @generated |
597 | */ |
598 | @Override |
599 | public Object eGet(int featureID, boolean resolve, boolean coreType) { |
600 | switch (featureID) { |
601 | case SnapshotPackage.JOIN_NODE__ID: |
602 | return getId(); |
603 | case SnapshotPackage.JOIN_NODE__NAME: |
604 | return getName(); |
605 | case SnapshotPackage.JOIN_NODE__DETAILS: |
606 | return getDetails(); |
607 | case SnapshotPackage.JOIN_NODE__SNAPSHOT: |
608 | return getSnapshot(); |
609 | case SnapshotPackage.JOIN_NODE__COLLECTORS: |
610 | return getCollectors(); |
611 | case SnapshotPackage.JOIN_NODE__OUTPUT_INDICES: |
612 | return getOutputIndices(); |
613 | case SnapshotPackage.JOIN_NODE__HANDLER: |
614 | if (resolve) return getHandler(); |
615 | return basicGetHandler(); |
616 | case SnapshotPackage.JOIN_NODE__NEXT: |
617 | if (resolve) return getNext(); |
618 | return basicGetNext(); |
619 | case SnapshotPackage.JOIN_NODE__PREDICATE: |
620 | return getPredicate(); |
621 | case SnapshotPackage.JOIN_NODE__PREV: |
622 | return getPrev(); |
623 | case SnapshotPackage.JOIN_NODE__JOIN_INPUTS: |
624 | return getJoinInputs(); |
625 | } |
626 | return super.eGet(featureID, resolve, coreType); |
627 | } |
628 | |
629 | /** |
630 | * <!-- begin-user-doc --> |
631 | * <!-- end-user-doc --> |
632 | * @generated |
633 | */ |
634 | @SuppressWarnings("unchecked") |
635 | @Override |
636 | public void eSet(int featureID, Object newValue) { |
637 | switch (featureID) { |
638 | case SnapshotPackage.JOIN_NODE__ID: |
639 | setId((String)newValue); |
640 | return; |
641 | case SnapshotPackage.JOIN_NODE__NAME: |
642 | setName((String)newValue); |
643 | return; |
644 | case SnapshotPackage.JOIN_NODE__DETAILS: |
645 | setDetails((String)newValue); |
646 | return; |
647 | case SnapshotPackage.JOIN_NODE__SNAPSHOT: |
648 | setSnapshot((Snapshot)newValue); |
649 | return; |
650 | case SnapshotPackage.JOIN_NODE__COLLECTORS: |
651 | getCollectors().clear(); |
652 | getCollectors().addAll((Collection<? extends JoinInputCollector>)newValue); |
653 | return; |
654 | case SnapshotPackage.JOIN_NODE__OUTPUT_INDICES: |
655 | getOutputIndices().clear(); |
656 | getOutputIndices().addAll((Collection<? extends Integer>)newValue); |
657 | return; |
658 | case SnapshotPackage.JOIN_NODE__HANDLER: |
659 | setHandler((Handler)newValue); |
660 | return; |
661 | case SnapshotPackage.JOIN_NODE__NEXT: |
662 | setNext((JoinNode)newValue); |
663 | return; |
664 | case SnapshotPackage.JOIN_NODE__PREDICATE: |
665 | setPredicate((Predicate)newValue); |
666 | return; |
667 | case SnapshotPackage.JOIN_NODE__PREV: |
668 | getPrev().clear(); |
669 | getPrev().addAll((Collection<? extends JoinNode>)newValue); |
670 | return; |
671 | case SnapshotPackage.JOIN_NODE__JOIN_INPUTS: |
672 | getJoinInputs().clear(); |
673 | getJoinInputs().addAll((Collection<? extends JoinInput>)newValue); |
674 | return; |
675 | } |
676 | super.eSet(featureID, newValue); |
677 | } |
678 | |
679 | /** |
680 | * <!-- begin-user-doc --> |
681 | * <!-- end-user-doc --> |
682 | * @generated |
683 | */ |
684 | @Override |
685 | public void eUnset(int featureID) { |
686 | switch (featureID) { |
687 | case SnapshotPackage.JOIN_NODE__ID: |
688 | setId(ID_EDEFAULT); |
689 | return; |
690 | case SnapshotPackage.JOIN_NODE__NAME: |
691 | setName(NAME_EDEFAULT); |
692 | return; |
693 | case SnapshotPackage.JOIN_NODE__DETAILS: |
694 | setDetails(DETAILS_EDEFAULT); |
695 | return; |
696 | case SnapshotPackage.JOIN_NODE__SNAPSHOT: |
697 | setSnapshot((Snapshot)null); |
698 | return; |
699 | case SnapshotPackage.JOIN_NODE__COLLECTORS: |
700 | getCollectors().clear(); |
701 | return; |
702 | case SnapshotPackage.JOIN_NODE__OUTPUT_INDICES: |
703 | getOutputIndices().clear(); |
704 | return; |
705 | case SnapshotPackage.JOIN_NODE__HANDLER: |
706 | setHandler((Handler)null); |
707 | return; |
708 | case SnapshotPackage.JOIN_NODE__NEXT: |
709 | setNext((JoinNode)null); |
710 | return; |
711 | case SnapshotPackage.JOIN_NODE__PREDICATE: |
712 | setPredicate((Predicate)null); |
713 | return; |
714 | case SnapshotPackage.JOIN_NODE__PREV: |
715 | getPrev().clear(); |
716 | return; |
717 | case SnapshotPackage.JOIN_NODE__JOIN_INPUTS: |
718 | getJoinInputs().clear(); |
719 | return; |
720 | } |
721 | super.eUnset(featureID); |
722 | } |
723 | |
724 | /** |
725 | * <!-- begin-user-doc --> |
726 | * <!-- end-user-doc --> |
727 | * @generated |
728 | */ |
729 | @Override |
730 | public boolean eIsSet(int featureID) { |
731 | switch (featureID) { |
732 | case SnapshotPackage.JOIN_NODE__ID: |
733 | return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id); |
734 | case SnapshotPackage.JOIN_NODE__NAME: |
735 | return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); |
736 | case SnapshotPackage.JOIN_NODE__DETAILS: |
737 | return DETAILS_EDEFAULT == null ? details != null : !DETAILS_EDEFAULT.equals(details); |
738 | case SnapshotPackage.JOIN_NODE__SNAPSHOT: |
739 | return getSnapshot() != null; |
740 | case SnapshotPackage.JOIN_NODE__COLLECTORS: |
741 | return collectors != null && !collectors.isEmpty(); |
742 | case SnapshotPackage.JOIN_NODE__OUTPUT_INDICES: |
743 | return outputIndices != null && !outputIndices.isEmpty(); |
744 | case SnapshotPackage.JOIN_NODE__HANDLER: |
745 | return handler != null; |
746 | case SnapshotPackage.JOIN_NODE__NEXT: |
747 | return next != null; |
748 | case SnapshotPackage.JOIN_NODE__PREDICATE: |
749 | return predicate != null; |
750 | case SnapshotPackage.JOIN_NODE__PREV: |
751 | return prev != null && !prev.isEmpty(); |
752 | case SnapshotPackage.JOIN_NODE__JOIN_INPUTS: |
753 | return joinInputs != null && !joinInputs.isEmpty(); |
754 | } |
755 | return super.eIsSet(featureID); |
756 | } |
757 | |
758 | /** |
759 | * <!-- begin-user-doc --> |
760 | * <!-- end-user-doc --> |
761 | * @generated |
762 | */ |
763 | @Override |
764 | public String toString() { |
765 | if (eIsProxy()) return super.toString(); |
766 | |
767 | StringBuffer result = new StringBuffer(super.toString()); |
768 | result.append(" (id: "); |
769 | result.append(id); |
770 | result.append(", name: "); |
771 | result.append(name); |
772 | result.append(", details: "); |
773 | result.append(details); |
774 | result.append(", outputIndices: "); |
775 | result.append(outputIndices); |
776 | result.append(')'); |
777 | return result.toString(); |
778 | } |
779 | |
780 | } //JoinNodeImpl |