## org.eclipse.emf.ecore.util
Class EcoreSwitch<T>

    java.lang.Object
      org.eclipse.emf.ecore.util.EcoreSwitch<T>

    public class EcoreSwitch<T>

extends java.lang.Object

The Switch for the model's inheritance hierarchy. It supports the call `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 Also:
  `EcorePackage`

Field Summary
`protected static EcorePackage` `modelPackage` The cached model package

Constructor Summary
`EcoreSwitch()` Creates an instance of the switch

Method Summary
`T` `caseEAnnotation(EAnnotation object)` Returns the result of interpreting the object as an instance of 'EAnnotation'
`T` `caseEAttribute(EAttribute object)` Returns the result of interpreting the object as an instance of 'EAttribute'
`T` `caseEClass(EClass object)` Returns the result of interpreting the object as an instance of 'EClass'
`T` `caseEClassifier(EClassifier object)` Returns the result of interpreting the object as an instance of 'EClassifier'
`T` `caseEDataType(EDataType object)` Returns the result of interpreting the object as an instance of 'EData Type'
`T` `caseEEnum(EEnum object)` Returns the result of interpreting the object as an instance of 'EEnum'
`T` `caseEEnumLiteral(EEnumLiteral object)` Returns the result of interpreting the object as an instance of 'EEnum Literal'
`T` `caseEFactory(EFactory object)` Returns the result of interpreting the object as an instance of 'EFactory'
`T` `caseEGenericType(EGenericType object)` Returns the result of interpreting the object as an instance of 'EGeneric Type'
`T` `caseEModelElement(EModelElement object)` Returns the result of interpreting the object as an instance of 'EModel Element'
`T` `caseENamedElement(ENamedElement object)` Returns the result of interpreting the object as an instance of 'ENamed Element'
`T` `caseEOperation(EOperation object)` Returns the result of interpreting the object as an instance of 'EOperation'
`T` `caseEPackage(EPackage object)` Returns the result of interpreting the object as an instance of 'EPackage'
`T` `caseEParameter(EParameter object)` Returns the result of interpreting the object as an instance of 'EParameter'
`T` `caseEReference(EReference object)` Returns the result of interpreting the object as an instance of 'EReference'
`T` `caseEStringToStringMapEntry(java.util.Map.Entry<java.lang.String,java.lang.String> object)` Returns the result of interpreting the object as an instance of 'EString To String Map Entry'
`T` `caseEStructuralFeature(EStructuralFeature object)` Returns the result of interpreting the object as an instance of 'EStructural Feature'
`T` `caseETypedElement(ETypedElement object)` Returns the result of interpreting the object as an instance of 'ETyped Element'
`T` `caseETypeParameter(ETypeParameter object)` Returns the result of interpreting the object as an instance of 'EType Parameter'
`T` `defaultCase(EObject object)` Returns the result of interpreting the object as an instance of 'EObject'
`protected T` `doSwitch(EClass theEClass, EObject theEObject)` Calls `caseXXX` for each class of the model until one returns a non null result; it yields that result
`T` `doSwitch(EObject theEObject)` Calls `caseXXX` for each class of the model until one returns a non null result; it yields that result
`protected T` `doSwitch(int classifierID, EObject theEObject)` Calls `caseXXX` for each class of the model until one returns a non null result; it yields that result

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### modelPackage

    protected static EcorePackage modelPackage

  The cached model package

Constructor Detail

### EcoreSwitch

    public EcoreSwitch()

  Creates an instance of the switch.

Method Detail

### doSwitch

    public T doSwitch(EObject theEObject)

  Calls `caseXXX` for each class of the model until one returns a non null result; it yields that result.

  Returns:
    the first non-null result returned by a `caseXXX` call.

### doSwitch

    protected T doSwitch(EClass theEClass,
                         EObject theEObject)

  Calls `caseXXX` for each class of the model until one returns a non null result; it yields that result.

  Returns:
    the first non-null result returned by a `caseXXX` call.

### doSwitch

    protected T doSwitch(int classifierID,
                         EObject theEObject)

  Calls `caseXXX` for each class of the model until one returns a non null result; it yields that result.

  Returns:
    the first non-null result returned by a `caseXXX` call.

### caseEModelElement

    public T caseEModelElement(EModelElement object)

  Returns the result of interpreting the object as an instance of 'EModel Element'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EModel Element'.
  See Also:
    `doSwitch(EObject)`

### caseEStructuralFeature

    public T caseEStructuralFeature(EStructuralFeature object)

  Returns the result of interpreting the object as an instance of 'EStructural Feature'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EStructural Feature'.
  See Also:
    `doSwitch(EObject)`

### caseEAnnotation

    public T caseEAnnotation(EAnnotation object)

  Returns the result of interpreting the object as an instance of 'EAnnotation'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EAnnotation'.
  See Also:
    `doSwitch(EObject)`

### caseEAttribute

    public T caseEAttribute(EAttribute object)

  Returns the result of interpreting the object as an instance of 'EAttribute'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EAttribute'.
  See Also:
    `doSwitch(EObject)`

### caseEClass

    public T caseEClass(EClass object)

  Returns the result of interpreting the object as an instance of 'EClass'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EClass'.
  See Also:
    `doSwitch(EObject)`

### caseEDataType

    public T caseEDataType(EDataType object)

  Returns the result of interpreting the object as an instance of 'EData Type'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EData Type'.
  See Also:
    `doSwitch(EObject)`

### caseEClassifier

    public T caseEClassifier(EClassifier object)

  Returns the result of interpreting the object as an instance of 'EClassifier'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EClassifier'.
  See Also:
    `doSwitch(EObject)`

### caseENamedElement

    public T caseENamedElement(ENamedElement object)

  Returns the result of interpreting the object as an instance of 'ENamed Element'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'ENamed Element'.
  See Also:
    `doSwitch(EObject)`

### defaultCase

    public T defaultCase(EObject object)

  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.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EObject'.
  See Also:
    `doSwitch(org.eclipse.emf.ecore.EObject)`

### caseETypedElement

    public T caseETypedElement(ETypedElement object)

  Returns the result of interpreting the object as an instance of 'ETyped Element'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'ETyped Element'.
  See Also:
    `doSwitch(EObject)`

### caseEStringToStringMapEntry

    public T caseEStringToStringMapEntry(java.util.Map.Entry<java.lang.String,java.lang.String> object)

  Returns the result of interpreting the object as an instance of 'EString To String Map Entry'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EString To String Map Entry'.
  See Also:
    `doSwitch(EObject)`

### caseEGenericType

    public T caseEGenericType(EGenericType object)

  Returns the result of interpreting the object as an instance of 'EGeneric Type'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EGeneric Type'.
  See Also:
    `doSwitch(EObject)`

### caseETypeParameter

    public T caseETypeParameter(ETypeParameter object)

  Returns the result of interpreting the object as an instance of 'EType Parameter'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EType Parameter'.
  See Also:
    `doSwitch(EObject)`

### caseEParameter

    public T caseEParameter(EParameter object)

  Returns the result of interpreting the object as an instance of 'EParameter'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EParameter'.
  See Also:
    `doSwitch(EObject)`

### caseEOperation

    public T caseEOperation(EOperation object)

  Returns the result of interpreting the object as an instance of 'EOperation'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EOperation'.
  See Also:
    `doSwitch(EObject)`

### caseEPackage

    public T caseEPackage(EPackage object)

  Returns the result of interpreting the object as an instance of 'EPackage'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EPackage'.
  See Also:
    `doSwitch(EObject)`

### caseEFactory

    public T caseEFactory(EFactory object)

  Returns the result of interpreting the object as an instance of 'EFactory'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EFactory'.
  See Also:
    `doSwitch(EObject)`

### caseEEnumLiteral

    public T caseEEnumLiteral(EEnumLiteral object)

  Returns the result of interpreting the object as an instance of 'EEnum Literal'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EEnum Literal'.
  See Also:
    `doSwitch(EObject)`

### caseEEnum

    public T caseEEnum(EEnum object)

  Returns the result of interpreting the object as an instance of 'EEnum'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EEnum'.
  See Also:
    `doSwitch(EObject)`

### caseEReference

    public T caseEReference(EReference object)

  Returns the result of interpreting the object as an instance of 'EReference'. This implementation returns null; returning a non-null result will terminate the switch.

  Parameters:
    `object` - the target of the switch.
  Returns:
    the result of interpreting the object as an instance of 'EReference'.
  See Also:
    `doSwitch(EObject)`

Copyright 2001-2006 IBM Corporation and others. All Rights Reserved.