1 7 package org.enhydra.dods.editor.Doml.util; 8 9 import java.util.List ; 10 11 import org.eclipse.emf.ecore.EClass; 12 import org.eclipse.emf.ecore.EObject; 13 14 import org.enhydra.dods.editor.Doml.*; 15 16 29 public class DomlSwitch { 30 36 protected static DomlPackage modelPackage; 37 38 44 public DomlSwitch() { 45 if (modelPackage == null) { 46 modelPackage = DomlPackage.eINSTANCE; 47 } 48 } 49 50 57 public Object doSwitch(EObject theEObject) { 58 return doSwitch(theEObject.eClass(), theEObject); 59 } 60 61 68 protected Object doSwitch(EClass theEClass, EObject theEObject) { 69 if (theEClass.eContainer() == modelPackage) { 70 return doSwitch(theEClass.getClassifierID(), theEObject); 71 } 72 else { 73 List eSuperTypes = theEClass.getESuperTypes(); 74 return 75 eSuperTypes.isEmpty() ? 76 defaultCase(theEObject) : 77 doSwitch((EClass)eSuperTypes.get(0), theEObject); 78 } 79 } 80 81 88 protected Object doSwitch(int classifierID, EObject theEObject) { 89 switch (classifierID) { 90 case DomlPackage.COLUMN_TYPE: { 91 ColumnType columnType = (ColumnType)theEObject; 92 Object result = caseColumnType(columnType); 93 if (result == null) result = defaultCase(theEObject); 94 return result; 95 } 96 case DomlPackage.DATABASE_TYPE: { 97 DatabaseType databaseType = (DatabaseType)theEObject; 98 Object result = caseDatabaseType(databaseType); 99 if (result == null) result = defaultCase(theEObject); 100 return result; 101 } 102 case DomlPackage.DOCUMENT_ROOT: { 103 DocumentRoot documentRoot = (DocumentRoot)theEObject; 104 Object result = caseDocumentRoot(documentRoot); 105 if (result == null) result = defaultCase(theEObject); 106 return result; 107 } 108 case DomlPackage.DOML_TYPE: { 109 DomlType domlType = (DomlType)theEObject; 110 Object result = caseDomlType(domlType); 111 if (result == null) result = defaultCase(theEObject); 112 return result; 113 } 114 case DomlPackage.INDEX_COLUMN_TYPE: { 115 IndexColumnType indexColumnType = (IndexColumnType)theEObject; 116 Object result = caseIndexColumnType(indexColumnType); 117 if (result == null) result = defaultCase(theEObject); 118 return result; 119 } 120 case DomlPackage.INDEX_TYPE: { 121 IndexType indexType = (IndexType)theEObject; 122 Object result = caseIndexType(indexType); 123 if (result == null) result = defaultCase(theEObject); 124 return result; 125 } 126 case DomlPackage.PACKAGE_TYPE: { 127 PackageType packageType = (PackageType)theEObject; 128 Object result = casePackageType(packageType); 129 if (result == null) result = defaultCase(theEObject); 130 return result; 131 } 132 case DomlPackage.REFERENCE_OBJECT_TYPE: { 133 ReferenceObjectType referenceObjectType = (ReferenceObjectType)theEObject; 134 Object result = caseReferenceObjectType(referenceObjectType); 135 if (result == null) result = defaultCase(theEObject); 136 return result; 137 } 138 case DomlPackage.TABLE_TYPE: { 139 TableType tableType = (TableType)theEObject; 140 Object result = caseTableType(tableType); 141 if (result == null) result = defaultCase(theEObject); 142 return result; 143 } 144 case DomlPackage.TYPE_TYPE: { 145 TypeType typeType = (TypeType)theEObject; 146 Object result = caseTypeType(typeType); 147 if (result == null) result = defaultCase(theEObject); 148 return result; 149 } 150 default: return defaultCase(theEObject); 151 } 152 } 153 154 165 public Object caseColumnType(ColumnType object) { 166 return null; 167 } 168 169 180 public Object caseDatabaseType(DatabaseType object) { 181 return null; 182 } 183 184 195 public Object caseDocumentRoot(DocumentRoot object) { 196 return null; 197 } 198 199 210 public Object caseDomlType(DomlType object) { 211 return null; 212 } 213 214 225 public Object caseIndexColumnType(IndexColumnType object) { 226 return null; 227 } 228 229 240 public Object caseIndexType(IndexType object) { 241 return null; 242 } 243 244 255 public Object casePackageType(PackageType object) { 256 return null; 257 } 258 259 270 public Object caseReferenceObjectType(ReferenceObjectType object) { 271 return null; 272 } 273 274 285 public Object caseTableType(TableType object) { 286 return null; 287 } 288 289 300 public Object caseTypeType(TypeType object) { 301 return null; 302 } 303 304 315 public Object defaultCase(EObject object) { 316 return null; 317 } 318 319 } | Popular Tags |