All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openxma.dsl.dom.util.DomSwitch Maven / Gradle / Ivy

/**
 * 
 * 
 *
 * $Id: DomSwitch.java 9011 2012-01-13 14:48:10Z mjohannes $
 */
package org.openxma.dsl.dom.util;

import java.util.List;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.openxma.dsl.core.model.IDocumentable;
import org.openxma.dsl.core.model.ModelElement;
import org.openxma.dsl.core.model.ReferenceableByXmadslVariable;
import org.openxma.dsl.core.model.Type;
import org.openxma.dsl.dom.DomPackage;
import org.openxma.dsl.dom.model.*;
import org.openxma.dsl.dom.model.AggregateFunction;
import org.openxma.dsl.dom.model.AliasedExpression;
import org.openxma.dsl.dom.model.AltWhenClause;
import org.openxma.dsl.dom.model.ApplicationSession;
import org.openxma.dsl.dom.model.Attribute;
import org.openxma.dsl.dom.model.AttributeFlag;
import org.openxma.dsl.dom.model.AttributeGroup;
import org.openxma.dsl.dom.model.AttributeProperty;
import org.openxma.dsl.dom.model.AttributeSortOrder;
import org.openxma.dsl.dom.model.AttributeTextProperty;
import org.openxma.dsl.dom.model.AttributeValidationProperty;
import org.openxma.dsl.dom.model.AvailableFlag;
import org.openxma.dsl.dom.model.BetweenExpression;
import org.openxma.dsl.dom.model.BinaryExpression;
import org.openxma.dsl.dom.model.BooleanLiteralValue;
import org.openxma.dsl.dom.model.CallInputParameter;
import org.openxma.dsl.dom.model.CallOutputParameter;
import org.openxma.dsl.dom.model.CallableStatement;
import org.openxma.dsl.dom.model.CaseExpression;
import org.openxma.dsl.dom.model.CastFunction;
import org.openxma.dsl.dom.model.CollectionFunction;
import org.openxma.dsl.dom.model.Column;
import org.openxma.dsl.dom.model.ComplexType;
import org.openxma.dsl.dom.model.Dao;
import org.openxma.dsl.dom.model.DaoFeature;
import org.openxma.dsl.dom.model.DaoOperation;
import org.openxma.dsl.dom.model.DataBaseConstraint;
import org.openxma.dsl.dom.model.DataView;
import org.openxma.dsl.dom.model.DelegateOperation;
import org.openxma.dsl.dom.model.DeleteStatement;
import org.openxma.dsl.dom.model.Dependant;
import org.openxma.dsl.dom.model.DerivedFlag;
import org.openxma.dsl.dom.model.EmptyLiteralValue;
import org.openxma.dsl.dom.model.Entity;
import org.openxma.dsl.dom.model.Expression;
import org.openxma.dsl.dom.model.ExpressionFlag;
import org.openxma.dsl.dom.model.FeatureReference;
import org.openxma.dsl.dom.model.FromClass;
import org.openxma.dsl.dom.model.FromRange;
import org.openxma.dsl.dom.model.FunctionCall;
import org.openxma.dsl.dom.model.IElementWithNoName;
import org.openxma.dsl.dom.model.InClass;
import org.openxma.dsl.dom.model.InCollection;
import org.openxma.dsl.dom.model.InCollectionElements;
import org.openxma.dsl.dom.model.InExpression;
import org.openxma.dsl.dom.model.InsertStatement;
import org.openxma.dsl.dom.model.IntegerLiteralValue;
import org.openxma.dsl.dom.model.Join;
import org.openxma.dsl.dom.model.JoinEntity;
import org.openxma.dsl.dom.model.LikeExpression;
import org.openxma.dsl.dom.model.LiteralValue;
import org.openxma.dsl.dom.model.ManyToMany;
import org.openxma.dsl.dom.model.ManyToOne;
import org.openxma.dsl.dom.model.Mapper;
import org.openxma.dsl.dom.model.MemberOfExpression;
import org.openxma.dsl.dom.model.NotExpression;
import org.openxma.dsl.dom.model.NullLiteralValue;
import org.openxma.dsl.dom.model.OneToMany;
import org.openxma.dsl.dom.model.OneToOne;
import org.openxma.dsl.dom.model.Operation;
import org.openxma.dsl.dom.model.Parameter;
import org.openxma.dsl.dom.model.ParenthesizedExpression;
import org.openxma.dsl.dom.model.PresentableFeature;
import org.openxma.dsl.dom.model.Property;
import org.openxma.dsl.dom.model.PropertyAssignment;
import org.openxma.dsl.dom.model.PropertyMapping;
import org.openxma.dsl.dom.model.PropertyValue;
import org.openxma.dsl.dom.model.QlStatement;
import org.openxma.dsl.dom.model.QuantifiedExpression;
import org.openxma.dsl.dom.model.QueryOperation;
import org.openxma.dsl.dom.model.QueryParameter;
import org.openxma.dsl.dom.model.QueryParameterReference;
import org.openxma.dsl.dom.model.QueryParameterValue;
import org.openxma.dsl.dom.model.ReadOnlyFlag;
import org.openxma.dsl.dom.model.RealLiteralValue;
import org.openxma.dsl.dom.model.RequiredFlag;
import org.openxma.dsl.dom.model.SelectClass;
import org.openxma.dsl.dom.model.SelectObject;
import org.openxma.dsl.dom.model.SelectProperties;
import org.openxma.dsl.dom.model.SelectStatement;
import org.openxma.dsl.dom.model.Service;
import org.openxma.dsl.dom.model.SortOrderElement;
import org.openxma.dsl.dom.model.StringLiteralValue;
import org.openxma.dsl.dom.model.SubQuery;
import org.openxma.dsl.dom.model.TransientFlag;
import org.openxma.dsl.dom.model.TrimFunction;
import org.openxma.dsl.dom.model.UnaryExpression;
import org.openxma.dsl.dom.model.UpdateStatement;
import org.openxma.dsl.dom.model.ValueObject;
import org.openxma.dsl.dom.model.WhenClause;

/**
 *  The Switch for the model's inheritance
 * hierarchy. It supports the call {@link #doSwitch(EObject) doSwitch(object)}
 * to invoke the caseXXX method for each class of the model,
 * starting with the actual class of the object and proceeding up the
 * inheritance hierarchy until a non-null result is returned, which is the
 * result of the switch. 
 * @see org.openxma.dsl.dom.DomPackage
 * @generated
 */
public class DomSwitch {
	/**
     * The cached model package
     *  
     * @generated
     */
	protected static DomPackage modelPackage;

	/**
     * Creates an instance of the switch.
     *  
     * @generated
     */
	public DomSwitch() {
        if (modelPackage == null) {
            modelPackage = DomPackage.eINSTANCE;
        }
    }

	/**
	 * Calls caseXXX for each class of the model until one returns
	 * a non null result; it yields that result.  
	 * 
	 * @return the first non-null result returned by a caseXXX
	 *         call.
	 * @generated NOT
	 */
	public T doSwitch(EObject theEObject) {
		return doSwitch((EClass) (theEObject instanceof EClass ? theEObject : theEObject.eClass()), 
				theEObject instanceof EClass ? null : theEObject);
	}

	/**
     * Calls caseXXX for each class of the model until one returns a non null result; it yields that result.
     * 
	 * 
     * @return the first non-null result returned by a caseXXX call.
     * @generated
     */
	protected T doSwitch(EClass theEClass, EObject theEObject) {
        if (theEClass.eContainer() == modelPackage) {
            return doSwitch(theEClass.getClassifierID(), theEObject);
        }
        else {
            List eSuperTypes = theEClass.getESuperTypes();
            return
                eSuperTypes.isEmpty() ?
                    defaultCase(theEObject) :
                    doSwitch(eSuperTypes.get(0), theEObject);
        }
    }

	/**
     * Calls caseXXX for each class of the model until one returns a non null result; it yields that result.
     *  
     * @return the first non-null result returned by a caseXXX call.
     * @generated
     */
	protected T doSwitch(int classifierID, EObject theEObject) {
        switch (classifierID) {
            case DomPackage.COMPLEX_TYPE: {
                ComplexType complexType = (ComplexType)theEObject;
                T result = caseComplexType(complexType);
                if (result == null) result = caseType(complexType);
                if (result == null) result = caseModelElement(complexType);
                if (result == null) result = caseIDocumentable(complexType);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.SERVICE: {
                Service service = (Service)theEObject;
                T result = caseService(service);
                if (result == null) result = caseModelElement(service);
                if (result == null) result = caseDependant(service);
                if (result == null) result = caseIDocumentable(service);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.DEPENDANT: {
                Dependant dependant = (Dependant)theEObject;
                T result = caseDependant(dependant);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.PROPERTY: {
                Property property = (Property)theEObject;
                T result = caseProperty(property);
                if (result == null) result = caseReferenceableByXmadslVariable(property);
                if (result == null) result = caseIDocumentable(property);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.OPERATION: {
                Operation operation = (Operation)theEObject;
                T result = caseOperation(operation);
                if (result == null) result = caseDaoOperation(operation);
                if (result == null) result = caseIDocumentable(operation);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.PARAMETER: {
                Parameter parameter = (Parameter)theEObject;
                T result = caseParameter(parameter);
                if (result == null) result = caseQueryParameter(parameter);
                if (result == null) result = caseQueryParameterReference(parameter);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.DELEGATE_OPERATION: {
                DelegateOperation delegateOperation = (DelegateOperation)theEObject;
                T result = caseDelegateOperation(delegateOperation);
                if (result == null) result = caseIDocumentable(delegateOperation);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.DAO_OPERATION: {
                DaoOperation daoOperation = (DaoOperation)theEObject;
                T result = caseDaoOperation(daoOperation);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.VALUE_OBJECT: {
                ValueObject valueObject = (ValueObject)theEObject;
                T result = caseValueObject(valueObject);
                if (result == null) result = caseComplexType(valueObject);
                if (result == null) result = caseType(valueObject);
                if (result == null) result = caseModelElement(valueObject);
                if (result == null) result = caseIDocumentable(valueObject);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.DATA_VIEW: {
                DataView dataView = (DataView)theEObject;
                T result = caseDataView(dataView);
                if (result == null) result = caseComplexType(dataView);
                if (result == null) result = caseType(dataView);
                if (result == null) result = caseModelElement(dataView);
                if (result == null) result = caseIDocumentable(dataView);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.FEATURE_REFERENCE: {
                FeatureReference featureReference = (FeatureReference)theEObject;
                T result = caseFeatureReference(featureReference);
                if (result == null) result = casePresentableFeature(featureReference);
                if (result == null) result = caseIDocumentable(featureReference);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.MAPPER: {
                Mapper mapper = (Mapper)theEObject;
                T result = caseMapper(mapper);
                if (result == null) result = caseModelElement(mapper);
                if (result == null) result = caseIDocumentable(mapper);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.PROPERTY_MAPPING: {
                PropertyMapping propertyMapping = (PropertyMapping)theEObject;
                T result = casePropertyMapping(propertyMapping);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.ENTITY: {
                Entity entity = (Entity)theEObject;
                T result = caseEntity(entity);
                if (result == null) result = caseComplexType(entity);
                if (result == null) result = caseDependant(entity);
                if (result == null) result = caseType(entity);
                if (result == null) result = caseModelElement(entity);
                if (result == null) result = caseIDocumentable(entity);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.ATTRIBUTE: {
                Attribute attribute = (Attribute)theEObject;
                T result = caseAttribute(attribute);
                if (result == null) result = caseReferenceableByXmadslVariable(attribute);
                if (result == null) result = caseQueryParameterReference(attribute);
                if (result == null) result = casePresentableFeature(attribute);
                if (result == null) result = caseIDocumentable(attribute);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.ATTRIBUTE_FLAG: {
                AttributeFlag attributeFlag = (AttributeFlag)theEObject;
                T result = caseAttributeFlag(attributeFlag);
                if (result == null) result = caseAttributeProperty(attributeFlag);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.EXPRESSION_FLAG: {
                ExpressionFlag expressionFlag = (ExpressionFlag)theEObject;
                T result = caseExpressionFlag(expressionFlag);
                if (result == null) result = caseAttributeFlag(expressionFlag);
                if (result == null) result = caseAttributeProperty(expressionFlag);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.REQUIRED_FLAG: {
                RequiredFlag requiredFlag = (RequiredFlag)theEObject;
                T result = caseRequiredFlag(requiredFlag);
                if (result == null) result = caseExpressionFlag(requiredFlag);
                if (result == null) result = caseAttributeFlag(requiredFlag);
                if (result == null) result = caseAttributeProperty(requiredFlag);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.READ_ONLY_FLAG: {
                ReadOnlyFlag readOnlyFlag = (ReadOnlyFlag)theEObject;
                T result = caseReadOnlyFlag(readOnlyFlag);
                if (result == null) result = caseExpressionFlag(readOnlyFlag);
                if (result == null) result = caseAttributeFlag(readOnlyFlag);
                if (result == null) result = caseAttributeProperty(readOnlyFlag);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.AVAILABLE_FLAG: {
                AvailableFlag availableFlag = (AvailableFlag)theEObject;
                T result = caseAvailableFlag(availableFlag);
                if (result == null) result = caseExpressionFlag(availableFlag);
                if (result == null) result = caseAttributeFlag(availableFlag);
                if (result == null) result = caseAttributeProperty(availableFlag);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.DERIVED_FLAG: {
                DerivedFlag derivedFlag = (DerivedFlag)theEObject;
                T result = caseDerivedFlag(derivedFlag);
                if (result == null) result = caseAttributeFlag(derivedFlag);
                if (result == null) result = caseAttributeProperty(derivedFlag);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.TRANSIENT_FLAG: {
                TransientFlag transientFlag = (TransientFlag)theEObject;
                T result = caseTransientFlag(transientFlag);
                if (result == null) result = caseAttributeFlag(transientFlag);
                if (result == null) result = caseAttributeProperty(transientFlag);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.ATTRIBUTE_PROPERTY: {
                AttributeProperty attributeProperty = (AttributeProperty)theEObject;
                T result = caseAttributeProperty(attributeProperty);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.ATTRIBUTE_VALIDATION_PROPERTY: {
                AttributeValidationProperty attributeValidationProperty = (AttributeValidationProperty)theEObject;
                T result = caseAttributeValidationProperty(attributeValidationProperty);
                if (result == null) result = caseAttributeProperty(attributeValidationProperty);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.ATTRIBUTE_TEXT_PROPERTY: {
                AttributeTextProperty attributeTextProperty = (AttributeTextProperty)theEObject;
                T result = caseAttributeTextProperty(attributeTextProperty);
                if (result == null) result = caseAttributeProperty(attributeTextProperty);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.ATTRIBUTE_GROUP: {
                AttributeGroup attributeGroup = (AttributeGroup)theEObject;
                T result = caseAttributeGroup(attributeGroup);
                if (result == null) result = caseIDocumentable(attributeGroup);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.ATTRIBUTE_SORT_ORDER: {
                AttributeSortOrder attributeSortOrder = (AttributeSortOrder)theEObject;
                T result = caseAttributeSortOrder(attributeSortOrder);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.DAO_FEATURE: {
                DaoFeature daoFeature = (DaoFeature)theEObject;
                T result = caseDaoFeature(daoFeature);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.DAO: {
                Dao dao = (Dao)theEObject;
                T result = caseDao(dao);
                if (result == null) result = caseModelElement(dao);
                if (result == null) result = caseDependant(dao);
                if (result == null) result = caseIDocumentable(dao);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.QUERY_OPERATION: {
                QueryOperation queryOperation = (QueryOperation)theEObject;
                T result = caseQueryOperation(queryOperation);
                if (result == null) result = caseDaoOperation(queryOperation);
                if (result == null) result = caseIDocumentable(queryOperation);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.QUERY_PARAMETER: {
                QueryParameter queryParameter = (QueryParameter)theEObject;
                T result = caseQueryParameter(queryParameter);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.COLUMN: {
                Column column = (Column)theEObject;
                T result = caseColumn(column);
                if (result == null) result = caseDaoFeature(column);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.MANY_TO_ONE: {
                ManyToOne manyToOne = (ManyToOne)theEObject;
                T result = caseManyToOne(manyToOne);
                if (result == null) result = caseDaoFeature(manyToOne);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.ONE_TO_ONE: {
                OneToOne oneToOne = (OneToOne)theEObject;
                T result = caseOneToOne(oneToOne);
                if (result == null) result = caseDaoFeature(oneToOne);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.ONE_TO_MANY: {
                OneToMany oneToMany = (OneToMany)theEObject;
                T result = caseOneToMany(oneToMany);
                if (result == null) result = caseDaoFeature(oneToMany);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.MANY_TO_MANY: {
                ManyToMany manyToMany = (ManyToMany)theEObject;
                T result = caseManyToMany(manyToMany);
                if (result == null) result = caseDaoFeature(manyToMany);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.DATA_BASE_CONSTRAINT: {
                DataBaseConstraint dataBaseConstraint = (DataBaseConstraint)theEObject;
                T result = caseDataBaseConstraint(dataBaseConstraint);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.APPLICATION_SESSION: {
                ApplicationSession applicationSession = (ApplicationSession)theEObject;
                T result = caseApplicationSession(applicationSession);
                if (result == null) result = caseModelElement(applicationSession);
                if (result == null) result = caseIDocumentable(applicationSession);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.QL_STATEMENT: {
                QlStatement qlStatement = (QlStatement)theEObject;
                T result = caseQlStatement(qlStatement);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.CALLABLE_STATEMENT: {
                CallableStatement callableStatement = (CallableStatement)theEObject;
                T result = caseCallableStatement(callableStatement);
                if (result == null) result = caseQlStatement(callableStatement);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.CALL_INPUT_PARAMETER: {
                CallInputParameter callInputParameter = (CallInputParameter)theEObject;
                T result = caseCallInputParameter(callInputParameter);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.CALL_OUTPUT_PARAMETER: {
                CallOutputParameter callOutputParameter = (CallOutputParameter)theEObject;
                T result = caseCallOutputParameter(callOutputParameter);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.INSERT_STATEMENT: {
                InsertStatement insertStatement = (InsertStatement)theEObject;
                T result = caseInsertStatement(insertStatement);
                if (result == null) result = caseQlStatement(insertStatement);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.DELETE_STATEMENT: {
                DeleteStatement deleteStatement = (DeleteStatement)theEObject;
                T result = caseDeleteStatement(deleteStatement);
                if (result == null) result = caseQlStatement(deleteStatement);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.UPDATE_STATEMENT: {
                UpdateStatement updateStatement = (UpdateStatement)theEObject;
                T result = caseUpdateStatement(updateStatement);
                if (result == null) result = caseQlStatement(updateStatement);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.PROPERTY_ASSIGNMENT: {
                PropertyAssignment propertyAssignment = (PropertyAssignment)theEObject;
                T result = casePropertyAssignment(propertyAssignment);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.SELECT_STATEMENT: {
                SelectStatement selectStatement = (SelectStatement)theEObject;
                T result = caseSelectStatement(selectStatement);
                if (result == null) result = caseQlStatement(selectStatement);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.SORT_ORDER_ELEMENT: {
                SortOrderElement sortOrderElement = (SortOrderElement)theEObject;
                T result = caseSortOrderElement(sortOrderElement);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.SELECT_PROPERTIES: {
                SelectProperties selectProperties = (SelectProperties)theEObject;
                T result = caseSelectProperties(selectProperties);
                if (result == null) result = caseSelectStatement(selectProperties);
                if (result == null) result = caseQlStatement(selectProperties);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.SELECT_CLASS: {
                SelectClass selectClass = (SelectClass)theEObject;
                T result = caseSelectClass(selectClass);
                if (result == null) result = caseSelectStatement(selectClass);
                if (result == null) result = caseQlStatement(selectClass);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.SELECT_OBJECT: {
                SelectObject selectObject = (SelectObject)theEObject;
                T result = caseSelectObject(selectObject);
                if (result == null) result = caseSelectStatement(selectObject);
                if (result == null) result = caseQlStatement(selectObject);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.FROM_RANGE: {
                FromRange fromRange = (FromRange)theEObject;
                T result = caseFromRange(fromRange);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.FROM_CLASS: {
                FromClass fromClass = (FromClass)theEObject;
                T result = caseFromClass(fromClass);
                if (result == null) result = caseFromRange(fromClass);
                if (result == null) result = caseJoinEntity(fromClass);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.IN_CLASS: {
                InClass inClass = (InClass)theEObject;
                T result = caseInClass(inClass);
                if (result == null) result = caseFromRange(inClass);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.IN_COLLECTION: {
                InCollection inCollection = (InCollection)theEObject;
                T result = caseInCollection(inCollection);
                if (result == null) result = caseFromRange(inCollection);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.IN_COLLECTION_ELEMENTS: {
                InCollectionElements inCollectionElements = (InCollectionElements)theEObject;
                T result = caseInCollectionElements(inCollectionElements);
                if (result == null) result = caseFromRange(inCollectionElements);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.JOIN: {
                Join join = (Join)theEObject;
                T result = caseJoin(join);
                if (result == null) result = caseJoinEntity(join);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.JOIN_ENTITY: {
                JoinEntity joinEntity = (JoinEntity)theEObject;
                T result = caseJoinEntity(joinEntity);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.EXPRESSION: {
                Expression expression = (Expression)theEObject;
                T result = caseExpression(expression);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.PROPERTY_VALUE: {
                PropertyValue propertyValue = (PropertyValue)theEObject;
                T result = casePropertyValue(propertyValue);
                if (result == null) result = caseExpression(propertyValue);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.FUNCTION_CALL: {
                FunctionCall functionCall = (FunctionCall)theEObject;
                T result = caseFunctionCall(functionCall);
                if (result == null) result = caseExpression(functionCall);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.TRIM_FUNCTION: {
                TrimFunction trimFunction = (TrimFunction)theEObject;
                T result = caseTrimFunction(trimFunction);
                if (result == null) result = caseExpression(trimFunction);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.CAST_FUNCTION: {
                CastFunction castFunction = (CastFunction)theEObject;
                T result = caseCastFunction(castFunction);
                if (result == null) result = caseExpression(castFunction);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.AGGREGATE_FUNCTION: {
                AggregateFunction aggregateFunction = (AggregateFunction)theEObject;
                T result = caseAggregateFunction(aggregateFunction);
                if (result == null) result = caseExpression(aggregateFunction);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.QUERY_PARAMETER_REFERENCE: {
                QueryParameterReference queryParameterReference = (QueryParameterReference)theEObject;
                T result = caseQueryParameterReference(queryParameterReference);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.QUERY_PARAMETER_VALUE: {
                QueryParameterValue queryParameterValue = (QueryParameterValue)theEObject;
                T result = caseQueryParameterValue(queryParameterValue);
                if (result == null) result = caseExpression(queryParameterValue);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.QUANTIFIED_EXPRESSION: {
                QuantifiedExpression quantifiedExpression = (QuantifiedExpression)theEObject;
                T result = caseQuantifiedExpression(quantifiedExpression);
                if (result == null) result = caseExpression(quantifiedExpression);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.CASE_EXPRESSION: {
                CaseExpression caseExpression = (CaseExpression)theEObject;
                T result = caseCaseExpression(caseExpression);
                if (result == null) result = caseExpression(caseExpression);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.WHEN_CLAUSE: {
                WhenClause whenClause = (WhenClause)theEObject;
                T result = caseWhenClause(whenClause);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.ALT_WHEN_CLAUSE: {
                AltWhenClause altWhenClause = (AltWhenClause)theEObject;
                T result = caseAltWhenClause(altWhenClause);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.COLLECTION_FUNCTION: {
                CollectionFunction collectionFunction = (CollectionFunction)theEObject;
                T result = caseCollectionFunction(collectionFunction);
                if (result == null) result = caseExpression(collectionFunction);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.SUB_QUERY: {
                SubQuery subQuery = (SubQuery)theEObject;
                T result = caseSubQuery(subQuery);
                if (result == null) result = caseExpression(subQuery);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.PARENTHESIZED_EXPRESSION: {
                ParenthesizedExpression parenthesizedExpression = (ParenthesizedExpression)theEObject;
                T result = caseParenthesizedExpression(parenthesizedExpression);
                if (result == null) result = caseExpression(parenthesizedExpression);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.LITERAL_VALUE: {
                LiteralValue literalValue = (LiteralValue)theEObject;
                T result = caseLiteralValue(literalValue);
                if (result == null) result = caseExpression(literalValue);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.STRING_LITERAL_VALUE: {
                StringLiteralValue stringLiteralValue = (StringLiteralValue)theEObject;
                T result = caseStringLiteralValue(stringLiteralValue);
                if (result == null) result = caseLiteralValue(stringLiteralValue);
                if (result == null) result = caseExpression(stringLiteralValue);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.INTEGER_LITERAL_VALUE: {
                IntegerLiteralValue integerLiteralValue = (IntegerLiteralValue)theEObject;
                T result = caseIntegerLiteralValue(integerLiteralValue);
                if (result == null) result = caseLiteralValue(integerLiteralValue);
                if (result == null) result = caseExpression(integerLiteralValue);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.REAL_LITERAL_VALUE: {
                RealLiteralValue realLiteralValue = (RealLiteralValue)theEObject;
                T result = caseRealLiteralValue(realLiteralValue);
                if (result == null) result = caseLiteralValue(realLiteralValue);
                if (result == null) result = caseExpression(realLiteralValue);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.BOOLEAN_LITERAL_VALUE: {
                BooleanLiteralValue booleanLiteralValue = (BooleanLiteralValue)theEObject;
                T result = caseBooleanLiteralValue(booleanLiteralValue);
                if (result == null) result = caseLiteralValue(booleanLiteralValue);
                if (result == null) result = caseExpression(booleanLiteralValue);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.NULL_LITERAL_VALUE: {
                NullLiteralValue nullLiteralValue = (NullLiteralValue)theEObject;
                T result = caseNullLiteralValue(nullLiteralValue);
                if (result == null) result = caseLiteralValue(nullLiteralValue);
                if (result == null) result = caseExpression(nullLiteralValue);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.EMPTY_LITERAL_VALUE: {
                EmptyLiteralValue emptyLiteralValue = (EmptyLiteralValue)theEObject;
                T result = caseEmptyLiteralValue(emptyLiteralValue);
                if (result == null) result = caseLiteralValue(emptyLiteralValue);
                if (result == null) result = caseExpression(emptyLiteralValue);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.IELEMENT_WITH_NO_NAME: {
                IElementWithNoName iElementWithNoName = (IElementWithNoName)theEObject;
                T result = caseIElementWithNoName(iElementWithNoName);
                if (result == null) result = caseReferenceableByXmadslVariable(iElementWithNoName);
                if (result == null) result = caseQueryParameterReference(iElementWithNoName);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.PRESENTABLE_FEATURE: {
                PresentableFeature presentableFeature = (PresentableFeature)theEObject;
                T result = casePresentableFeature(presentableFeature);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.ALIASED_EXPRESSION: {
                AliasedExpression aliasedExpression = (AliasedExpression)theEObject;
                T result = caseAliasedExpression(aliasedExpression);
                if (result == null) result = caseExpression(aliasedExpression);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.BINARY_EXPRESSION: {
                BinaryExpression binaryExpression = (BinaryExpression)theEObject;
                T result = caseBinaryExpression(binaryExpression);
                if (result == null) result = caseExpression(binaryExpression);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.NOT_EXPRESSION: {
                NotExpression notExpression = (NotExpression)theEObject;
                T result = caseNotExpression(notExpression);
                if (result == null) result = caseExpression(notExpression);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.IN_EXPRESSION: {
                InExpression inExpression = (InExpression)theEObject;
                T result = caseInExpression(inExpression);
                if (result == null) result = caseExpression(inExpression);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.BETWEEN_EXPRESSION: {
                BetweenExpression betweenExpression = (BetweenExpression)theEObject;
                T result = caseBetweenExpression(betweenExpression);
                if (result == null) result = caseExpression(betweenExpression);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.LIKE_EXPRESSION: {
                LikeExpression likeExpression = (LikeExpression)theEObject;
                T result = caseLikeExpression(likeExpression);
                if (result == null) result = caseExpression(likeExpression);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.MEMBER_OF_EXPRESSION: {
                MemberOfExpression memberOfExpression = (MemberOfExpression)theEObject;
                T result = caseMemberOfExpression(memberOfExpression);
                if (result == null) result = caseExpression(memberOfExpression);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            case DomPackage.UNARY_EXPRESSION: {
                UnaryExpression unaryExpression = (UnaryExpression)theEObject;
                T result = caseUnaryExpression(unaryExpression);
                if (result == null) result = caseExpression(unaryExpression);
                if (result == null) result = defaultCase(theEObject);
                return result;
            }
            default: return defaultCase(theEObject);
        }
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Service'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Service'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseService(Service object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Complex Type'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Complex Type'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseComplexType(ComplexType object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Dependant'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Dependant'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseDependant(Dependant object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Operation'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Operation'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseOperation(Operation object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Delegate Operation'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Delegate Operation'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseDelegateOperation(DelegateOperation object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Dao Operation'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Dao Operation'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseDaoOperation(DaoOperation object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Parameter'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Parameter'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseParameter(Parameter object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Value Object'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Value Object'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseValueObject(ValueObject object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Data View'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Data View'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseDataView(DataView object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Feature Reference'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Feature Reference'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseFeatureReference(FeatureReference object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Mapper'.
     * 
     * This implementation returns null;
     * returning a non-null result will terminate the switch.
     * 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Mapper'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
    public T caseMapper(Mapper object) {
        return null;
    }

    /**
     * Returns the result of interpreting the object as an instance of 'Property Mapping'.
     * 
     * This implementation returns null;
     * returning a non-null result will terminate the switch.
     * 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Property Mapping'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
    public T casePropertyMapping(PropertyMapping object) {
        return null;
    }

    /**
     * Returns the result of interpreting the object as an instance of 'IElement With No Name'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'IElement With No Name'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseIElementWithNoName(IElementWithNoName object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Entity'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Entity'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseEntity(Entity object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Ql Statement'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Ql Statement'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseQlStatement(QlStatement object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Callable Statement'.
     * 
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Callable Statement'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseCallableStatement(CallableStatement object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Call Input Parameter'.
     * 
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Call Input Parameter'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseCallInputParameter(CallInputParameter object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Call Output Parameter'.
     * 
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Call Output Parameter'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseCallOutputParameter(CallOutputParameter object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Insert Statement'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Insert Statement'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseInsertStatement(InsertStatement object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Delete Statement'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Delete Statement'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseDeleteStatement(DeleteStatement object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Update Statement'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Update Statement'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseUpdateStatement(UpdateStatement object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Property Assignment'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Property Assignment'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T casePropertyAssignment(PropertyAssignment object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Select Statement'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Select Statement'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseSelectStatement(SelectStatement object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Sort Order Element'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Sort Order Element'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseSortOrderElement(SortOrderElement object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Select Properties'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Select Properties'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseSelectProperties(SelectProperties object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Select Class'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Select Class'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseSelectClass(SelectClass object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Select Object'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Select Object'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseSelectObject(SelectObject object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'From Range'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'From Range'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseFromRange(FromRange object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'From Class'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'From Class'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseFromClass(FromClass object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'In Class'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'In Class'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseInClass(InClass object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'In Collection'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'In Collection'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseInCollection(InCollection object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'In Collection Elements'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'In Collection Elements'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseInCollectionElements(InCollectionElements object) {
        return null;
    }

	/**
	 * Returns the result of interpreting the object as an instance of '
	 * Join'.  This implementation returns null;
	 * returning a non-null result will terminate the switch. 
	 * 
	 * @param object
	 *            the target of the switch.
	 * @return the result of interpreting the object as an instance of '
	 *         Join'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseJoin(Join object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Join Entity'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Join Entity'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseJoinEntity(JoinEntity object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Expression'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Expression'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseExpression(Expression object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Property Value'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Property Value'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T casePropertyValue(PropertyValue object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Function Call'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Function Call'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseFunctionCall(FunctionCall object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Trim Function'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Trim Function'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseTrimFunction(TrimFunction object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Cast Function'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Cast Function'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseCastFunction(CastFunction object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Aggregate Function'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Aggregate Function'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseAggregateFunction(AggregateFunction object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Query Parameter Reference'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Query Parameter Reference'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseQueryParameterReference(QueryParameterReference object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Query Parameter Value'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Query Parameter Value'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseQueryParameterValue(QueryParameterValue object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Quantified Expression'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Quantified Expression'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseQuantifiedExpression(QuantifiedExpression object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Case Expression'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Case Expression'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseCaseExpression(CaseExpression object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'When Clause'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'When Clause'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseWhenClause(WhenClause object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Alt When Clause'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Alt When Clause'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseAltWhenClause(AltWhenClause object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Collection Function'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Collection Function'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseCollectionFunction(CollectionFunction object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Sub Query'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Sub Query'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseSubQuery(SubQuery object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Parenthesized Expression'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Parenthesized Expression'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseParenthesizedExpression(ParenthesizedExpression object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Literal Value'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Literal Value'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseLiteralValue(LiteralValue object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'String Literal Value'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'String Literal Value'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseStringLiteralValue(StringLiteralValue object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Integer Literal Value'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Integer Literal Value'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseIntegerLiteralValue(IntegerLiteralValue object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Real Literal Value'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Real Literal Value'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseRealLiteralValue(RealLiteralValue object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Boolean Literal Value'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Boolean Literal Value'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseBooleanLiteralValue(BooleanLiteralValue object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Null Literal Value'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Null Literal Value'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseNullLiteralValue(NullLiteralValue object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Empty Literal Value'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Empty Literal Value'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseEmptyLiteralValue(EmptyLiteralValue object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Dao Feature'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Dao Feature'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseDaoFeature(DaoFeature object) {
        return null;
    }

	/**
	 * Returns the result of interpreting the object as an instance of '
	 * Dao'.  This implementation returns null;
	 * returning a non-null result will terminate the switch. 
	 * 
	 * @param object
	 *            the target of the switch.
	 * @return the result of interpreting the object as an instance of '
	 *         Dao'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseDao(Dao object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Query Operation'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Query Operation'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseQueryOperation(QueryOperation object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Query Parameter'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Query Parameter'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseQueryParameter(QueryParameter object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Column'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Column'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseColumn(Column object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Many To One'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Many To One'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseManyToOne(ManyToOne object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'One To One'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'One To One'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseOneToOne(OneToOne object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'One To Many'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'One To Many'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseOneToMany(OneToMany object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Many To Many'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Many To Many'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseManyToMany(ManyToMany object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Presentable Feature'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Presentable Feature'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T casePresentableFeature(PresentableFeature object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Aliased Expression'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Aliased Expression'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseAliasedExpression(AliasedExpression object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Binary Expression'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Binary Expression'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseBinaryExpression(BinaryExpression object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Not Expression'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Not Expression'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseNotExpression(NotExpression object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'In Expression'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'In Expression'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseInExpression(InExpression object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Between Expression'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Between Expression'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseBetweenExpression(BetweenExpression object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Like Expression'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Like Expression'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseLikeExpression(LikeExpression object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Member Of Expression'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Member Of Expression'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseMemberOfExpression(MemberOfExpression object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Unary Expression'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Unary Expression'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseUnaryExpression(UnaryExpression object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'IDocumentable'.
     * 
     * This implementation returns null;
     * returning a non-null result will terminate the switch.
     * 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'IDocumentable'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
    public T caseIDocumentable(IDocumentable object) {
        return null;
    }

    /**
     * Returns the result of interpreting the object as an instance of 'Data Base Constraint'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Data Base Constraint'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseDataBaseConstraint(DataBaseConstraint object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Attribute'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Attribute'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseAttribute(Attribute object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Attribute Flag'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Attribute Flag'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseAttributeFlag(AttributeFlag object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Expression Flag'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Expression Flag'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseExpressionFlag(ExpressionFlag object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Required Flag'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Required Flag'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseRequiredFlag(RequiredFlag object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Read Only Flag'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Read Only Flag'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseReadOnlyFlag(ReadOnlyFlag object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Available Flag'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Available Flag'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseAvailableFlag(AvailableFlag object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Derived Flag'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Derived Flag'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseDerivedFlag(DerivedFlag object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Transient Flag'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Transient Flag'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseTransientFlag(TransientFlag object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Attribute Property'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Attribute Property'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseAttributeProperty(AttributeProperty object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Attribute Validation Property'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Attribute Validation Property'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseAttributeValidationProperty(AttributeValidationProperty object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Attribute Text Property'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Attribute Text Property'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseAttributeTextProperty(AttributeTextProperty object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Attribute Group'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Attribute Group'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseAttributeGroup(AttributeGroup object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Attribute Sort Order'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Attribute Sort Order'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseAttributeSortOrder(AttributeSortOrder object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Referenceable By Xmadsl Variable'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Referenceable By Xmadsl Variable'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseReferenceableByXmadslVariable(ReferenceableByXmadslVariable object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Property'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Property'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseProperty(Property object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Application Session'.
     *  This
	 * implementation returns null; returning a non-null result will terminate
	 * the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Application Session'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseApplicationSession(ApplicationSession object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'Model Element'.
     *  This implementation
	 * returns null; returning a non-null result will terminate the switch. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'Model Element'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
     * @generated
     */
	public T caseModelElement(ModelElement object) {
        return null;
    }

	/**
	 * Returns the result of interpreting the object as an instance of '
	 * Type'.  This implementation returns null;
	 * returning a non-null result will terminate the switch. 
	 * 
	 * @param object
	 *            the target of the switch.
	 * @return the result of interpreting the object as an instance of '
	 *         Type'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseType(Type object) {
        return null;
    }

	/**
     * Returns the result of interpreting the object as an instance of 'EObject'.
     *  This implementation returns
	 * null; returning a non-null result will terminate the switch, but this is
	 * the last case anyway. 
     * @param object the target of the switch.
     * @return the result of interpreting the object as an instance of 'EObject'.
     * @see #doSwitch(org.eclipse.emf.ecore.EObject)
     * @generated
     */
	public T defaultCase(EObject object) {
        return null;
    }

} // DomSwitch




© 2015 - 2024 Weber Informatics LLC | Privacy Policy