## org.eclipse.amp.amf.sd.util
Class SdSwitch<T>

    java.lang.Object
      org.eclipse.amp.amf.sd.util.SdSwitch<T>

    public class SdSwitch<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:
  `SdPackage`

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

Constructor Summary
`SdSwitch()` Creates an instance of the switch.

Method Summary
`T` `caseIAgentChild(IAgentChild object)` Returns the result of interpreting the object as an instance of 'IAgent Child'.
`T` `caseIModelExtension(IModelExtension object)` Returns the result of interpreting the object as an instance of 'IModel Extension'.
`T` `caseSdAbstractVariable(SdAbstractVariable object)` Returns the result of interpreting the object as an instance of 'Abstract Variable'.
`T` `caseSdAuxVariable(SdAuxVariable object)` Returns the result of interpreting the object as an instance of 'Aux Variable'.
`T` `caseSdConnector(SdConnector object)` Returns the result of interpreting the object as an instance of 'Connector'.
`T` `caseSdEquationVariable(SdEquationVariable object)` Returns the result of interpreting the object as an instance of 'Equation Variable'.
`T` `caseSdFlowVariable(SdFlowVariable object)` Returns the result of interpreting the object as an instance of 'Flow Variable'.
`T` `caseSdGeneratable(SdGeneratable object)` Returns the result of interpreting the object as an instance of 'Generatable'.
`T` `caseSdModel(SdModel object)` Returns the result of interpreting the object as an instance of 'Model'.
`T` `caseSdNamedElement(SdNamedElement object)` Returns the result of interpreting the object as an instance of 'Named Element'.
`T` `caseSdStockVariable(SdStockVariable object)` Returns the result of interpreting the object as an instance of 'Stock Variable'.
`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 SdPackage modelPackage

  The cached model package

Constructor Detail

### SdSwitch

    public SdSwitch()

  Creates an instance of the switch.

Method Detail

### 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.

### caseSdNamedElement

    public T caseSdNamedElement(SdNamedElement object)

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

### caseSdAbstractVariable

    public T caseSdAbstractVariable(SdAbstractVariable object)

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

### caseSdEquationVariable

    public T caseSdEquationVariable(SdEquationVariable object)

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

### caseSdModel

    public T caseSdModel(SdModel 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)`

### caseSdAuxVariable

    public T caseSdAuxVariable(SdAuxVariable object)

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

### caseSdStockVariable

    public T caseSdStockVariable(SdStockVariable object)

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

### caseSdFlowVariable

    public T caseSdFlowVariable(SdFlowVariable object)

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

### caseSdConnector

    public T caseSdConnector(SdConnector object)

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

### caseSdGeneratable

    public T caseSdGeneratable(SdGeneratable object)

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

### caseIModelExtension

    public T caseIModelExtension(IModelExtension object)

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

### caseIAgentChild

    public T caseIAgentChild(IAgentChild object)

  Returns the result of interpreting the object as an instance of 'IAgent Child'. 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 'IAgent Child'.
  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)`