001    /**
002     * <copyright>
003     * </copyright>
004     *
005     * $Id$
006     */
007    package com.hammurapi.review.util;
008    
009    import java.util.List;
010    
011    import org.eclipse.emf.ecore.EClass;
012    import org.eclipse.emf.ecore.EObject;
013    
014    import com.hammurapi.config.Factory;
015    import com.hammurapi.config.Named;
016    import com.hammurapi.config.NamedObjectDefinition;
017    import com.hammurapi.config.ObjectDefinition;
018    import com.hammurapi.config.PropertySource;
019    import com.hammurapi.party.CommonObject;
020    import com.hammurapi.party.Organization;
021    import com.hammurapi.party.Party;
022    import com.hammurapi.party.Tagged;
023    import com.hammurapi.review.*;
024    import com.hammurapi.review.Annotation;
025    import com.hammurapi.review.Baseline;
026    import com.hammurapi.review.Component;
027    import com.hammurapi.review.Inspector;
028    import com.hammurapi.review.InspectorCategory;
029    import com.hammurapi.review.InspectorSet;
030    import com.hammurapi.review.LanguageElement;
031    import com.hammurapi.review.Measurement;
032    import com.hammurapi.review.Module;
033    import com.hammurapi.review.Observation;
034    import com.hammurapi.review.Report;
035    import com.hammurapi.review.Repository;
036    import com.hammurapi.review.ReviewPackage;
037    import com.hammurapi.review.Revision;
038    import com.hammurapi.review.Violation;
039    import com.hammurapi.review.Waiver;
040    import com.hammurapi.review.Warning;
041    
042    /**
043     * <!-- begin-user-doc -->
044     * The <b>Switch</b> for the model's inheritance hierarchy.
045     * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
046     * to invoke the <code>caseXXX</code> method for each class of the model,
047     * starting with the actual class of the object
048     * and proceeding up the inheritance hierarchy
049     * until a non-null result is returned,
050     * which is the result of the switch.
051     * <!-- end-user-doc -->
052     * @see com.hammurapi.review.ReviewPackage
053     * @generated
054     */
055    public class ReviewSwitch<T> {
056            /**
057             * The cached model package
058             * <!-- begin-user-doc -->
059             * <!-- end-user-doc -->
060             * @generated
061             */
062            protected static ReviewPackage modelPackage;
063    
064            /**
065             * Creates an instance of the switch.
066             * <!-- begin-user-doc -->
067             * <!-- end-user-doc -->
068             * @generated
069             */
070            public ReviewSwitch() {
071                    if (modelPackage == null) {
072                            modelPackage = ReviewPackage.eINSTANCE;
073                    }
074            }
075    
076            /**
077             * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
078             * <!-- begin-user-doc -->
079             * <!-- end-user-doc -->
080             * @return the first non-null result returned by a <code>caseXXX</code> call.
081             * @generated
082             */
083            public T doSwitch(EObject theEObject) {
084                    return doSwitch(theEObject.eClass(), theEObject);
085            }
086    
087            /**
088             * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
089             * <!-- begin-user-doc -->
090             * <!-- end-user-doc -->
091             * @return the first non-null result returned by a <code>caseXXX</code> call.
092             * @generated
093             */
094            protected T doSwitch(EClass theEClass, EObject theEObject) {
095                    if (theEClass.eContainer() == modelPackage) {
096                            return doSwitch(theEClass.getClassifierID(), theEObject);
097                    }
098                    else {
099                            List<EClass> eSuperTypes = theEClass.getESuperTypes();
100                            return
101                                    eSuperTypes.isEmpty() ?
102                                            defaultCase(theEObject) :
103                                            doSwitch(eSuperTypes.get(0), theEObject);
104                    }
105            }
106    
107            /**
108             * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
109             * <!-- begin-user-doc -->
110             * <!-- end-user-doc -->
111             * @return the first non-null result returned by a <code>caseXXX</code> call.
112             * @generated
113             */
114            protected T doSwitch(int classifierID, EObject theEObject) {
115                    switch (classifierID) {
116                            case ReviewPackage.OBSERVATION: {
117                                    Observation observation = (Observation)theEObject;
118                                    T result = caseObservation(observation);
119                                    if (result == null) result = defaultCase(theEObject);
120                                    return result;
121                            }
122                            case ReviewPackage.VIOLATION: {
123                                    Violation violation = (Violation)theEObject;
124                                    T result = caseViolation(violation);
125                                    if (result == null) result = caseObservation(violation);
126                                    if (result == null) result = defaultCase(theEObject);
127                                    return result;
128                            }
129                            case ReviewPackage.WARNING: {
130                                    Warning warning = (Warning)theEObject;
131                                    T result = caseWarning(warning);
132                                    if (result == null) result = caseObservation(warning);
133                                    if (result == null) result = defaultCase(theEObject);
134                                    return result;
135                            }
136                            case ReviewPackage.MEASUREMENT: {
137                                    Measurement measurement = (Measurement)theEObject;
138                                    T result = caseMeasurement(measurement);
139                                    if (result == null) result = caseObservation(measurement);
140                                    if (result == null) result = defaultCase(theEObject);
141                                    return result;
142                            }
143                            case ReviewPackage.ANNOTATION: {
144                                    Annotation annotation = (Annotation)theEObject;
145                                    T result = caseAnnotation(annotation);
146                                    if (result == null) result = caseObservation(annotation);
147                                    if (result == null) result = defaultCase(theEObject);
148                                    return result;
149                            }
150                            case ReviewPackage.REPOSITORY: {
151                                    Repository repository = (Repository)theEObject;
152                                    T result = caseRepository(repository);
153                                    if (result == null) result = defaultCase(theEObject);
154                                    return result;
155                            }
156                            case ReviewPackage.REVISION: {
157                                    Revision revision = (Revision)theEObject;
158                                    T result = caseRevision(revision);
159                                    if (result == null) result = caseLanguageElement(revision);
160                                    if (result == null) result = defaultCase(theEObject);
161                                    return result;
162                            }
163                            case ReviewPackage.BASELINE: {
164                                    Baseline baseline = (Baseline)theEObject;
165                                    T result = caseBaseline(baseline);
166                                    if (result == null) result = defaultCase(theEObject);
167                                    return result;
168                            }
169                            case ReviewPackage.REPORT: {
170                                    Report report = (Report)theEObject;
171                                    T result = caseReport(report);
172                                    if (result == null) result = defaultCase(theEObject);
173                                    return result;
174                            }
175                            case ReviewPackage.INSPECTOR_SET: {
176                                    InspectorSet inspectorSet = (InspectorSet)theEObject;
177                                    T result = caseInspectorSet(inspectorSet);
178                                    if (result == null) result = caseGovernor(inspectorSet);
179                                    if (result == null) result = caseNamedObjectDefinition(inspectorSet);
180                                    if (result == null) result = caseNamed(inspectorSet);
181                                    if (result == null) result = caseObjectDefinition(inspectorSet);
182                                    if (result == null) result = caseFactory(inspectorSet);
183                                    if (result == null) result = casePropertySource(inspectorSet);
184                                    if (result == null) result = caseCommonObject(inspectorSet);
185                                    if (result == null) result = defaultCase(theEObject);
186                                    return result;
187                            }
188                            case ReviewPackage.INSPECTOR: {
189                                    Inspector inspector = (Inspector)theEObject;
190                                    T result = caseInspector(inspector);
191                                    if (result == null) result = caseGovernor(inspector);
192                                    if (result == null) result = caseNamedObjectDefinition(inspector);
193                                    if (result == null) result = caseNamed(inspector);
194                                    if (result == null) result = caseObjectDefinition(inspector);
195                                    if (result == null) result = caseFactory(inspector);
196                                    if (result == null) result = casePropertySource(inspector);
197                                    if (result == null) result = caseCommonObject(inspector);
198                                    if (result == null) result = defaultCase(theEObject);
199                                    return result;
200                            }
201                            case ReviewPackage.INSPECTOR_CATEGORY: {
202                                    InspectorCategory inspectorCategory = (InspectorCategory)theEObject;
203                                    T result = caseInspectorCategory(inspectorCategory);
204                                    if (result == null) result = caseGovernanaceObject(inspectorCategory);
205                                    if (result == null) result = caseCommonObject(inspectorCategory);
206                                    if (result == null) result = defaultCase(theEObject);
207                                    return result;
208                            }
209                            case ReviewPackage.COMPONENT: {
210                                    Component component = (Component)theEObject;
211                                    T result = caseComponent(component);
212                                    if (result == null) result = caseObjectDefinition(component);
213                                    if (result == null) result = caseFactory(component);
214                                    if (result == null) result = casePropertySource(component);
215                                    if (result == null) result = caseCommonObject(component);
216                                    if (result == null) result = defaultCase(theEObject);
217                                    return result;
218                            }
219                            case ReviewPackage.MODULE: {
220                                    Module module = (Module)theEObject;
221                                    T result = caseModule(module);
222                                    if (result == null) result = defaultCase(theEObject);
223                                    return result;
224                            }
225                            case ReviewPackage.LANGUAGE_ELEMENT: {
226                                    LanguageElement languageElement = (LanguageElement)theEObject;
227                                    T result = caseLanguageElement(languageElement);
228                                    if (result == null) result = defaultCase(theEObject);
229                                    return result;
230                            }
231                            case ReviewPackage.WAIVER: {
232                                    Waiver waiver = (Waiver)theEObject;
233                                    T result = caseWaiver(waiver);
234                                    if (result == null) result = defaultCase(theEObject);
235                                    return result;
236                            }
237                            case ReviewPackage.GOVERNANCE_DOMAIN: {
238                                    GovernanceDomain governanceDomain = (GovernanceDomain)theEObject;
239                                    T result = caseGovernanceDomain(governanceDomain);
240                                    if (result == null) result = caseOrganization(governanceDomain);
241                                    if (result == null) result = caseParty(governanceDomain);
242                                    if (result == null) result = caseTagged(governanceDomain);
243                                    if (result == null) result = defaultCase(theEObject);
244                                    return result;
245                            }
246                            case ReviewPackage.ARTIFACT_TYPE: {
247                                    ArtifactType artifactType = (ArtifactType)theEObject;
248                                    T result = caseArtifactType(artifactType);
249                                    if (result == null) result = caseInspectorCategory(artifactType);
250                                    if (result == null) result = caseGovernanaceObject(artifactType);
251                                    if (result == null) result = caseCommonObject(artifactType);
252                                    if (result == null) result = defaultCase(theEObject);
253                                    return result;
254                            }
255                            case ReviewPackage.TOOL: {
256                                    Tool tool = (Tool)theEObject;
257                                    T result = caseTool(tool);
258                                    if (result == null) result = caseGovernanaceObject(tool);
259                                    if (result == null) result = caseCommonObject(tool);
260                                    if (result == null) result = defaultCase(theEObject);
261                                    return result;
262                            }
263                            case ReviewPackage.TOOL_VERSION: {
264                                    ToolVersion toolVersion = (ToolVersion)theEObject;
265                                    T result = caseToolVersion(toolVersion);
266                                    if (result == null) result = caseGovernanaceObject(toolVersion);
267                                    if (result == null) result = caseCommonObject(toolVersion);
268                                    if (result == null) result = defaultCase(theEObject);
269                                    return result;
270                            }
271                            case ReviewPackage.GOVERNANACE_OBJECT: {
272                                    GovernanaceObject governanaceObject = (GovernanaceObject)theEObject;
273                                    T result = caseGovernanaceObject(governanaceObject);
274                                    if (result == null) result = caseCommonObject(governanaceObject);
275                                    if (result == null) result = defaultCase(theEObject);
276                                    return result;
277                            }
278                            case ReviewPackage.GOVERNOR: {
279                                    Governor governor = (Governor)theEObject;
280                                    T result = caseGovernor(governor);
281                                    if (result == null) result = caseNamedObjectDefinition(governor);
282                                    if (result == null) result = caseNamed(governor);
283                                    if (result == null) result = caseObjectDefinition(governor);
284                                    if (result == null) result = caseFactory(governor);
285                                    if (result == null) result = casePropertySource(governor);
286                                    if (result == null) result = caseCommonObject(governor);
287                                    if (result == null) result = defaultCase(theEObject);
288                                    return result;
289                            }
290                            case ReviewPackage.INSPECTOR_RELATIONSHIP: {
291                                    InspectorRelationship inspectorRelationship = (InspectorRelationship)theEObject;
292                                    T result = caseInspectorRelationship(inspectorRelationship);
293                                    if (result == null) result = defaultCase(theEObject);
294                                    return result;
295                            }
296                            default: return defaultCase(theEObject);
297                    }
298            }
299    
300            /**
301             * Returns the result of interpreting the object as an instance of '<em>Observation</em>'.
302             * <!-- begin-user-doc -->
303             * This implementation returns null;
304             * returning a non-null result will terminate the switch.
305             * <!-- end-user-doc -->
306             * @param object the target of the switch.
307             * @return the result of interpreting the object as an instance of '<em>Observation</em>'.
308             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
309             * @generated
310             */
311            public T caseObservation(Observation object) {
312                    return null;
313            }
314    
315            /**
316             * Returns the result of interpreting the object as an instance of '<em>Violation</em>'.
317             * <!-- begin-user-doc -->
318             * This implementation returns null;
319             * returning a non-null result will terminate the switch.
320             * <!-- end-user-doc -->
321             * @param object the target of the switch.
322             * @return the result of interpreting the object as an instance of '<em>Violation</em>'.
323             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
324             * @generated
325             */
326            public T caseViolation(Violation object) {
327                    return null;
328            }
329    
330            /**
331             * Returns the result of interpreting the object as an instance of '<em>Warning</em>'.
332             * <!-- begin-user-doc -->
333             * This implementation returns null;
334             * returning a non-null result will terminate the switch.
335             * <!-- end-user-doc -->
336             * @param object the target of the switch.
337             * @return the result of interpreting the object as an instance of '<em>Warning</em>'.
338             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
339             * @generated
340             */
341            public T caseWarning(Warning object) {
342                    return null;
343            }
344    
345            /**
346             * Returns the result of interpreting the object as an instance of '<em>Measurement</em>'.
347             * <!-- begin-user-doc -->
348             * This implementation returns null;
349             * returning a non-null result will terminate the switch.
350             * <!-- end-user-doc -->
351             * @param object the target of the switch.
352             * @return the result of interpreting the object as an instance of '<em>Measurement</em>'.
353             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
354             * @generated
355             */
356            public T caseMeasurement(Measurement object) {
357                    return null;
358            }
359    
360            /**
361             * Returns the result of interpreting the object as an instance of '<em>Annotation</em>'.
362             * <!-- begin-user-doc -->
363             * This implementation returns null;
364             * returning a non-null result will terminate the switch.
365             * <!-- end-user-doc -->
366             * @param object the target of the switch.
367             * @return the result of interpreting the object as an instance of '<em>Annotation</em>'.
368             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
369             * @generated
370             */
371            public T caseAnnotation(Annotation object) {
372                    return null;
373            }
374    
375            /**
376             * Returns the result of interpreting the object as an instance of '<em>Repository</em>'.
377             * <!-- begin-user-doc -->
378             * This implementation returns null;
379             * returning a non-null result will terminate the switch.
380             * <!-- end-user-doc -->
381             * @param object the target of the switch.
382             * @return the result of interpreting the object as an instance of '<em>Repository</em>'.
383             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
384             * @generated
385             */
386            public T caseRepository(Repository object) {
387                    return null;
388            }
389    
390            /**
391             * Returns the result of interpreting the object as an instance of '<em>Revision</em>'.
392             * <!-- begin-user-doc -->
393             * This implementation returns null;
394             * returning a non-null result will terminate the switch.
395             * <!-- end-user-doc -->
396             * @param object the target of the switch.
397             * @return the result of interpreting the object as an instance of '<em>Revision</em>'.
398             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
399             * @generated
400             */
401            public T caseRevision(Revision object) {
402                    return null;
403            }
404    
405            /**
406             * Returns the result of interpreting the object as an instance of '<em>Baseline</em>'.
407             * <!-- begin-user-doc -->
408             * This implementation returns null;
409             * returning a non-null result will terminate the switch.
410             * <!-- end-user-doc -->
411             * @param object the target of the switch.
412             * @return the result of interpreting the object as an instance of '<em>Baseline</em>'.
413             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
414             * @generated
415             */
416            public T caseBaseline(Baseline object) {
417                    return null;
418            }
419    
420            /**
421             * Returns the result of interpreting the object as an instance of '<em>Report</em>'.
422             * <!-- begin-user-doc -->
423             * This implementation returns null;
424             * returning a non-null result will terminate the switch.
425             * <!-- end-user-doc -->
426             * @param object the target of the switch.
427             * @return the result of interpreting the object as an instance of '<em>Report</em>'.
428             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
429             * @generated
430             */
431            public T caseReport(Report object) {
432                    return null;
433            }
434    
435            /**
436             * Returns the result of interpreting the object as an instance of '<em>Inspector Set</em>'.
437             * <!-- begin-user-doc -->
438             * This implementation returns null;
439             * returning a non-null result will terminate the switch.
440             * <!-- end-user-doc -->
441             * @param object the target of the switch.
442             * @return the result of interpreting the object as an instance of '<em>Inspector Set</em>'.
443             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
444             * @generated
445             */
446            public T caseInspectorSet(InspectorSet object) {
447                    return null;
448            }
449    
450            /**
451             * Returns the result of interpreting the object as an instance of '<em>Inspector</em>'.
452             * <!-- begin-user-doc -->
453             * This implementation returns null;
454             * returning a non-null result will terminate the switch.
455             * <!-- end-user-doc -->
456             * @param object the target of the switch.
457             * @return the result of interpreting the object as an instance of '<em>Inspector</em>'.
458             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
459             * @generated
460             */
461            public T caseInspector(Inspector object) {
462                    return null;
463            }
464    
465            /**
466             * Returns the result of interpreting the object as an instance of '<em>Inspector Category</em>'.
467             * <!-- begin-user-doc -->
468             * This implementation returns null;
469             * returning a non-null result will terminate the switch.
470             * <!-- end-user-doc -->
471             * @param object the target of the switch.
472             * @return the result of interpreting the object as an instance of '<em>Inspector Category</em>'.
473             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
474             * @generated
475             */
476            public T caseInspectorCategory(InspectorCategory object) {
477                    return null;
478            }
479    
480            /**
481             * Returns the result of interpreting the object as an instance of '<em>Component</em>'.
482             * <!-- begin-user-doc -->
483             * This implementation returns null;
484             * returning a non-null result will terminate the switch.
485             * <!-- end-user-doc -->
486             * @param object the target of the switch.
487             * @return the result of interpreting the object as an instance of '<em>Component</em>'.
488             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
489             * @generated
490             */
491            public T caseComponent(Component object) {
492                    return null;
493            }
494    
495            /**
496             * Returns the result of interpreting the object as an instance of '<em>Module</em>'.
497             * <!-- begin-user-doc -->
498             * This implementation returns null;
499             * returning a non-null result will terminate the switch.
500             * <!-- end-user-doc -->
501             * @param object the target of the switch.
502             * @return the result of interpreting the object as an instance of '<em>Module</em>'.
503             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
504             * @generated
505             */
506            public T caseModule(Module object) {
507                    return null;
508            }
509    
510            /**
511             * Returns the result of interpreting the object as an instance of '<em>Language Element</em>'.
512             * <!-- begin-user-doc -->
513             * This implementation returns null;
514             * returning a non-null result will terminate the switch.
515             * <!-- end-user-doc -->
516             * @param object the target of the switch.
517             * @return the result of interpreting the object as an instance of '<em>Language Element</em>'.
518             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
519             * @generated
520             */
521            public T caseLanguageElement(LanguageElement object) {
522                    return null;
523            }
524    
525            /**
526             * Returns the result of interpreting the object as an instance of '<em>Waiver</em>'.
527             * <!-- begin-user-doc -->
528             * This implementation returns null;
529             * returning a non-null result will terminate the switch.
530             * <!-- end-user-doc -->
531             * @param object the target of the switch.
532             * @return the result of interpreting the object as an instance of '<em>Waiver</em>'.
533             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
534             * @generated
535             */
536            public T caseWaiver(Waiver object) {
537                    return null;
538            }
539    
540            /**
541             * Returns the result of interpreting the object as an instance of '<em>Governance Domain</em>'.
542             * <!-- begin-user-doc -->
543             * This implementation returns null;
544             * returning a non-null result will terminate the switch.
545             * <!-- end-user-doc -->
546             * @param object the target of the switch.
547             * @return the result of interpreting the object as an instance of '<em>Governance Domain</em>'.
548             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
549             * @generated
550             */
551            public T caseGovernanceDomain(GovernanceDomain object) {
552                    return null;
553            }
554    
555            /**
556             * Returns the result of interpreting the object as an instance of '<em>Artifact Type</em>'.
557             * <!-- begin-user-doc -->
558             * This implementation returns null;
559             * returning a non-null result will terminate the switch.
560             * <!-- end-user-doc -->
561             * @param object the target of the switch.
562             * @return the result of interpreting the object as an instance of '<em>Artifact Type</em>'.
563             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
564             * @generated
565             */
566            public T caseArtifactType(ArtifactType object) {
567                    return null;
568            }
569    
570            /**
571             * Returns the result of interpreting the object as an instance of '<em>Tool</em>'.
572             * <!-- begin-user-doc -->
573             * This implementation returns null;
574             * returning a non-null result will terminate the switch.
575             * <!-- end-user-doc -->
576             * @param object the target of the switch.
577             * @return the result of interpreting the object as an instance of '<em>Tool</em>'.
578             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
579             * @generated
580             */
581            public T caseTool(Tool object) {
582                    return null;
583            }
584    
585            /**
586             * Returns the result of interpreting the object as an instance of '<em>Tool Version</em>'.
587             * <!-- begin-user-doc -->
588             * This implementation returns null;
589             * returning a non-null result will terminate the switch.
590             * <!-- end-user-doc -->
591             * @param object the target of the switch.
592             * @return the result of interpreting the object as an instance of '<em>Tool Version</em>'.
593             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
594             * @generated
595             */
596            public T caseToolVersion(ToolVersion object) {
597                    return null;
598            }
599    
600            /**
601             * Returns the result of interpreting the object as an instance of '<em>Governanace Object</em>'.
602             * <!-- begin-user-doc -->
603             * This implementation returns null;
604             * returning a non-null result will terminate the switch.
605             * <!-- end-user-doc -->
606             * @param object the target of the switch.
607             * @return the result of interpreting the object as an instance of '<em>Governanace Object</em>'.
608             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
609             * @generated
610             */
611            public T caseGovernanaceObject(GovernanaceObject object) {
612                    return null;
613            }
614    
615            /**
616             * Returns the result of interpreting the object as an instance of '<em>Governor</em>'.
617             * <!-- begin-user-doc -->
618             * This implementation returns null;
619             * returning a non-null result will terminate the switch.
620             * <!-- end-user-doc -->
621             * @param object the target of the switch.
622             * @return the result of interpreting the object as an instance of '<em>Governor</em>'.
623             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
624             * @generated
625             */
626            public T caseGovernor(Governor object) {
627                    return null;
628            }
629    
630            /**
631             * Returns the result of interpreting the object as an instance of '<em>Inspector Relationship</em>'.
632             * <!-- begin-user-doc -->
633             * This implementation returns null;
634             * returning a non-null result will terminate the switch.
635             * <!-- end-user-doc -->
636             * @param object the target of the switch.
637             * @return the result of interpreting the object as an instance of '<em>Inspector Relationship</em>'.
638             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
639             * @generated
640             */
641            public T caseInspectorRelationship(InspectorRelationship object) {
642                    return null;
643            }
644    
645            /**
646             * Returns the result of interpreting the object as an instance of '<em>Common Object</em>'.
647             * <!-- begin-user-doc -->
648             * This implementation returns null;
649             * returning a non-null result will terminate the switch.
650             * <!-- end-user-doc -->
651             * @param object the target of the switch.
652             * @return the result of interpreting the object as an instance of '<em>Common Object</em>'.
653             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
654             * @generated
655             */
656            public T caseCommonObject(CommonObject object) {
657                    return null;
658            }
659    
660            /**
661             * Returns the result of interpreting the object as an instance of '<em>Factory</em>'.
662             * <!-- begin-user-doc -->
663             * This implementation returns null;
664             * returning a non-null result will terminate the switch.
665             * <!-- end-user-doc -->
666             * @param object the target of the switch.
667             * @return the result of interpreting the object as an instance of '<em>Factory</em>'.
668             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
669             * @generated
670             */
671            public T caseFactory(Factory object) {
672                    return null;
673            }
674    
675            /**
676             * Returns the result of interpreting the object as an instance of '<em>Named</em>'.
677             * <!-- begin-user-doc -->
678             * This implementation returns null;
679             * returning a non-null result will terminate the switch.
680             * <!-- end-user-doc -->
681             * @param object the target of the switch.
682             * @return the result of interpreting the object as an instance of '<em>Named</em>'.
683             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
684             * @generated
685             */
686            public T caseNamed(Named object) {
687                    return null;
688            }
689    
690            /**
691             * Returns the result of interpreting the object as an instance of '<em>Property Source</em>'.
692             * <!-- begin-user-doc -->
693             * This implementation returns null;
694             * returning a non-null result will terminate the switch.
695             * <!-- end-user-doc -->
696             * @param object the target of the switch.
697             * @return the result of interpreting the object as an instance of '<em>Property Source</em>'.
698             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
699             * @generated
700             */
701            public T casePropertySource(PropertySource object) {
702                    return null;
703            }
704    
705            /**
706             * Returns the result of interpreting the object as an instance of '<em>Object Definition</em>'.
707             * <!-- begin-user-doc -->
708             * This implementation returns null;
709             * returning a non-null result will terminate the switch.
710             * <!-- end-user-doc -->
711             * @param object the target of the switch.
712             * @return the result of interpreting the object as an instance of '<em>Object Definition</em>'.
713             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
714             * @generated
715             */
716            public T caseObjectDefinition(ObjectDefinition object) {
717                    return null;
718            }
719    
720            /**
721             * Returns the result of interpreting the object as an instance of '<em>Named Object Definition</em>'.
722             * <!-- begin-user-doc -->
723             * This implementation returns null;
724             * returning a non-null result will terminate the switch.
725             * <!-- end-user-doc -->
726             * @param object the target of the switch.
727             * @return the result of interpreting the object as an instance of '<em>Named Object Definition</em>'.
728             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
729             * @generated
730             */
731            public T caseNamedObjectDefinition(NamedObjectDefinition object) {
732                    return null;
733            }
734    
735            /**
736             * Returns the result of interpreting the object as an instance of '<em>Tagged</em>'.
737             * <!-- begin-user-doc -->
738             * This implementation returns null;
739             * returning a non-null result will terminate the switch.
740             * <!-- end-user-doc -->
741             * @param object the target of the switch.
742             * @return the result of interpreting the object as an instance of '<em>Tagged</em>'.
743             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
744             * @generated
745             */
746            public T caseTagged(Tagged object) {
747                    return null;
748            }
749    
750            /**
751             * Returns the result of interpreting the object as an instance of '<em>Party</em>'.
752             * <!-- begin-user-doc -->
753             * This implementation returns null;
754             * returning a non-null result will terminate the switch.
755             * <!-- end-user-doc -->
756             * @param object the target of the switch.
757             * @return the result of interpreting the object as an instance of '<em>Party</em>'.
758             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
759             * @generated
760             */
761            public T caseParty(Party object) {
762                    return null;
763            }
764    
765            /**
766             * Returns the result of interpreting the object as an instance of '<em>Organization</em>'.
767             * <!-- begin-user-doc -->
768             * This implementation returns null;
769             * returning a non-null result will terminate the switch.
770             * <!-- end-user-doc -->
771             * @param object the target of the switch.
772             * @return the result of interpreting the object as an instance of '<em>Organization</em>'.
773             * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
774             * @generated
775             */
776            public T caseOrganization(Organization object) {
777                    return null;
778            }
779    
780            /**
781             * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
782             * <!-- begin-user-doc -->
783             * This implementation returns null;
784             * returning a non-null result will terminate the switch, but this is the last case anyway.
785             * <!-- end-user-doc -->
786             * @param object the target of the switch.
787             * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
788             * @see #doSwitch(org.eclipse.emf.ecore.EObject)
789             * @generated
790             */
791            public T defaultCase(EObject object) {
792                    return null;
793            }
794    
795    } //ReviewSwitch