KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > emf > ecore > sdo > impl > EChangeSummaryImpl


1 /**
2  * <copyright>
3  *
4  * Copyright (c) 2003-2004 IBM Corporation and others.
5  * All rights reserved. This program and the accompanying materials
6  * are made available under the terms of the Eclipse Public License v1.0
7  * which accompanies this distribution, and is available at
8  * http://www.eclipse.org/legal/epl-v10.html
9  *
10  * Contributors:
11  * IBM - Initial API and implementation
12  *
13  * </copyright>
14  *
15  * $Id: EChangeSummaryImpl.java,v 1.17 2005/06/08 06:24:25 nickb Exp $
16  */

17 package org.eclipse.emf.ecore.sdo.impl;
18
19
20 import java.io.ObjectStreamException JavaDoc;
21 import java.math.BigDecimal JavaDoc;
22 import java.math.BigInteger JavaDoc;
23 import java.util.Collection JavaDoc;
24 import java.util.Collections JavaDoc;
25 import java.util.Date JavaDoc;
26 import java.util.HashMap JavaDoc;
27 import java.util.HashSet JavaDoc;
28 import java.util.Iterator JavaDoc;
29 import java.util.List JavaDoc;
30 import java.util.Map JavaDoc;
31 import java.util.Set JavaDoc;
32
33 import org.eclipse.emf.common.notify.Notification;
34 import org.eclipse.emf.common.notify.NotificationChain;
35 import org.eclipse.emf.common.util.BasicEList;
36 import org.eclipse.emf.common.util.EList;
37 import org.eclipse.emf.common.util.UniqueEList;
38 import org.eclipse.emf.ecore.EClass;
39 import org.eclipse.emf.ecore.EObject;
40 import org.eclipse.emf.ecore.EStructuralFeature;
41 import org.eclipse.emf.ecore.InternalEObject;
42 import org.eclipse.emf.ecore.change.ChangeDescription;
43 import org.eclipse.emf.ecore.change.FeatureChange;
44 import org.eclipse.emf.ecore.change.impl.ChangeDescriptionImpl;
45 import org.eclipse.emf.ecore.change.util.ChangeRecorder;
46 import org.eclipse.emf.ecore.impl.ENotificationImpl;
47 import org.eclipse.emf.ecore.sdo.EChangeSummary;
48 import org.eclipse.emf.ecore.sdo.EDataGraph;
49 import org.eclipse.emf.ecore.sdo.EProperty;
50 import org.eclipse.emf.ecore.sdo.InternalEDataObject;
51 import org.eclipse.emf.ecore.sdo.SDOFactory;
52 import org.eclipse.emf.ecore.sdo.SDOPackage;
53 import org.eclipse.emf.ecore.sdo.util.BasicESequence;
54 import org.eclipse.emf.ecore.sdo.util.SDOUtil;
55 import org.eclipse.emf.ecore.util.DelegatingFeatureMap;
56 import org.eclipse.emf.ecore.util.EcoreUtil;
57 import org.eclipse.emf.ecore.util.FeatureMapUtil;
58 import org.eclipse.emf.ecore.util.InternalEList;
59
60 import commonj.sdo.ChangeSummary;
61 import commonj.sdo.DataGraph;
62 import commonj.sdo.DataObject;
63 import commonj.sdo.Property;
64 import commonj.sdo.Sequence;
65 import commonj.sdo.Type;
66
67
68 /**
69  * <!-- begin-user-doc -->
70  * An implementation of the model object '<em><b>EChange Summary</b></em>'.
71  * <!-- end-user-doc -->
72  * <p>
73  * The following features are implemented:
74  * <ul>
75  * <li>{@link org.eclipse.emf.ecore.sdo.impl.EChangeSummaryImpl#isLogging <em>Logging</em>}</li>
76  * <li>{@link org.eclipse.emf.ecore.sdo.impl.EChangeSummaryImpl#getDataGraph <em>Data Graph</em>}</li>
77  * <li>{@link org.eclipse.emf.ecore.sdo.impl.EChangeSummaryImpl#getChangedDataObjects <em>Changed Data Objects</em>}</li>
78  * <li>{@link org.eclipse.emf.ecore.sdo.impl.EChangeSummaryImpl#getEDataGraph <em>EData Graph</em>}</li>
79  * </ul>
80  * </p>
81  *
82  * @generated
83  */

84 public class EChangeSummaryImpl extends ChangeDescriptionImpl implements EChangeSummary, InternalEDataObject
85 {
86   /**
87    * The default value of the '{@link #isLogging() <em>Logging</em>}' attribute.
88    * <!-- begin-user-doc -->
89    * <!-- end-user-doc -->
90    * @see #isLogging()
91    * @generated
92    * @ordered
93    */

94   protected static final boolean LOGGING_EDEFAULT = false;
95
96   /**
97    * The cached value of the '{@link #getEDataGraph() <em>EData Graph</em>}' reference.
98    * <!-- begin-user-doc -->
99    * <!-- end-user-doc -->
100    * @see #getEDataGraph()
101    * @generated
102    * @ordered
103    */

104   protected EDataGraph eDataGraph = null;
105
106   protected ChangeRecorder changeRecorder = null;
107   protected EList cachedObjectsToDetach = null;
108   protected HashMap JavaDoc cachedSDOObjectChanges = new HashMap JavaDoc();
109
110   /**
111    * <!-- begin-user-doc -->
112    * <!-- end-user-doc -->
113    * @generated
114    */

115   protected EChangeSummaryImpl()
116   {
117     super();
118   }
119
120   /**
121    * <!-- begin-user-doc -->
122    * <!-- end-user-doc -->
123    * @generated
124    */

125   protected EClass eStaticClass()
126   {
127     return SDOPackage.eINSTANCE.getEChangeSummary();
128   }
129
130   /**
131    * <!-- begin-user-doc -->
132    * <!-- end-user-doc -->
133    * @generated NOT
134    */

135   public boolean isLogging()
136   {
137     return changeRecorder != null;
138   }
139
140   /**
141    * <!-- begin-user-doc -->
142    * <!-- end-user-doc -->
143    * @generated
144    */

145   public EDataGraph getEDataGraph()
146   {
147     return eDataGraph;
148   }
149
150   /**
151    * <!-- begin-user-doc -->
152    * <!-- end-user-doc -->
153    * @generated
154    */

155   public NotificationChain basicSetEDataGraph(EDataGraph newEDataGraph, NotificationChain msgs)
156   {
157     EDataGraph oldEDataGraph = eDataGraph;
158     eDataGraph = newEDataGraph;
159     if (eNotificationRequired())
160     {
161       ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SDOPackage.ECHANGE_SUMMARY__EDATA_GRAPH, oldEDataGraph, newEDataGraph);
162       if (msgs == null) msgs = notification; else msgs.add(notification);
163     }
164     return msgs;
165   }
166
167   /**
168    * <!-- begin-user-doc -->
169    * <!-- end-user-doc -->
170    * @generated
171    */

172   public void setEDataGraph(EDataGraph newEDataGraph)
173   {
174     if (newEDataGraph != eDataGraph)
175     {
176       NotificationChain msgs = null;
177       if (eDataGraph != null)
178         msgs = ((InternalEObject)eDataGraph).eInverseRemove(this, SDOPackage.EDATA_GRAPH__ECHANGE_SUMMARY, EDataGraph.class, msgs);
179       if (newEDataGraph != null)
180         msgs = ((InternalEObject)newEDataGraph).eInverseAdd(this, SDOPackage.EDATA_GRAPH__ECHANGE_SUMMARY, EDataGraph.class, msgs);
181       msgs = basicSetEDataGraph(newEDataGraph, msgs);
182       if (msgs != null) msgs.dispatch();
183     }
184     else if (eNotificationRequired())
185       eNotify(new ENotificationImpl(this, Notification.SET, SDOPackage.ECHANGE_SUMMARY__EDATA_GRAPH, newEDataGraph, newEDataGraph));
186   }
187
188   /**
189    * <!-- begin-user-doc -->
190    * <!-- end-user-doc -->
191    * @generated NOT
192    */

193   public void beginLogging()
194   {
195     if (isLogging())
196     {
197       throw new IllegalStateException JavaDoc("Already logging");
198     }
199
200     getObjectsToAttach().clear();
201     getObjectChanges().clear();
202     getResourceChanges().clear();
203
204     oldContainmentInformation = null;
205     changeRecorder = new SDOChangeRecorder();
206     changeRecorder.beginRecording(Collections.singleton(getEDataGraph().getRootResource()));
207     if (eNotificationRequired())
208       eNotify(new ENotificationImpl(this, Notification.SET, SDOPackage.ECHANGE_SUMMARY__LOGGING, false, true));
209   }
210   
211   /**
212    * <!-- begin-user-doc -->
213    * <!-- end-user-doc -->
214    * @generated NOT
215    */

216   public void resumeLogging()
217   {
218     if (isLogging())
219     {
220       throw new IllegalStateException JavaDoc("Already logging");
221     }
222
223     oldContainmentInformation = null;
224     
225     changeRecorder = new SDOChangeRecorder();
226     changeRecorder.beginRecording(this, Collections.singleton(getEDataGraph().getRootResource()));
227
228     if (eNotificationRequired())
229       eNotify(new ENotificationImpl(this, Notification.SET, SDOPackage.ECHANGE_SUMMARY__LOGGING, false, true));
230   }
231
232   protected class SDOChangeRecorder extends ChangeRecorder
233   {
234     public SDOChangeRecorder()
235     {
236       super();
237     }
238     
239     public void beginRecording(ChangeDescription changeDescription, Collection JavaDoc rootObjects)
240     {
241       deletedObjects = null;
242       cachedObjectsToDetach = null;
243       super.beginRecording(changeDescription, rootObjects);
244     }
245
246     protected ChangeDescription createChangeDescription()
247     {
248       return EChangeSummaryImpl.this;
249     }
250
251     protected FeatureChange createFeatureChange(EObject eObject, EStructuralFeature eStructuralFeature, Object JavaDoc value, boolean isSet)
252     {
253       EProperty eProperty = SDOUtil.adaptProperty(eStructuralFeature);
254       if (eProperty.isReadOnly())
255       {
256         if (SDOUtil.getDataGraph(eObject) != null)
257         {
258           throw
259             new IllegalStateException JavaDoc
260               ("The property '" + eProperty.getName() + "' of type '" +
261                  SDOUtil.adaptType(eStructuralFeature.getEContainingClass()).getName() + "' is read only");
262         }
263       }
264       return SDOFactory.eINSTANCE.createEChangeSummarySetting(eStructuralFeature, value, isSet);
265     }
266     
267     protected void consolidateChanges()
268     {
269       deletedObjects = null;
270       cachedObjectsToDetach = null;
271       super.consolidateChanges();
272     }
273   }
274
275   /**
276    * <!-- begin-user-doc -->
277    * <!-- end-user-doc -->
278    * @generated NOT
279    */

280   public void endLogging()
281   {
282     if (!isLogging())
283     {
284       throw new IllegalStateException JavaDoc("Not currently logging");
285     }
286     
287     changeRecorder.endRecording();
288     changeRecorder.dispose();
289     changeRecorder = null;
290     if (eNotificationRequired())
291       eNotify(new ENotificationImpl(this, Notification.SET, SDOPackage.ECHANGE_SUMMARY__LOGGING, true, false));
292   }
293
294   /**
295    * <!-- begin-user-doc -->
296    * <!-- end-user-doc -->
297    * @generated NOT
298    */

299   public boolean isCreated(DataObject dataObject)
300   {
301     return getObjectsToDetach().contains(dataObject);
302   }
303
304   /**
305    * <!-- begin-user-doc -->
306    * <!-- end-user-doc -->
307    * @generated NOT
308    */

309   public boolean isDeleted(DataObject dataObject)
310   {
311     return getDeletedObjects().contains(dataObject);
312   }
313
314   /**
315    * <!-- begin-user-doc -->
316    * <!-- end-user-doc -->
317    * @generated NOT
318    */

319   public List JavaDoc getOldValues(DataObject dataObject)
320   {
321     List JavaDoc sdoSettings = (List JavaDoc)cachedSDOObjectChanges.get(dataObject);
322     if (sdoSettings != null)
323     {
324       return sdoSettings;
325     }
326     List JavaDoc settings = (List JavaDoc)getObjectChanges().get(dataObject);
327     // TODO it is possible that settings is null, should we create empty list then?
328
// TODO declaring serialVersionUID?
329
for (int i = 0; i < settings.size(); i++)
330     {
331       FeatureChange change = (FeatureChange)settings.get(i);
332       EStructuralFeature feature = change.getFeature();
333       if (FeatureMapUtil.isFeatureMap(feature))
334       {
335         final List JavaDoc values = (List JavaDoc)change.getValue();
336         if (sdoSettings == null)
337         {
338           sdoSettings = new BasicEList(settings);
339         }
340         DelegatingFeatureMap featureMap = new DelegatingFeatureMap(((InternalEObject)dataObject), feature)
341           {
342             protected final List JavaDoc theList = values;
343
344             protected List JavaDoc delegateList()
345             {
346               return theList;
347             }
348           };
349
350         // create new settings and replace the setting for mixed feature
351
sdoSettings.set(i, SDOFactory.eINSTANCE.createEChangeSummarySetting(feature, new BasicESequence(featureMap), change.isSet()));
352         // add all derived features
353
for (int k = 0; k < featureMap.size(); k++)
354         {
355           EStructuralFeature f = featureMap.getEStructuralFeature(k);
356           sdoSettings.add(SDOFactory.eINSTANCE.createEChangeSummarySetting(f, featureMap.get(f, false), true));
357         }
358       }
359     }
360     sdoSettings = (sdoSettings != null) ? sdoSettings : settings;
361     cachedSDOObjectChanges.put(dataObject, sdoSettings);
362     return sdoSettings;
363   }
364
365   /**
366    * <!-- begin-user-doc -->
367    * <!-- end-user-doc -->
368    * @generated NOT
369    */

370   public void summarize()
371   {
372     if (!isLogging())
373     {
374       throw new IllegalStateException JavaDoc("Not currently logging");
375     }
376     
377     changeRecorder.summarize();
378   }
379
380   public boolean isChanged(DataObject dataObject)
381   {
382     return getObjectChanges().containsKey(dataObject) && !isDeleted(dataObject) && !isCreated(dataObject);
383   }
384
385   public Setting getOldValue(DataObject dataObject, Property property)
386   {
387     for (Iterator JavaDoc i = getOldValues(dataObject).iterator(); i.hasNext(); )
388     {
389       Setting setting = (Setting)i.next();
390       if (setting.getProperty() == property)
391       {
392         return setting;
393       }
394     }
395
396     return null;
397   }
398
399   public DataObject getOldContainer(DataObject dataObject)
400   {
401     return (DataObject)getOldContainer((EObject)dataObject);
402   }
403
404   public Property getOldContainmentProperty(DataObject dataObject)
405   {
406     return SDOUtil.adaptProperty(getOldContainmentFeature((EObject)dataObject));
407   }
408   
409   public EList getObjectsToDetach()
410   {
411     if (cachedObjectsToDetach == null)
412     {
413       cachedObjectsToDetach = super.getObjectsToDetach();
414     }
415     return cachedObjectsToDetach;
416   }
417
418   /**
419    * <!-- begin-user-doc -->
420    * <!-- end-user-doc -->
421    * @generated
422    */

423   public Object JavaDoc get(String JavaDoc path)
424   {
425     return SDOUtil.get(this, path);
426   }
427
428   /**
429    * <!-- begin-user-doc -->
430    * <!-- end-user-doc -->
431    * @generated
432    */

433   public void set(String JavaDoc path, Object JavaDoc value)
434   {
435     SDOUtil.set(this, path, value);
436   }
437
438   /**
439    * <!-- begin-user-doc -->
440    * <!-- end-user-doc -->
441    * @generated
442    */

443   public boolean isSet(String JavaDoc path)
444   {
445     return SDOUtil.isSet(this, path);
446   }
447
448   /**
449    * <!-- begin-user-doc -->
450    * <!-- end-user-doc -->
451    * @generated
452    */

453   public void unset(String JavaDoc path)
454   {
455     SDOUtil.unset(this, path);
456   }
457
458   /**
459    * <!-- begin-user-doc -->
460    * <!-- end-user-doc -->
461    * @generated
462    */

463   public Object JavaDoc get(int propertyIndex)
464   {
465     return SDOUtil.get(this, propertyIndex);
466   }
467
468   /**
469    * <!-- begin-user-doc -->
470    * <!-- end-user-doc -->
471    * @generated
472    */

473   public void set(int propertyIndex, Object JavaDoc value)
474   {
475     SDOUtil.set(this, propertyIndex, value);
476   }
477
478   /**
479    * <!-- begin-user-doc -->
480    * <!-- end-user-doc -->
481    * @generated
482    */

483   public boolean isSet(int propertyIndex)
484   {
485     return SDOUtil.isSet(this, propertyIndex);
486   }
487
488   /**
489    * <!-- begin-user-doc -->
490    * <!-- end-user-doc -->
491    * @generated
492    */

493   public void unset(int propertyIndex)
494   {
495     SDOUtil.unset(this, propertyIndex);
496   }
497
498   /**
499    * <!-- begin-user-doc -->
500    * <!-- end-user-doc -->
501    * @generated
502    */

503   public Object JavaDoc get(Property property)
504   {
505     return SDOUtil.get(this, property);
506   }
507
508   /**
509    * <!-- begin-user-doc -->
510    * <!-- end-user-doc -->
511    * @generated
512    */

513   public void set(Property property, Object JavaDoc value)
514   {
515     SDOUtil.set(this, property, value);
516   }
517
518   /**
519    * <!-- begin-user-doc -->
520    * <!-- end-user-doc -->
521    * @generated
522    */

523   public boolean isSet(Property property)
524   {
525     return SDOUtil.isSet(this, property);
526   }
527
528   /**
529    * <!-- begin-user-doc -->
530    * <!-- end-user-doc -->
531    * @generated
532    */

533   public void unset(Property property)
534   {
535     SDOUtil.unset(this, property);
536   }
537
538   /**
539    * <!-- begin-user-doc -->
540    * <!-- end-user-doc -->
541    * @generated
542    */

543   public DataObject getContainer()
544   {
545     return SDOUtil.getContainer(this);
546   }
547
548   /**
549    * <!-- begin-user-doc -->
550    * <!-- end-user-doc -->
551    * @generated
552    */

553   public Property getContainmentProperty()
554   {
555     return SDOUtil.getContainmentProperty(this);
556   }
557
558   /**
559    * <!-- begin-user-doc -->
560    * <!-- end-user-doc -->
561    * @generated NOT
562    */

563   public DataGraph getDataGraph()
564   {
565     return getEDataGraph();
566   }
567
568   protected Set JavaDoc deletedObjects;
569
570   protected void preApply(boolean reverse)
571   {
572     super.preApply(reverse);
573     deletedObjects = null;
574   }
575
576   protected Set JavaDoc getDeletedObjects()
577   {
578     if (deletedObjects == null)
579     {
580       deletedObjects = new HashSet JavaDoc();
581       for (Iterator JavaDoc i = EcoreUtil.getAllContents(getObjectsToAttach()); i.hasNext(); )
582       {
583         deletedObjects.add(i.next());
584       }
585     }
586     return deletedObjects;
587   }
588
589   /**
590    * <!-- begin-user-doc -->
591    * <!-- end-user-doc -->
592    * @generated NOT
593    */

594   public EList getChangedDataObjectsGen()
595   {
596     EList result = new UniqueEList.FastCompare(getDeletedObjects());
597     result.addAll(getObjectsToDetach());
598     for (Iterator JavaDoc i = getObjectChanges().iterator(); i.hasNext(); )
599     {
600       Map.Entry JavaDoc entry = (Map.Entry JavaDoc)i.next();
601       result.add(entry.getKey());
602     }
603     return result;
604   }
605
606   public List JavaDoc getChangedDataObjects()
607   {
608     return getChangedDataObjectsGen();
609   }
610
611   /**
612    * <!-- begin-user-doc -->
613    * <!-- end-user-doc -->
614    * @generated
615    */

616   public Type getType()
617   {
618     return SDOUtil.getType(this);
619   }
620
621   /**
622    * <!-- begin-user-doc -->
623    * <!-- end-user-doc -->
624    * @generated
625    */

626   public BigDecimal JavaDoc getBigDecimal(String JavaDoc path)
627   {
628     return SDOUtil.getBigDecimal(this, path);
629   }
630
631   /**
632    * <!-- begin-user-doc -->
633    * <!-- end-user-doc -->
634    * @generated
635    */

636   public BigInteger JavaDoc getBigInteger(String JavaDoc path)
637   {
638     return SDOUtil.getBigInteger(this, path);
639   }
640
641   /**
642    * <!-- begin-user-doc -->
643    * <!-- end-user-doc -->
644    * @generated
645    */

646   public boolean getBoolean(String JavaDoc path)
647   {
648     return SDOUtil.getBoolean(this, path);
649   }
650
651   /**
652    * <!-- begin-user-doc -->
653    * <!-- end-user-doc -->
654    * @generated
655    */

656   public byte getByte(String JavaDoc path)
657   {
658     return SDOUtil.getByte(this, path);
659   }
660
661   /**
662    * <!-- begin-user-doc -->
663    * <!-- end-user-doc -->
664    * @generated
665    */

666   public byte[] getBytes(String JavaDoc path)
667   {
668     return SDOUtil.getBytes(this, path);
669   }
670
671   /**
672    * <!-- begin-user-doc -->
673    * <!-- end-user-doc -->
674    * @generated
675    */

676   public char getChar(String JavaDoc path)
677   {
678     return SDOUtil.getChar(this, path);
679   }
680
681   /**
682    * <!-- begin-user-doc -->
683    * <!-- end-user-doc -->
684    * @generated
685    */

686   public DataObject getDataObject(String JavaDoc path)
687   {
688     return SDOUtil.getDataObject(this, path);
689   }
690
691   /**
692    * <!-- begin-user-doc -->
693    * <!-- end-user-doc -->
694    * @generated
695    */

696   public Date JavaDoc getDate(String JavaDoc path)
697   {
698     return SDOUtil.getDate(this, path);
699   }
700
701   /**
702    * <!-- begin-user-doc -->
703    * <!-- end-user-doc -->
704    * @generated
705    */

706   public double getDouble(String JavaDoc path)
707   {
708     return SDOUtil.getDouble(this, path);
709   }
710
711   /**
712    * <!-- begin-user-doc -->
713    * <!-- end-user-doc -->
714    * @generated
715    */

716   public float getFloat(String JavaDoc path)
717   {
718     return SDOUtil.getFloat(this, path);
719   }
720
721   /**
722    * <!-- begin-user-doc -->
723    * <!-- end-user-doc -->
724    * @generated
725    */

726   public int getInt(String JavaDoc path)
727   {
728     return SDOUtil.getInt(this, path);
729   }
730
731   /**
732    * <!-- begin-user-doc -->
733    * <!-- end-user-doc -->
734    * @generated
735    */

736   public List JavaDoc getList(String JavaDoc path)
737   {
738     return SDOUtil.getList(this, path);
739   }
740
741   /**
742    * <!-- begin-user-doc -->
743    * <!-- end-user-doc -->
744    * @generated
745    */

746   public long getLong(String JavaDoc path)
747   {
748     return SDOUtil.getLong(this, path);
749   }
750
751   /**
752    * <!-- begin-user-doc -->
753    * <!-- end-user-doc -->
754    * @generated
755    */

756   public Sequence getSequence(String JavaDoc path)
757   {
758     return SDOUtil.getSequence(this, path);
759   }
760
761   /**
762    * <!-- begin-user-doc -->
763    * <!-- end-user-doc -->
764    * @generated
765    */

766   public short getShort(String JavaDoc path)
767   {
768     return SDOUtil.getShort(this, path);
769   }
770
771   /**
772    * <!-- begin-user-doc -->
773    * <!-- end-user-doc -->
774    * @generated
775    */

776   public String JavaDoc getString(String JavaDoc path)
777   {
778     return SDOUtil.getString(this, path);
779   }
780
781   /**
782    * <!-- begin-user-doc -->
783    * <!-- end-user-doc -->
784    * @generated
785    */

786   public void setBigDecimal(String JavaDoc path, BigDecimal JavaDoc value)
787   {
788     SDOUtil.setBigDecimal(this, path, value);
789   }
790
791   /**
792    * <!-- begin-user-doc -->
793    * <!-- end-user-doc -->
794    * @generated
795    */

796   public void setBigInteger(String JavaDoc path, BigInteger JavaDoc value)
797   {
798     SDOUtil.setBigInteger(this, path, value);
799   }
800
801   /**
802    * <!-- begin-user-doc -->
803    * <!-- end-user-doc -->
804    * @generated
805    */

806   public void setBoolean(String JavaDoc path, boolean value)
807   {
808     SDOUtil.setBoolean(this, path, value);
809   }
810
811   /**
812    * <!-- begin-user-doc -->
813    * <!-- end-user-doc -->
814    * @generated
815    */

816   public void setByte(String JavaDoc path, byte value)
817   {
818     SDOUtil.setByte(this, path, value);
819   }
820
821   /**
822    * <!-- begin-user-doc -->
823    * <!-- end-user-doc -->
824    * @generated
825    */

826   public void setBytes(String JavaDoc path, byte[] value)
827   {
828     SDOUtil.setBytes(this, path, value);
829   }
830
831   /**
832    * <!-- begin-user-doc -->
833    * <!-- end-user-doc -->
834    * @generated
835    */

836   public void setChar(String JavaDoc path, char value)
837   {
838     SDOUtil.setChar(this, path, value);
839   }
840
841   /**
842    * <!-- begin-user-doc -->
843    * <!-- end-user-doc -->
844    * @generated
845    */

846   public void setDataObject(String JavaDoc path, DataObject value)
847   {
848     SDOUtil.setDataObject(this, path, value);
849   }
850
851   /**
852    * <!-- begin-user-doc -->
853    * <!-- end-user-doc -->
854    * @generated
855    */

856   public void setDate(String JavaDoc path, Date JavaDoc value)
857   {
858     SDOUtil.setDate(this, path, value);
859   }
860
861   /**
862    * <!-- begin-user-doc -->
863    * <!-- end-user-doc -->
864    * @generated
865    */

866   public void setDouble(String JavaDoc path, double value)
867   {
868     SDOUtil.setDouble(this, path, value);
869   }
870
871   /**
872    * <!-- begin-user-doc -->
873    * <!-- end-user-doc -->
874    * @generated
875    */

876   public void setFloat(String JavaDoc path, float value)
877   {
878     SDOUtil.setFloat(this, path, value);
879   }
880
881   /**
882    * <!-- begin-user-doc -->
883    * <!-- end-user-doc -->
884    * @generated
885    */

886   public void setInt(String JavaDoc path, int value)
887   {
888     SDOUtil.setInt(this, path, value);
889   }
890
891   /**
892    * <!-- begin-user-doc -->
893    * <!-- end-user-doc -->
894    * @generated
895    */

896   public void setList(String JavaDoc path, List JavaDoc value)
897   {
898     SDOUtil.setList(this, path, value);
899   }
900
901   /**
902    * <!-- begin-user-doc -->
903    * <!-- end-user-doc -->
904    * @generated
905    */

906   public void setLong(String JavaDoc path, long value)
907   {
908     SDOUtil.setLong(this, path, value);
909   }
910
911   /**
912    * <!-- begin-user-doc -->
913    * <!-- end-user-doc -->
914    * @generated
915    */

916   public void setShort(String JavaDoc path, short value)
917   {
918     SDOUtil.setShort(this, path, value);
919   }
920
921   /**
922    * <!-- begin-user-doc -->
923    * <!-- end-user-doc -->
924    * @generated
925    */

926   public void setString(String JavaDoc path, String JavaDoc value)
927   {
928     SDOUtil.setString(this, path, value);
929   }
930
931   /**
932    * <!-- begin-user-doc -->
933    * <!-- end-user-doc -->
934    * @generated
935    */

936   public BigDecimal JavaDoc getBigDecimal(int propertyIndex)
937   {
938     return SDOUtil.getBigDecimal(this, propertyIndex);
939   }
940
941   /**
942    * <!-- begin-user-doc -->
943    * <!-- end-user-doc -->
944    * @generated
945    */

946   public BigInteger JavaDoc getBigInteger(int propertyIndex)
947   {
948     return SDOUtil.getBigInteger(this, propertyIndex);
949   }
950
951   /**
952    * <!-- begin-user-doc -->
953    * <!-- end-user-doc -->
954    * @generated
955    */

956   public boolean getBoolean(int propertyIndex)
957   {
958     return SDOUtil.getBoolean(this, propertyIndex);
959   }
960
961   /**
962    * <!-- begin-user-doc -->
963    * <!-- end-user-doc -->
964    * @generated
965    */

966   public byte getByte(int propertyIndex)
967   {
968     return SDOUtil.getByte(this, propertyIndex);
969   }
970
971   /**
972    * <!-- begin-user-doc -->
973    * <!-- end-user-doc -->
974    * @generated
975    */

976   public byte[] getBytes(int propertyIndex)
977   {
978     return SDOUtil.getBytes(this, propertyIndex);
979   }
980
981   /**
982    * <!-- begin-user-doc -->
983    * <!-- end-user-doc -->
984    * @generated
985    */

986   public char getChar(int propertyIndex)
987   {
988     return SDOUtil.getChar(this, propertyIndex);
989   }
990
991   /**
992    * <!-- begin-user-doc -->
993    * <!-- end-user-doc -->
994    * @generated
995    */

996   public DataObject getDataObject(int propertyIndex)
997   {
998     return SDOUtil.getDataObject(this, propertyIndex);
999   }
1000
1001  /**
1002   * <!-- begin-user-doc -->
1003   * <!-- end-user-doc -->
1004   * @generated
1005   */

1006  public Date JavaDoc getDate(int propertyIndex)
1007  {
1008    return SDOUtil.getDate(this, propertyIndex);
1009  }
1010
1011  /**
1012   * <!-- begin-user-doc -->
1013   * <!-- end-user-doc -->
1014   * @generated
1015   */

1016  public double getDouble(int propertyIndex)
1017  {
1018    return SDOUtil.getDouble(this, propertyIndex);
1019  }
1020
1021  /**
1022   * <!-- begin-user-doc -->
1023   * <!-- end-user-doc -->
1024   * @generated
1025   */

1026  public float getFloat(int propertyIndex)
1027  {
1028    return SDOUtil.getFloat(this, propertyIndex);
1029  }
1030
1031  /**
1032   * <!-- begin-user-doc -->
1033   * <!-- end-user-doc -->
1034   * @generated
1035   */

1036  public int getInt(int propertyIndex)
1037  {
1038    return SDOUtil.getInt(this, propertyIndex);
1039  }
1040
1041  /**
1042   * <!-- begin-user-doc -->
1043   * <!-- end-user-doc -->
1044   * @generated
1045   */

1046  public List JavaDoc getList(int propertyIndex)
1047  {
1048    return SDOUtil.getList(this, propertyIndex);
1049  }
1050
1051  /**
1052   * <!-- begin-user-doc -->
1053   * <!-- end-user-doc -->
1054   * @generated
1055   */

1056  public long getLong(int propertyIndex)
1057  {
1058    return SDOUtil.getLong(this, propertyIndex);
1059  }
1060
1061  /**
1062   * <!-- begin-user-doc -->
1063   * <!-- end-user-doc -->
1064   * @generated
1065   */

1066  public Sequence getSequence(int propertyIndex)
1067  {
1068    return SDOUtil.getSequence(this, propertyIndex);
1069  }
1070
1071  /**
1072   * <!-- begin-user-doc -->
1073   * <!-- end-user-doc -->
1074   * @generated
1075   */

1076  public short getShort(int propertyIndex)
1077  {
1078    return SDOUtil.getShort(this, propertyIndex);
1079  }
1080
1081  /**
1082   * <!-- begin-user-doc -->
1083   * <!-- end-user-doc -->
1084   * @generated
1085   */

1086  public String JavaDoc getString(int propertyIndex)
1087  {
1088    return SDOUtil.getString(this, propertyIndex);
1089  }
1090
1091  /**
1092   * <!-- begin-user-doc -->
1093   * <!-- end-user-doc -->
1094   * @generated
1095   */

1096  public void setBigDecimal(int propertyIndex, BigDecimal JavaDoc value)
1097  {
1098    SDOUtil.setBigDecimal(this, propertyIndex, value);
1099  }
1100
1101  /**
1102   * <!-- begin-user-doc -->
1103   * <!-- end-user-doc -->
1104   * @generated
1105   */

1106  public void setBigInteger(int propertyIndex, BigInteger JavaDoc value)
1107  {
1108    SDOUtil.setBigInteger(this, propertyIndex, value);
1109  }
1110
1111  /**
1112   * <!-- begin-user-doc -->
1113   * <!-- end-user-doc -->
1114   * @generated
1115   */

1116  public void setBoolean(int propertyIndex, boolean value)
1117  {
1118    SDOUtil.setBoolean(this, propertyIndex, value);
1119  }
1120
1121  /**
1122   * <!-- begin-user-doc -->
1123   * <!-- end-user-doc -->
1124   * @generated
1125   */

1126  public void setByte(int propertyIndex, byte value)
1127  {
1128    SDOUtil.setByte(this, propertyIndex, value);
1129  }
1130
1131  /**
1132   * <!-- begin-user-doc -->
1133   * <!-- end-user-doc -->
1134   * @generated
1135   */

1136  public void setBytes(int propertyIndex, byte[] value)
1137  {
1138    SDOUtil.setBytes(this, propertyIndex, value);
1139  }
1140
1141  /**
1142   * <!-- begin-user-doc -->
1143   * <!-- end-user-doc -->
1144   * @generated
1145   */

1146  public void setChar(int propertyIndex, char value)
1147  {
1148    SDOUtil.setChar(this, propertyIndex, value);
1149  }
1150
1151  /**
1152   * <!-- begin-user-doc -->
1153   * <!-- end-user-doc -->
1154   * @generated
1155   */

1156  public void setDataObject(int propertyIndex, DataObject value)
1157  {
1158    SDOUtil.setDataObject(this, propertyIndex, value);
1159  }
1160
1161  /**
1162   * <!-- begin-user-doc -->
1163   * <!-- end-user-doc -->
1164   * @generated
1165   */

1166  public void setDate(int propertyIndex, Date JavaDoc value)
1167  {
1168    SDOUtil.setDate(this, propertyIndex, value);
1169  }
1170
1171  /**
1172   * <!-- begin-user-doc -->
1173   * <!-- end-user-doc -->
1174   * @generated
1175   */

1176  public void setDouble(int propertyIndex, double value)
1177  {
1178    SDOUtil.setDouble(this, propertyIndex, value);
1179  }
1180
1181  /**
1182   * <!-- begin-user-doc -->
1183   * <!-- end-user-doc -->
1184   * @generated
1185   */

1186  public void setFloat(int propertyIndex, float value)
1187  {
1188    SDOUtil.setFloat(this, propertyIndex, value);
1189  }
1190
1191  /**
1192   * <!-- begin-user-doc -->
1193   * <!-- end-user-doc -->
1194   * @generated
1195   */

1196  public void setInt(int propertyIndex, int value)
1197  {
1198    SDOUtil.setInt(this, propertyIndex, value);
1199  }
1200
1201  /**
1202   * <!-- begin-user-doc -->
1203   * <!-- end-user-doc -->
1204   * @generated
1205   */

1206  public void setList(int propertyIndex, List JavaDoc value)
1207  {
1208    SDOUtil.setList(this, propertyIndex, value);
1209  }
1210
1211  /**
1212   * <!-- begin-user-doc -->
1213   * <!-- end-user-doc -->
1214   * @generated
1215   */

1216  public void setLong(int propertyIndex, long value)
1217  {
1218    SDOUtil.setLong(this, propertyIndex, value);
1219  }
1220
1221  /**
1222   * <!-- begin-user-doc -->
1223   * <!-- end-user-doc -->
1224   * @generated
1225   */

1226  public void setShort(int propertyIndex, short value)
1227  {
1228    SDOUtil.setShort(this, propertyIndex, value);
1229  }
1230
1231  /**
1232   * <!-- begin-user-doc -->
1233   * <!-- end-user-doc -->
1234   * @generated
1235   */

1236  public void setString(int propertyIndex, String JavaDoc value)
1237  {
1238    SDOUtil.setString(this, propertyIndex, value);
1239  }
1240
1241  /**
1242   * <!-- begin-user-doc -->
1243   * <!-- end-user-doc -->
1244   * @generated
1245   */

1246  public BigDecimal JavaDoc getBigDecimal(Property property)
1247  {
1248    return SDOUtil.getBigDecimal(this, property);
1249  }
1250
1251  /**
1252   * <!-- begin-user-doc -->
1253   * <!-- end-user-doc -->
1254   * @generated
1255   */

1256  public BigInteger JavaDoc getBigInteger(Property property)
1257  {
1258    return SDOUtil.getBigInteger(this, property);
1259  }
1260
1261  /**
1262   * <!-- begin-user-doc -->
1263   * <!-- end-user-doc -->
1264   * @generated
1265   */

1266  public boolean getBoolean(Property property)
1267  {
1268    return SDOUtil.getBoolean(this, property);
1269  }
1270
1271  /**
1272   * <!-- begin-user-doc -->
1273   * <!-- end-user-doc -->
1274   * @generated
1275   */

1276  public byte getByte(Property property)
1277  {
1278    return SDOUtil.getByte(this, property);
1279  }
1280
1281  /**
1282   * <!-- begin-user-doc -->
1283   * <!-- end-user-doc -->
1284   * @generated
1285   */

1286  public byte[] getBytes(Property property)
1287  {
1288    return SDOUtil.getBytes(this, property);
1289  }
1290
1291  /**
1292   * <!-- begin-user-doc -->
1293   * <!-- end-user-doc -->
1294   * @generated
1295   */

1296  public char getChar(Property property)
1297  {
1298    return SDOUtil.getChar(this, property);
1299  }
1300
1301  /**
1302   * <!-- begin-user-doc -->
1303   * <!-- end-user-doc -->
1304   * @generated
1305   */

1306  public DataObject getDataObject(Property property)
1307  {
1308    return SDOUtil.getDataObject(this, property);
1309  }
1310
1311  /**
1312   * <!-- begin-user-doc -->
1313   * <!-- end-user-doc -->
1314   * @generated
1315   */

1316  public Date JavaDoc getDate(Property property)
1317  {
1318    return SDOUtil.getDate(this, property);
1319  }
1320
1321  /**
1322   * <!-- begin-user-doc -->
1323   * <!-- end-user-doc -->
1324   * @generated
1325   */

1326  public double getDouble(Property property)
1327  {
1328    return SDOUtil.getDouble(this, property);
1329  }
1330
1331  /**
1332   * <!-- begin-user-doc -->
1333   * <!-- end-user-doc -->
1334   * @generated
1335   */

1336  public float getFloat(Property property)
1337  {
1338    return SDOUtil.getFloat(this, property);
1339  }
1340
1341  /**
1342   * <!-- begin-user-doc -->
1343   * <!-- end-user-doc -->
1344   * @generated
1345   */

1346  public int getInt(Property property)
1347  {
1348    return SDOUtil.getInt(this, property);
1349  }
1350
1351  /**
1352   * <!-- begin-user-doc -->
1353   * <!-- end-user-doc -->
1354   * @generated
1355   */

1356  public List JavaDoc getList(Property property)
1357  {
1358    return SDOUtil.getList(this, property);
1359  }
1360
1361  /**
1362   * <!-- begin-user-doc -->
1363   * <!-- end-user-doc -->
1364   * @generated
1365   */

1366  public long getLong(Property property)
1367  {
1368    return SDOUtil.getLong(this, property);
1369  }
1370
1371  /**
1372   * <!-- begin-user-doc -->
1373   * <!-- end-user-doc -->
1374   * @generated
1375   */

1376  public Sequence getSequence(Property property)
1377  {
1378    return SDOUtil.getSequence(this, property);
1379  }
1380
1381  /**
1382   * <!-- begin-user-doc -->
1383   * <!-- end-user-doc -->
1384   * @generated
1385   */

1386  public short getShort(Property property)
1387  {
1388    return SDOUtil.getShort(this, property);
1389  }
1390
1391  /**
1392   * <!-- begin-user-doc -->
1393   * <!-- end-user-doc -->
1394   * @generated
1395   */

1396  public String JavaDoc getString(Property property)
1397  {
1398    return SDOUtil.getString(this, property);
1399  }
1400
1401  /**
1402   * <!-- begin-user-doc -->
1403   * <!-- end-user-doc -->
1404   * @generated
1405   */

1406  public void setBigDecimal(Property property, BigDecimal JavaDoc value)
1407  {
1408    SDOUtil.setBigDecimal(this, property, value);
1409  }
1410
1411  /**
1412   * <!-- begin-user-doc -->
1413   * <!-- end-user-doc -->
1414   * @generated
1415   */

1416  public void setBigInteger(Property property, BigInteger JavaDoc value)
1417  {
1418    SDOUtil.setBigInteger(this, property, value);
1419  }
1420
1421  /**
1422   * <!-- begin-user-doc -->
1423   * <!-- end-user-doc -->
1424   * @generated
1425   */

1426  public void setBoolean(Property property, boolean value)
1427  {
1428    SDOUtil.setBoolean(this, property, value);
1429  }
1430
1431  /**
1432   * <!-- begin-user-doc -->
1433   * <!-- end-user-doc -->
1434   * @generated
1435   */

1436  public void setByte(Property property, byte value)
1437  {
1438    SDOUtil.setByte(this, property, value);
1439  }
1440
1441  /**
1442   * <!-- begin-user-doc -->
1443   * <!-- end-user-doc -->
1444   * @generated
1445   */

1446  public void setBytes(Property property, byte[] value)
1447  {
1448    SDOUtil.setBytes(this, property, value);
1449  }
1450
1451  /**
1452   * <!-- begin-user-doc -->
1453   * <!-- end-user-doc -->
1454   * @generated
1455   */

1456  public void setChar(Property property, char value)
1457  {
1458    SDOUtil.setChar(this, property, value);
1459  }
1460
1461  /**
1462   * <!-- begin-user-doc -->
1463   * <!-- end-user-doc -->
1464   * @generated
1465   */

1466  public void setDataObject(Property property, DataObject value)
1467  {
1468    SDOUtil.setDataObject(this, property, value);
1469  }
1470
1471  /**
1472   * <!-- begin-user-doc -->
1473   * <!-- end-user-doc -->
1474   * @generated
1475   */

1476  public void setDate(Property property, Date JavaDoc value)
1477  {
1478    SDOUtil.setDate(this, property, value);
1479  }
1480
1481  /**
1482   * <!-- begin-user-doc -->
1483   * <!-- end-user-doc -->
1484   * @generated
1485   */

1486  public void setDouble(Property property, double value)
1487  {
1488    SDOUtil.setDouble(this, property, value);
1489  }
1490
1491  /**
1492   * <!-- begin-user-doc -->
1493   * <!-- end-user-doc -->
1494   * @generated
1495   */

1496  public void setFloat(Property property, float value)
1497  {
1498    SDOUtil.setFloat(this, property, value);
1499  }
1500
1501  /**
1502   * <!-- begin-user-doc -->
1503   * <!-- end-user-doc -->
1504   * @generated
1505   */

1506  public void setInt(Property property, int value)
1507  {
1508    SDOUtil.setInt(this, property, value);
1509  }
1510
1511  /**
1512   * <!-- begin-user-doc -->
1513   * <!-- end-user-doc -->
1514   * @generated
1515   */

1516  public void setList(Property property, List JavaDoc value)
1517  {
1518    SDOUtil.setList(this, property, value);
1519  }
1520
1521  /**
1522   * <!-- begin-user-doc -->
1523   * <!-- end-user-doc -->
1524   * @generated
1525   */

1526  public void setLong(Property property, long value)
1527  {
1528    SDOUtil.setLong(this, property, value);
1529  }
1530
1531  /**
1532   * <!-- begin-user-doc -->
1533   * <!-- end-user-doc -->
1534   * @generated
1535   */

1536  public void setShort(Property property, short value)
1537  {
1538    SDOUtil.setShort(this, property, value);
1539  }
1540
1541  /**
1542   * <!-- begin-user-doc -->
1543   * <!-- end-user-doc -->
1544   * @generated
1545   */

1546  public void setString(Property property, String JavaDoc value)
1547  {
1548    SDOUtil.setString(this, property, value);
1549  }
1550
1551  /**
1552   * <!-- begin-user-doc -->
1553   * <!-- end-user-doc -->
1554   * @generated
1555   */

1556  public DataObject createDataObject(String JavaDoc propertyName)
1557  {
1558    return SDOUtil.createDataObject(this, propertyName);
1559  }
1560
1561  /**
1562   * <!-- begin-user-doc -->
1563   * <!-- end-user-doc -->
1564   * @generated
1565   */

1566  public DataObject createDataObject(int propertyIndex)
1567  {
1568    return SDOUtil.createDataObject(this, propertyIndex);
1569  }
1570
1571  /**
1572   * <!-- begin-user-doc -->
1573   * <!-- end-user-doc -->
1574   * @generated
1575   */

1576  public DataObject createDataObject(Property property)
1577  {
1578    return SDOUtil.createDataObject(this, property);
1579  }
1580
1581  /**
1582   * <!-- begin-user-doc -->
1583   * <!-- end-user-doc -->
1584   * @generated
1585   */

1586  public DataObject createDataObject(String JavaDoc propertyName, String JavaDoc namespaceURI, String JavaDoc typeName)
1587  {
1588    return SDOUtil.createDataObject(this, propertyName, namespaceURI, typeName);
1589  }
1590
1591  /**
1592   * <!-- begin-user-doc -->
1593   * <!-- end-user-doc -->
1594   * @generated
1595   */

1596  public DataObject createDataObject(int propertyIndex, String JavaDoc namespaceURI, String JavaDoc typeName)
1597  {
1598    return SDOUtil.createDataObject(this, propertyIndex, namespaceURI, typeName);
1599  }
1600
1601  /**
1602   * <!-- begin-user-doc -->
1603   * <!-- end-user-doc -->
1604   * @generated
1605   */

1606  public DataObject createDataObject(Property property, Type type)
1607  {
1608    return SDOUtil.createDataObject(this, property, type);
1609  }
1610
1611  /**
1612   * <!-- begin-user-doc -->
1613   * <!-- end-user-doc -->
1614   * @generated
1615   */

1616  public void delete()
1617  {
1618    SDOUtil.delete(this);
1619  }
1620
1621  /**
1622   * <!-- begin-user-doc -->
1623   * <!-- end-user-doc -->
1624   * @generated
1625   */

1626  public List JavaDoc getInstanceProperties()
1627  {
1628    return SDOUtil.getInstanceProperties(this);
1629  }
1630
1631  /**
1632   * <!-- begin-user-doc -->
1633   * <!-- end-user-doc -->
1634   * @generated
1635   */

1636  public Object JavaDoc writeReplace() throws ObjectStreamException JavaDoc
1637  {
1638    return SDOUtil.writeReplace(this);
1639  }
1640
1641  /**
1642   * <!-- begin-user-doc -->
1643   * <!-- end-user-doc -->
1644   * @generated
1645   */

1646  public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class JavaDoc baseClass, NotificationChain msgs)
1647  {
1648    if (featureID >= 0)
1649    {
1650      switch (eDerivedStructuralFeatureID(featureID, baseClass))
1651      {
1652        case SDOPackage.ECHANGE_SUMMARY__EDATA_GRAPH:
1653          if (eDataGraph != null)
1654            msgs = ((InternalEObject)eDataGraph).eInverseRemove(this, SDOPackage.EDATA_GRAPH__ECHANGE_SUMMARY, EDataGraph.class, msgs);
1655          return basicSetEDataGraph((EDataGraph)otherEnd, msgs);
1656        default:
1657          return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
1658      }
1659    }
1660    if (eContainer != null)
1661      msgs = eBasicRemoveFromContainer(msgs);
1662    return eBasicSetContainer(otherEnd, featureID, msgs);
1663  }
1664
1665  /**
1666   * <!-- begin-user-doc -->
1667   * <!-- end-user-doc -->
1668   * @generated
1669   */

1670  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class JavaDoc baseClass, NotificationChain msgs)
1671  {
1672    if (featureID >= 0)
1673    {
1674      switch (eDerivedStructuralFeatureID(featureID, baseClass))
1675      {
1676        case SDOPackage.ECHANGE_SUMMARY__OBJECT_CHANGES:
1677          return ((InternalEList)getObjectChanges()).basicRemove(otherEnd, msgs);
1678        case SDOPackage.ECHANGE_SUMMARY__OBJECTS_TO_ATTACH:
1679          return ((InternalEList)getObjectsToAttach()).basicRemove(otherEnd, msgs);
1680        case SDOPackage.ECHANGE_SUMMARY__RESOURCE_CHANGES:
1681          return ((InternalEList)getResourceChanges()).basicRemove(otherEnd, msgs);
1682        case SDOPackage.ECHANGE_SUMMARY__EDATA_GRAPH:
1683          return basicSetEDataGraph(null, msgs);
1684        default:
1685          return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
1686      }
1687    }
1688    return eBasicSetContainer(null, featureID, msgs);
1689  }
1690
1691  /**
1692   * <!-- begin-user-doc -->
1693   * <!-- end-user-doc -->
1694   * @generated
1695   */

1696  public Object JavaDoc eGet(EStructuralFeature eFeature, boolean resolve)
1697  {
1698    switch (eDerivedStructuralFeatureID(eFeature))
1699    {
1700      case SDOPackage.ECHANGE_SUMMARY__OBJECT_CHANGES:
1701        return getObjectChanges();
1702      case SDOPackage.ECHANGE_SUMMARY__OBJECTS_TO_DETACH:
1703        return getObjectsToDetach();
1704      case SDOPackage.ECHANGE_SUMMARY__OBJECTS_TO_ATTACH:
1705        return getObjectsToAttach();
1706      case SDOPackage.ECHANGE_SUMMARY__RESOURCE_CHANGES:
1707        return getResourceChanges();
1708      case SDOPackage.ECHANGE_SUMMARY__LOGGING:
1709        return isLogging() ? Boolean.TRUE : Boolean.FALSE;
1710      case SDOPackage.ECHANGE_SUMMARY__DATA_GRAPH:
1711        return getDataGraph();
1712      case SDOPackage.ECHANGE_SUMMARY__CHANGED_DATA_OBJECTS:
1713        return getChangedDataObjects();
1714      case SDOPackage.ECHANGE_SUMMARY__EDATA_GRAPH:
1715        return getEDataGraph();
1716    }
1717    return eDynamicGet(eFeature, resolve);
1718  }
1719
1720  /**
1721   * <!-- begin-user-doc -->
1722   * <!-- end-user-doc -->
1723   * @generated
1724   */

1725  public void eSet(EStructuralFeature eFeature, Object JavaDoc newValue)
1726  {
1727    switch (eDerivedStructuralFeatureID(eFeature))
1728    {
1729      case SDOPackage.ECHANGE_SUMMARY__OBJECT_CHANGES:
1730        getObjectChanges().clear();
1731        getObjectChanges().addAll((Collection JavaDoc)newValue);
1732        return;
1733      case SDOPackage.ECHANGE_SUMMARY__OBJECTS_TO_DETACH:
1734        getObjectsToDetach().clear();
1735        getObjectsToDetach().addAll((Collection JavaDoc)newValue);
1736        return;
1737      case SDOPackage.ECHANGE_SUMMARY__OBJECTS_TO_ATTACH:
1738        getObjectsToAttach().clear();
1739        getObjectsToAttach().addAll((Collection JavaDoc)newValue);
1740        return;
1741      case SDOPackage.ECHANGE_SUMMARY__RESOURCE_CHANGES:
1742        getResourceChanges().clear();
1743        getResourceChanges().addAll((Collection JavaDoc)newValue);
1744        return;
1745      case SDOPackage.ECHANGE_SUMMARY__EDATA_GRAPH:
1746        setEDataGraph((EDataGraph)newValue);
1747        return;
1748    }
1749    eDynamicSet(eFeature, newValue);
1750  }
1751
1752  /**
1753   * <!-- begin-user-doc -->
1754   * <!-- end-user-doc -->
1755   * @generated
1756   */

1757  public void eUnset(EStructuralFeature eFeature)
1758  {
1759    switch (eDerivedStructuralFeatureID(eFeature))
1760    {
1761      case SDOPackage.ECHANGE_SUMMARY__OBJECT_CHANGES:
1762        getObjectChanges().clear();
1763        return;
1764      case SDOPackage.ECHANGE_SUMMARY__OBJECTS_TO_DETACH:
1765        getObjectsToDetach().clear();
1766        return;
1767      case SDOPackage.ECHANGE_SUMMARY__OBJECTS_TO_ATTACH:
1768        getObjectsToAttach().clear();
1769        return;
1770      case SDOPackage.ECHANGE_SUMMARY__RESOURCE_CHANGES:
1771        getResourceChanges().clear();
1772        return;
1773      case SDOPackage.ECHANGE_SUMMARY__EDATA_GRAPH:
1774        setEDataGraph((EDataGraph)null);
1775        return;
1776    }
1777    eDynamicUnset(eFeature);
1778  }
1779
1780  /**
1781   * <!-- begin-user-doc -->
1782   * <!-- end-user-doc -->
1783   * @generated
1784   */

1785  public boolean eIsSet(EStructuralFeature eFeature)
1786  {
1787    switch (eDerivedStructuralFeatureID(eFeature))
1788    {
1789      case SDOPackage.ECHANGE_SUMMARY__OBJECT_CHANGES:
1790        return objectChanges != null && !objectChanges.isEmpty();
1791      case SDOPackage.ECHANGE_SUMMARY__OBJECTS_TO_DETACH:
1792        return objectsToDetach != null && !objectsToDetach.isEmpty();
1793      case SDOPackage.ECHANGE_SUMMARY__OBJECTS_TO_ATTACH:
1794        return objectsToAttach != null && !objectsToAttach.isEmpty();
1795      case SDOPackage.ECHANGE_SUMMARY__RESOURCE_CHANGES:
1796        return resourceChanges != null && !resourceChanges.isEmpty();
1797      case SDOPackage.ECHANGE_SUMMARY__LOGGING:
1798        return isLogging() != LOGGING_EDEFAULT;
1799      case SDOPackage.ECHANGE_SUMMARY__DATA_GRAPH:
1800        return getDataGraph() != null;
1801      case SDOPackage.ECHANGE_SUMMARY__CHANGED_DATA_OBJECTS:
1802        return !getChangedDataObjects().isEmpty();
1803      case SDOPackage.ECHANGE_SUMMARY__EDATA_GRAPH:
1804        return eDataGraph != null;
1805    }
1806    return eDynamicIsSet(eFeature);
1807  }
1808
1809  /**
1810   * <!-- begin-user-doc -->
1811   * <!-- end-user-doc -->
1812   * @generated
1813   */

1814  public int eBaseStructuralFeatureID(int derivedFeatureID, Class JavaDoc baseClass)
1815  {
1816    if (baseClass == ChangeSummary.class)
1817    {
1818      switch (derivedFeatureID)
1819      {
1820        case SDOPackage.ECHANGE_SUMMARY__LOGGING: return SDOPackage.CHANGE_SUMMARY__LOGGING;
1821        case SDOPackage.ECHANGE_SUMMARY__DATA_GRAPH: return SDOPackage.CHANGE_SUMMARY__DATA_GRAPH;
1822        case SDOPackage.ECHANGE_SUMMARY__CHANGED_DATA_OBJECTS: return SDOPackage.CHANGE_SUMMARY__CHANGED_DATA_OBJECTS;
1823        default: return -1;
1824      }
1825    }
1826    return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
1827  }
1828
1829  /**
1830   * <!-- begin-user-doc -->
1831   * <!-- end-user-doc -->
1832   * @generated
1833   */

1834  public int eDerivedStructuralFeatureID(int baseFeatureID, Class JavaDoc baseClass)
1835  {
1836    if (baseClass == ChangeSummary.class)
1837    {
1838      switch (baseFeatureID)
1839      {
1840        case SDOPackage.CHANGE_SUMMARY__LOGGING: return SDOPackage.ECHANGE_SUMMARY__LOGGING;
1841        case SDOPackage.CHANGE_SUMMARY__DATA_GRAPH: return SDOPackage.ECHANGE_SUMMARY__DATA_GRAPH;
1842        case SDOPackage.CHANGE_SUMMARY__CHANGED_DATA_OBJECTS: return SDOPackage.ECHANGE_SUMMARY__CHANGED_DATA_OBJECTS;
1843        default: return -1;
1844      }
1845    }
1846    return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
1847  }
1848
1849} //EChangeSummaryImpl
1850
Popular Tags