## org.eclipse.emf.compare.diff.metamodel.util
Class DiffSwitch<T>

    java.lang.Object
      org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch<T>

    public class DiffSwitch<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:
  `DiffPackage`

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

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

Method Summary
`T` `caseAbstractDiffExtension(AbstractDiffExtension object)` Returns the result of interpreting the object as an instance of 'Abstract Diff Extension'
`T` `caseAttributeChange(AttributeChange object)` Returns the result of interpreting the object as an instance of 'Attribute Change'.
`T` `caseAttributeChangeLeftTarget(AttributeChangeLeftTarget object)` Returns the result of interpreting the object as an instance of 'Attribute Change Left Target'
`T` `caseAttributeChangeRightTarget(AttributeChangeRightTarget object)` Returns the result of interpreting the object as an instance of 'Attribute Change Right Target'
`T` `caseComparisonResourceSetSnapshot(ComparisonResourceSetSnapshot object)` Returns the result of interpreting the object as an instance of 'Comparison Resource Set Snapshot'
`T` `caseComparisonResourceSnapshot(ComparisonResourceSnapshot object)` Returns the result of interpreting the object as an instance of 'Comparison Snapshot'.
`T` `caseComparisonSnapshot(ComparisonSnapshot object)` Returns the result of interpreting the object as an instance of 'Comparison Snapshot'.
`T` `caseConflictingDiffElement(ConflictingDiffElement object)` Returns the result of interpreting the object as an instance of 'Conflicting Diff Element'
`T` `caseDiffElement(DiffElement object)` Returns the result of interpreting the object as an instance of 'Element'
`T` `caseDiffGroup(DiffGroup object)` Returns the result of interpreting the object as an instance of 'Group'
`T` `caseDiffModel(DiffModel object)` Returns the result of interpreting the object as an instance of 'Model'
`T` `caseDiffResourceSet(DiffResourceSet object)` Returns the result of interpreting the object as an instance of 'Resource Set'.
`T` `caseModelElementChange(ModelElementChange object)` Returns the result of interpreting the object as an instance of 'Model Element Change'.
`T` `caseModelElementChangeLeftTarget(ModelElementChangeLeftTarget object)` Returns the result of interpreting the object as an instance of 'Model Element Change Left Target'
`T` `caseModelElementChangeRightTarget(ModelElementChangeRightTarget object)` Returns the result of interpreting the object as an instance of 'Model Element Change Right Target'
`T` `caseMoveModelElement(MoveModelElement object)` Returns the result of interpreting the object as an instance of 'Move Model Element'.
`T` `caseReferenceChange(ReferenceChange object)` Returns the result of interpreting the object as an instance of 'Reference Change'.
`T` `caseReferenceChangeLeftTarget(ReferenceChangeLeftTarget object)` Returns the result of interpreting the object as an instance of 'Reference Change Left Target'
`T` `caseReferenceChangeRightTarget(ReferenceChangeRightTarget object)` Returns the result of interpreting the object as an instance of 'Reference Change Right Target'
`T` `caseReferenceOrderChange(ReferenceOrderChange object)` Returns the result of interpreting the object as an instance of 'Reference Order Change'
`T` `caseResourceDependencyChange(ResourceDependencyChange object)` Returns the result of interpreting the object as an instance of 'Resource Dependency Change'
`T` `caseResourceDependencyChangeLeftTarget(ResourceDependencyChangeLeftTarget object)` Returns the result of interpreting the object as an instance of 'Resource Dependency Change Left Target'
`T` `caseResourceDependencyChangeRightTarget(ResourceDependencyChangeRightTarget object)` Returns the result of interpreting the object as an instance of 'Resource Dependency Change Right Target'
`T` `caseResourceDiff(ResourceDiff object)` Returns the result of interpreting the object as an instance of 'Resource Diff'.
`T` `caseUpdateAttribute(UpdateAttribute object)` Returns the result of interpreting the object as an instance of 'Update Attribute'.
`T` `caseUpdateContainmentFeature(UpdateContainmentFeature object)` Returns the result of interpreting the object as an instance of 'Update Containment Feature'
`T` `caseUpdateModelElement(UpdateModelElement object)` Returns the result of interpreting the object as an instance of 'Update Model Element'.
`T` `caseUpdateReference(UpdateReference object)` Returns the result of interpreting the object as an instance of 'Update Reference'.
`T` `defaultCase(org.eclipse.emf.ecore.EObject object)` Returns the result of interpreting the object as an instance of 'EObject'
`protected T` `doSwitch(org.eclipse.emf.ecore.EClass theEClass, org.eclipse.emf.ecore.EObject theEObject)` Calls `caseXXX` for each class of the model until one returns a non null result; it yields that result
`T` `doSwitch(org.eclipse.emf.ecore.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, org.eclipse.emf.ecore.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 DiffPackage modelPackage

  The cached model package

Constructor Detail

### DiffSwitch

    public DiffSwitch()

  Creates an instance of the switch.

Method Detail

### caseAbstractDiffExtension

    public T caseAbstractDiffExtension(AbstractDiffExtension object)

  Returns the result of interpreting the object as an instance of 'Abstract Diff Extension'. 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 'Abstract Diff Extension'.
  See Also:
    `doSwitch(EObject)`

### caseResourceDiff

    public T caseResourceDiff(ResourceDiff object)

  Returns the result of interpreting the object as an instance of 'Resource Diff'. 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 'Resource Diff'.
  See Also:
    `doSwitch(EObject)`

### caseResourceDependencyChange

    public T caseResourceDependencyChange(ResourceDependencyChange object)

  Returns the result of interpreting the object as an instance of 'Resource Dependency Change'. 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 'Resource Dependency Change'.
  See Also:
    `doSwitch(EObject)`

### caseResourceDependencyChangeLeftTarget

    public T caseResourceDependencyChangeLeftTarget(ResourceDependencyChangeLeftTarget object)

  Returns the result of interpreting the object as an instance of 'Resource Dependency Change Left Target'. 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 'Resource Dependency Change Left Target'.
  See Also:
    `doSwitch(EObject)`

### caseResourceDependencyChangeRightTarget

    public T caseResourceDependencyChangeRightTarget(ResourceDependencyChangeRightTarget object)

  Returns the result of interpreting the object as an instance of 'Resource Dependency Change Right Target'. 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 'Resource Dependency Change Right Target'.
  See Also:
    `doSwitch(EObject)`

### caseAttributeChange

    public T caseAttributeChange(AttributeChange object)

  Returns the result of interpreting the object as an instance of 'Attribute Change'. 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 'Attribute Change'.
  See Also:
    `doSwitch(EObject)`

### caseAttributeChangeLeftTarget

    public T caseAttributeChangeLeftTarget(AttributeChangeLeftTarget object)

  Returns the result of interpreting the object as an instance of 'Attribute Change Left Target'. 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 'Attribute Change Left Target'.
  See Also:
    `doSwitch(EObject)`

### caseAttributeChangeRightTarget

    public T caseAttributeChangeRightTarget(AttributeChangeRightTarget object)

  Returns the result of interpreting the object as an instance of 'Attribute Change Right Target'. 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 'Attribute Change Right Target'.
  See Also:
    `doSwitch(EObject)`

### caseConflictingDiffElement

    public T caseConflictingDiffElement(ConflictingDiffElement object)

  Returns the result of interpreting the object as an instance of 'Conflicting Diff 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 'Conflicting Diff Element'.
  See Also:
    `doSwitch(EObject)`

### caseDiffElement

    public T caseDiffElement(DiffElement object)

  Returns the result of interpreting the object as an instance of '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 'Element'.
  See Also:
    `doSwitch(EObject)`

### caseDiffGroup

    public T caseDiffGroup(DiffGroup object)

  Returns the result of interpreting the object as an instance of 'Group'. 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 'Group'.
  See Also:
    `doSwitch(EObject)`

### caseComparisonSnapshot

    public T caseComparisonSnapshot(ComparisonSnapshot object)

  Returns the result of interpreting the object as an instance of 'Comparison Snapshot'. 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 'Comparison Snapshot'.
  See Also:
    `doSwitch(EObject)`

### caseComparisonResourceSnapshot

    public T caseComparisonResourceSnapshot(ComparisonResourceSnapshot object)

  Returns the result of interpreting the object as an instance of 'Comparison Snapshot'. 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 'Comparison Snapshot'.
  See Also:
    `doSwitch(EObject)`

### caseComparisonResourceSetSnapshot

    public T caseComparisonResourceSetSnapshot(ComparisonResourceSetSnapshot object)

  Returns the result of interpreting the object as an instance of 'Comparison Resource Set Snapshot'. 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 'Comparison Resource Set Snapshot'.
  See Also:
    `doSwitch(EObject)`

### caseDiffModel

    public T caseDiffModel(DiffModel object)

  Returns the result of interpreting the object as an instance of 'Model'. 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 'Model'.
  See Also:
    `doSwitch(EObject)`

### caseDiffResourceSet

    public T caseDiffResourceSet(DiffResourceSet object)

  Returns the result of interpreting the object as an instance of 'Resource Set'. 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 'Resource Set'.
  See Also:
    `doSwitch(EObject)`

### caseModelElementChange

    public T caseModelElementChange(ModelElementChange object)

  Returns the result of interpreting the object as an instance of 'Model Element Change'. 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 'Model Element Change'.
  See Also:
    `doSwitch(EObject)`

### caseModelElementChangeLeftTarget

    public T caseModelElementChangeLeftTarget(ModelElementChangeLeftTarget object)

  Returns the result of interpreting the object as an instance of 'Model Element Change Left Target'. 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 'Model Element Change Left Target'.
  See Also:
    `doSwitch(EObject)`

### caseModelElementChangeRightTarget

    public T caseModelElementChangeRightTarget(ModelElementChangeRightTarget object)

  Returns the result of interpreting the object as an instance of 'Model Element Change Right Target'. 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 'Model Element Change Right Target'.
  See Also:
    `doSwitch(EObject)`

### caseMoveModelElement

    public T caseMoveModelElement(MoveModelElement object)

  Returns the result of interpreting the object as an instance of 'Move Model 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 'Move Model Element'.
  See Also:
    `doSwitch(EObject)`

### caseUpdateContainmentFeature

    public T caseUpdateContainmentFeature(UpdateContainmentFeature object)

  Returns the result of interpreting the object as an instance of 'Update Containment 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 'Update Containment Feature'.
  See Also:
    `doSwitch(EObject)`

### caseReferenceChange

    public T caseReferenceChange(ReferenceChange object)

  Returns the result of interpreting the object as an instance of 'Reference Change'. 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 'Reference Change'.
  See Also:
    `doSwitch(EObject)`

### caseReferenceChangeLeftTarget

    public T caseReferenceChangeLeftTarget(ReferenceChangeLeftTarget object)

  Returns the result of interpreting the object as an instance of 'Reference Change Left Target'. 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 'Reference Change Left Target'.
  See Also:
    `doSwitch(EObject)`

### caseReferenceChangeRightTarget

    public T caseReferenceChangeRightTarget(ReferenceChangeRightTarget object)

  Returns the result of interpreting the object as an instance of 'Reference Change Right Target'. 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 'Reference Change Right Target'.
  See Also:
    `doSwitch(EObject)`

### caseUpdateAttribute

    public T caseUpdateAttribute(UpdateAttribute object)

  Returns the result of interpreting the object as an instance of 'Update Attribute'. 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 'Update Attribute'.
  See Also:
    `doSwitch(EObject)`

### caseUpdateModelElement

    public T caseUpdateModelElement(UpdateModelElement object)

  Returns the result of interpreting the object as an instance of 'Update Model 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 'Update Model Element'.
  See Also:
    `doSwitch(EObject)`

### caseUpdateReference

    public T caseUpdateReference(UpdateReference object)

  Returns the result of interpreting the object as an instance of 'Update Reference'. 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 'Update Reference'.
  See Also:
    `doSwitch(EObject)`

### caseReferenceOrderChange

    public T caseReferenceOrderChange(ReferenceOrderChange object)

  Returns the result of interpreting the object as an instance of 'Reference Order Change'. 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 'Reference Order Change'.
  See Also:
    `doSwitch(EObject)`

### defaultCase

    public T defaultCase(org.eclipse.emf.ecore.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)`

### doSwitch

    public T doSwitch(org.eclipse.emf.ecore.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(org.eclipse.emf.ecore.EClass theEClass,
                         org.eclipse.emf.ecore.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,
                         org.eclipse.emf.ecore.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.

Copyright 2006 IBM Corporation and others. All Rights Reserved.