001: /**
002: * <copyright>
003: * </copyright>
004: *
005: * $Id: WfsvSwitch.java 7988 2007-12-12 20:29:15Z aaime $
006: */package net.opengis.wfsv.util;
007:
008: import java.util.List;
009:
010: import net.opengis.wfs.BaseRequestType;
011: import net.opengis.wfs.DeleteElementType;
012: import net.opengis.wfs.DescribeFeatureTypeType;
013: import net.opengis.wfs.FeatureCollectionType;
014: import net.opengis.wfs.GetFeatureType;
015: import net.opengis.wfs.NativeType;
016: import net.opengis.wfs.UpdateElementType;
017:
018: import net.opengis.wfsv.*;
019:
020: import org.eclipse.emf.ecore.EClass;
021: import org.eclipse.emf.ecore.EObject;
022:
023: /**
024: * <!-- begin-user-doc -->
025: * The <b>Switch</b> for the model's inheritance hierarchy.
026: * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
027: * to invoke the <code>caseXXX</code> method for each class of the model,
028: * starting with the actual class of the object
029: * and proceeding up the inheritance hierarchy
030: * until a non-null result is returned,
031: * which is the result of the switch.
032: * <!-- end-user-doc -->
033: * @see net.opengis.wfsv.WfsvPackage
034: * @generated
035: */
036: public class WfsvSwitch {
037: /**
038: * The cached model package
039: * <!-- begin-user-doc -->
040: * <!-- end-user-doc -->
041: * @generated
042: */
043: protected static WfsvPackage modelPackage;
044:
045: /**
046: * Creates an instance of the switch.
047: * <!-- begin-user-doc -->
048: * <!-- end-user-doc -->
049: * @generated
050: */
051: public WfsvSwitch() {
052: if (modelPackage == null) {
053: modelPackage = WfsvPackage.eINSTANCE;
054: }
055: }
056:
057: /**
058: * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
059: * <!-- begin-user-doc -->
060: * <!-- end-user-doc -->
061: * @return the first non-null result returned by a <code>caseXXX</code> call.
062: * @generated
063: */
064: public Object doSwitch(EObject theEObject) {
065: return doSwitch(theEObject.eClass(), theEObject);
066: }
067:
068: /**
069: * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
070: * <!-- begin-user-doc -->
071: * <!-- end-user-doc -->
072: * @return the first non-null result returned by a <code>caseXXX</code> call.
073: * @generated
074: */
075: protected Object doSwitch(EClass theEClass, EObject theEObject) {
076: if (theEClass.eContainer() == modelPackage) {
077: return doSwitch(theEClass.getClassifierID(), theEObject);
078: } else {
079: List eSuperTypes = theEClass.getESuperTypes();
080: return eSuperTypes.isEmpty() ? defaultCase(theEObject)
081: : doSwitch((EClass) eSuperTypes.get(0), theEObject);
082: }
083: }
084:
085: /**
086: * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
087: * <!-- begin-user-doc -->
088: * <!-- end-user-doc -->
089: * @return the first non-null result returned by a <code>caseXXX</code> call.
090: * @generated
091: */
092: protected Object doSwitch(int classifierID, EObject theEObject) {
093: switch (classifierID) {
094: case WfsvPackage.ABSTRACT_VERSIONED_FEATURE_TYPE: {
095: AbstractVersionedFeatureType abstractVersionedFeatureType = (AbstractVersionedFeatureType) theEObject;
096: Object result = caseAbstractVersionedFeatureType(abstractVersionedFeatureType);
097: if (result == null)
098: result = defaultCase(theEObject);
099: return result;
100: }
101: case WfsvPackage.DESCRIBE_VERSIONED_FEATURE_TYPE_TYPE: {
102: DescribeVersionedFeatureTypeType describeVersionedFeatureTypeType = (DescribeVersionedFeatureTypeType) theEObject;
103: Object result = caseDescribeVersionedFeatureTypeType(describeVersionedFeatureTypeType);
104: if (result == null)
105: result = caseDescribeFeatureTypeType(describeVersionedFeatureTypeType);
106: if (result == null)
107: result = caseBaseRequestType(describeVersionedFeatureTypeType);
108: if (result == null)
109: result = defaultCase(theEObject);
110: return result;
111: }
112: case WfsvPackage.DIFFERENCE_QUERY_TYPE: {
113: DifferenceQueryType differenceQueryType = (DifferenceQueryType) theEObject;
114: Object result = caseDifferenceQueryType(differenceQueryType);
115: if (result == null)
116: result = defaultCase(theEObject);
117: return result;
118: }
119: case WfsvPackage.DOCUMENT_ROOT: {
120: DocumentRoot documentRoot = (DocumentRoot) theEObject;
121: Object result = caseDocumentRoot(documentRoot);
122: if (result == null)
123: result = defaultCase(theEObject);
124: return result;
125: }
126: case WfsvPackage.GET_DIFF_TYPE: {
127: GetDiffType getDiffType = (GetDiffType) theEObject;
128: Object result = caseGetDiffType(getDiffType);
129: if (result == null)
130: result = caseBaseRequestType(getDiffType);
131: if (result == null)
132: result = defaultCase(theEObject);
133: return result;
134: }
135: case WfsvPackage.GET_LOG_TYPE: {
136: GetLogType getLogType = (GetLogType) theEObject;
137: Object result = caseGetLogType(getLogType);
138: if (result == null)
139: result = caseBaseRequestType(getLogType);
140: if (result == null)
141: result = defaultCase(theEObject);
142: return result;
143: }
144: case WfsvPackage.GET_VERSIONED_FEATURE_TYPE: {
145: GetVersionedFeatureType getVersionedFeatureType = (GetVersionedFeatureType) theEObject;
146: Object result = caseGetVersionedFeatureType(getVersionedFeatureType);
147: if (result == null)
148: result = caseGetFeatureType(getVersionedFeatureType);
149: if (result == null)
150: result = caseBaseRequestType(getVersionedFeatureType);
151: if (result == null)
152: result = defaultCase(theEObject);
153: return result;
154: }
155: case WfsvPackage.ROLLBACK_TYPE: {
156: RollbackType rollbackType = (RollbackType) theEObject;
157: Object result = caseRollbackType(rollbackType);
158: if (result == null)
159: result = caseNativeType(rollbackType);
160: if (result == null)
161: result = defaultCase(theEObject);
162: return result;
163: }
164: case WfsvPackage.VERSIONED_DELETE_ELEMENT_TYPE: {
165: VersionedDeleteElementType versionedDeleteElementType = (VersionedDeleteElementType) theEObject;
166: Object result = caseVersionedDeleteElementType(versionedDeleteElementType);
167: if (result == null)
168: result = caseDeleteElementType(versionedDeleteElementType);
169: if (result == null)
170: result = defaultCase(theEObject);
171: return result;
172: }
173: case WfsvPackage.VERSIONED_FEATURE_COLLECTION_TYPE: {
174: VersionedFeatureCollectionType versionedFeatureCollectionType = (VersionedFeatureCollectionType) theEObject;
175: Object result = caseVersionedFeatureCollectionType(versionedFeatureCollectionType);
176: if (result == null)
177: result = caseFeatureCollectionType(versionedFeatureCollectionType);
178: if (result == null)
179: result = defaultCase(theEObject);
180: return result;
181: }
182: case WfsvPackage.VERSIONED_UPDATE_ELEMENT_TYPE: {
183: VersionedUpdateElementType versionedUpdateElementType = (VersionedUpdateElementType) theEObject;
184: Object result = caseVersionedUpdateElementType(versionedUpdateElementType);
185: if (result == null)
186: result = caseUpdateElementType(versionedUpdateElementType);
187: if (result == null)
188: result = defaultCase(theEObject);
189: return result;
190: }
191: default:
192: return defaultCase(theEObject);
193: }
194: }
195:
196: /**
197: * Returns the result of interpreting the object as an instance of '<em>Abstract Versioned Feature Type</em>'.
198: * <!-- begin-user-doc -->
199: * This implementation returns null;
200: * returning a non-null result will terminate the switch.
201: * <!-- end-user-doc -->
202: * @param object the target of the switch.
203: * @return the result of interpreting the object as an instance of '<em>Abstract Versioned Feature Type</em>'.
204: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
205: * @generated
206: */
207: public Object caseAbstractVersionedFeatureType(
208: AbstractVersionedFeatureType object) {
209: return null;
210: }
211:
212: /**
213: * Returns the result of interpreting the object as an instance of '<em>Describe Versioned Feature Type Type</em>'.
214: * <!-- begin-user-doc -->
215: * This implementation returns null;
216: * returning a non-null result will terminate the switch.
217: * <!-- end-user-doc -->
218: * @param object the target of the switch.
219: * @return the result of interpreting the object as an instance of '<em>Describe Versioned Feature Type Type</em>'.
220: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
221: * @generated
222: */
223: public Object caseDescribeVersionedFeatureTypeType(
224: DescribeVersionedFeatureTypeType object) {
225: return null;
226: }
227:
228: /**
229: * Returns the result of interpreting the object as an instance of '<em>Difference Query Type</em>'.
230: * <!-- begin-user-doc -->
231: * This implementation returns null;
232: * returning a non-null result will terminate the switch.
233: * <!-- end-user-doc -->
234: * @param object the target of the switch.
235: * @return the result of interpreting the object as an instance of '<em>Difference Query Type</em>'.
236: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
237: * @generated
238: */
239: public Object caseDifferenceQueryType(DifferenceQueryType object) {
240: return null;
241: }
242:
243: /**
244: * Returns the result of interpreting the object as an instance of '<em>Document Root</em>'.
245: * <!-- begin-user-doc -->
246: * This implementation returns null;
247: * returning a non-null result will terminate the switch.
248: * <!-- end-user-doc -->
249: * @param object the target of the switch.
250: * @return the result of interpreting the object as an instance of '<em>Document Root</em>'.
251: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
252: * @generated
253: */
254: public Object caseDocumentRoot(DocumentRoot object) {
255: return null;
256: }
257:
258: /**
259: * Returns the result of interpreting the object as an instance of '<em>Get Diff Type</em>'.
260: * <!-- begin-user-doc -->
261: * This implementation returns null;
262: * returning a non-null result will terminate the switch.
263: * <!-- end-user-doc -->
264: * @param object the target of the switch.
265: * @return the result of interpreting the object as an instance of '<em>Get Diff Type</em>'.
266: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
267: * @generated
268: */
269: public Object caseGetDiffType(GetDiffType object) {
270: return null;
271: }
272:
273: /**
274: * Returns the result of interpreting the object as an instance of '<em>Get Log Type</em>'.
275: * <!-- begin-user-doc -->
276: * This implementation returns null;
277: * returning a non-null result will terminate the switch.
278: * <!-- end-user-doc -->
279: * @param object the target of the switch.
280: * @return the result of interpreting the object as an instance of '<em>Get Log Type</em>'.
281: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
282: * @generated
283: */
284: public Object caseGetLogType(GetLogType object) {
285: return null;
286: }
287:
288: /**
289: * Returns the result of interpreting the object as an instance of '<em>Get Versioned Feature Type</em>'.
290: * <!-- begin-user-doc -->
291: * This implementation returns null;
292: * returning a non-null result will terminate the switch.
293: * <!-- end-user-doc -->
294: * @param object the target of the switch.
295: * @return the result of interpreting the object as an instance of '<em>Get Versioned Feature Type</em>'.
296: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
297: * @generated
298: */
299: public Object caseGetVersionedFeatureType(
300: GetVersionedFeatureType object) {
301: return null;
302: }
303:
304: /**
305: * Returns the result of interpreting the object as an instance of '<em>Rollback Type</em>'.
306: * <!-- begin-user-doc -->
307: * This implementation returns null;
308: * returning a non-null result will terminate the switch.
309: * <!-- end-user-doc -->
310: * @param object the target of the switch.
311: * @return the result of interpreting the object as an instance of '<em>Rollback Type</em>'.
312: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
313: * @generated
314: */
315: public Object caseRollbackType(RollbackType object) {
316: return null;
317: }
318:
319: /**
320: * Returns the result of interpreting the object as an instance of '<em>Versioned Delete Element Type</em>'.
321: * <!-- begin-user-doc -->
322: * This implementation returns null;
323: * returning a non-null result will terminate the switch.
324: * <!-- end-user-doc -->
325: * @param object the target of the switch.
326: * @return the result of interpreting the object as an instance of '<em>Versioned Delete Element Type</em>'.
327: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
328: * @generated
329: */
330: public Object caseVersionedDeleteElementType(
331: VersionedDeleteElementType object) {
332: return null;
333: }
334:
335: /**
336: * Returns the result of interpreting the object as an instance of '<em>Versioned Feature Collection Type</em>'.
337: * <!-- begin-user-doc -->
338: * This implementation returns null;
339: * returning a non-null result will terminate the switch.
340: * <!-- end-user-doc -->
341: * @param object the target of the switch.
342: * @return the result of interpreting the object as an instance of '<em>Versioned Feature Collection Type</em>'.
343: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
344: * @generated
345: */
346: public Object caseVersionedFeatureCollectionType(
347: VersionedFeatureCollectionType object) {
348: return null;
349: }
350:
351: /**
352: * Returns the result of interpreting the object as an instance of '<em>Versioned Update Element Type</em>'.
353: * <!-- begin-user-doc -->
354: * This implementation returns null;
355: * returning a non-null result will terminate the switch.
356: * <!-- end-user-doc -->
357: * @param object the target of the switch.
358: * @return the result of interpreting the object as an instance of '<em>Versioned Update Element Type</em>'.
359: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
360: * @generated
361: */
362: public Object caseVersionedUpdateElementType(
363: VersionedUpdateElementType object) {
364: return null;
365: }
366:
367: /**
368: * Returns the result of interpreting the object as an instance of '<em>Base Request Type</em>'.
369: * <!-- begin-user-doc -->
370: * This implementation returns null;
371: * returning a non-null result will terminate the switch.
372: * <!-- end-user-doc -->
373: * @param object the target of the switch.
374: * @return the result of interpreting the object as an instance of '<em>Base Request Type</em>'.
375: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
376: * @generated
377: */
378: public Object caseBaseRequestType(BaseRequestType object) {
379: return null;
380: }
381:
382: /**
383: * Returns the result of interpreting the object as an instance of '<em>Describe Feature Type Type</em>'.
384: * <!-- begin-user-doc -->
385: * This implementation returns null;
386: * returning a non-null result will terminate the switch.
387: * <!-- end-user-doc -->
388: * @param object the target of the switch.
389: * @return the result of interpreting the object as an instance of '<em>Describe Feature Type Type</em>'.
390: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
391: * @generated
392: */
393: public Object caseDescribeFeatureTypeType(
394: DescribeFeatureTypeType object) {
395: return null;
396: }
397:
398: /**
399: * Returns the result of interpreting the object as an instance of '<em>Get Feature Type</em>'.
400: * <!-- begin-user-doc -->
401: * This implementation returns null;
402: * returning a non-null result will terminate the switch.
403: * <!-- end-user-doc -->
404: * @param object the target of the switch.
405: * @return the result of interpreting the object as an instance of '<em>Get Feature Type</em>'.
406: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
407: * @generated
408: */
409: public Object caseGetFeatureType(GetFeatureType object) {
410: return null;
411: }
412:
413: /**
414: * Returns the result of interpreting the object as an instance of '<em>Native Type</em>'.
415: * <!-- begin-user-doc -->
416: * This implementation returns null;
417: * returning a non-null result will terminate the switch.
418: * <!-- end-user-doc -->
419: * @param object the target of the switch.
420: * @return the result of interpreting the object as an instance of '<em>Native Type</em>'.
421: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
422: * @generated
423: */
424: public Object caseNativeType(NativeType object) {
425: return null;
426: }
427:
428: /**
429: * Returns the result of interpreting the object as an instance of '<em>Delete Element Type</em>'.
430: * <!-- begin-user-doc -->
431: * This implementation returns null;
432: * returning a non-null result will terminate the switch.
433: * <!-- end-user-doc -->
434: * @param object the target of the switch.
435: * @return the result of interpreting the object as an instance of '<em>Delete Element Type</em>'.
436: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
437: * @generated
438: */
439: public Object caseDeleteElementType(DeleteElementType object) {
440: return null;
441: }
442:
443: /**
444: * Returns the result of interpreting the object as an instance of '<em>Feature Collection Type</em>'.
445: * <!-- begin-user-doc -->
446: * This implementation returns null;
447: * returning a non-null result will terminate the switch.
448: * <!-- end-user-doc -->
449: * @param object the target of the switch.
450: * @return the result of interpreting the object as an instance of '<em>Feature Collection Type</em>'.
451: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
452: * @generated
453: */
454: public Object caseFeatureCollectionType(FeatureCollectionType object) {
455: return null;
456: }
457:
458: /**
459: * Returns the result of interpreting the object as an instance of '<em>Update Element Type</em>'.
460: * <!-- begin-user-doc -->
461: * This implementation returns null;
462: * returning a non-null result will terminate the switch.
463: * <!-- end-user-doc -->
464: * @param object the target of the switch.
465: * @return the result of interpreting the object as an instance of '<em>Update Element Type</em>'.
466: * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
467: * @generated
468: */
469: public Object caseUpdateElementType(UpdateElementType object) {
470: return null;
471: }
472:
473: /**
474: * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
475: * <!-- begin-user-doc -->
476: * This implementation returns null;
477: * returning a non-null result will terminate the switch, but this is the last case anyway.
478: * <!-- end-user-doc -->
479: * @param object the target of the switch.
480: * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
481: * @see #doSwitch(org.eclipse.emf.ecore.EObject)
482: * @generated
483: */
484: public Object defaultCase(EObject object) {
485: return null;
486: }
487:
488: } //WfsvSwitch
|