## org.metaabm.util
Class MetaABMSwitch<T>

    java.lang.Object
      org.metaabm.util.MetaABMSwitch<T>

Direct Known Subclasses:
  SdItemProviderAdapterFactory.MetaABMChildCreationExtender.CreationSwitch

    public class MetaABMSwitch<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:
  `MetaABMPackage`

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

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

Method Summary
`T` `caseIAct(IAct object)` Returns the result of interpreting the object as an instance of 'IAct'.
`T` `caseIAgentChild(IAgentChild object)` Returns the result of interpreting the object as an instance of 'IAgent Child'.
`T` `caseIArtifact(IArtifact object)` Returns the result of interpreting the object as an instance of 'IArtifact'.
`T` `caseIAttributeChild(IAttributeChild object)` Returns the result of interpreting the object as an instance of 'IAttribute Child'.
`T` `caseIID(IID object)` Returns the result of interpreting the object as an instance of 'IID'.
`T` `caseIModelExtension(IModelExtension object)` Returns the result of interpreting the object as an instance of 'IModel Extension'.
`T` `caseITyped(ITyped object)` Returns the result of interpreting the object as an instance of 'ITyped'.
`T` `caseITypedArray(ITypedArray object)` Returns the result of interpreting the object as an instance of 'ITyped Array'.
`T` `caseIValue(IValue object)` Returns the result of interpreting the object as an instance of 'IValue'.
`T` `caseSActable(SActable object)` Returns the result of interpreting the object as an instance of 'SActable'.
`T` `caseSAgent(SAgent object)` Returns the result of interpreting the object as an instance of 'SAgent'.
`T` `caseSAttribute(SAttribute object)` Returns the result of interpreting the object as an instance of 'SAttribute'.
`T` `caseSAttributeArray(SAttributeArray object)` Returns the result of interpreting the object as an instance of 'SAttribute Array'.
`T` `caseSAttributed(SAttributed object)` Returns the result of interpreting the object as an instance of 'SAttributed'.
`T` `caseSContext(SContext object)` Returns the result of interpreting the object as an instance of 'SContext'.
`T` `caseSContinuousSpace(SContinuousSpace object)` Returns the result of interpreting the object as an instance of 'SContinuous Space'.
`T` `caseSGeography(SGeography object)` Returns the result of interpreting the object as an instance of 'SGeography'.
`T` `caseSGrid(SGrid object)` Returns the result of interpreting the object as an instance of 'SGrid'.
`T` `caseSImplementation(SImplementation object)` Returns the result of interpreting the object as an instance of 'SImplementation'.
`T` `caseSImplemented(SImplemented object)` Returns the result of interpreting the object as an instance of 'SImplemented'.
`T` `caseSNamed(SNamed object)` Returns the result of interpreting the object as an instance of 'SNamed'.
`T` `caseSNDimensional(SNDimensional object)` Returns the result of interpreting the object as an instance of 'SN Dimensional'.
`T` `caseSNetwork(SNetwork object)` Returns the result of interpreting the object as an instance of 'SNetwork'.
`T` `caseSProjection(SProjection object)` Returns the result of interpreting the object as an instance of 'SProjection'.
`T` `caseSState(SState object)` Returns the result of interpreting the object as an instance of 'SState'.
`T` `caseSStateValue(SStateValue object)` Returns the result of interpreting the object as an instance of 'SState Value'.
`T` `caseSStyle(SStyle object)` Returns the result of interpreting the object as an instance of 'SStyle'.
`T` `caseSStyle2D(SStyle2D object)` Returns the result of interpreting the object as an instance of 'SStyle2 D'.
`T` `caseSStyle3D(SStyle3D object)` Returns the result of interpreting the object as an instance of 'SStyle3 D'.
`T` `caseSStyleShape(SStyleShape object)` Returns the result of interpreting the object as an instance of 'SStyle Shape'.
`T` `caseSValueLayer(SValueLayer object)` Returns the result of interpreting the object as an instance of 'SValue Layer'.
`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 MetaABMPackage modelPackage

  The cached model package

Constructor Detail

### MetaABMSwitch

    public MetaABMSwitch()

  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.

### caseIID

    public T caseIID(IID object)

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

### caseITyped

    public T caseITyped(ITyped object)

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

### caseITypedArray

    public T caseITypedArray(ITypedArray object)

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

### caseIValue

    public T caseIValue(IValue object)

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

### caseIArtifact

    public T caseIArtifact(IArtifact object)

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

### caseIAct

    public T caseIAct(IAct object)

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

### caseSNamed

    public T caseSNamed(SNamed object)

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

### caseSAttributed

    public T caseSAttributed(SAttributed object)

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

### caseSAttribute

    public T caseSAttribute(SAttribute object)

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

### caseSAttributeArray

    public T caseSAttributeArray(SAttributeArray object)

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

### caseSAgent

    public T caseSAgent(SAgent object)

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

### caseSContext

    public T caseSContext(SContext object)

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

### caseSProjection

    public T caseSProjection(SProjection object)

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

### caseSNDimensional

    public T caseSNDimensional(SNDimensional object)

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

### caseSContinuousSpace

    public T caseSContinuousSpace(SContinuousSpace object)

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

### caseSGrid

    public T caseSGrid(SGrid object)

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

### caseSNetwork

    public T caseSNetwork(SNetwork object)

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

### caseSGeography

    public T caseSGeography(SGeography object)

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

### caseSValueLayer

    public T caseSValueLayer(SValueLayer object)

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

### caseSStyle

    public T caseSStyle(SStyle object)

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

### caseSStyle3D

    public T caseSStyle3D(SStyle3D object)

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

### caseSStyle2D

    public T caseSStyle2D(SStyle2D object)

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

### caseSStyleShape

    public T caseSStyleShape(SStyleShape object)

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

### caseSImplemented

    public T caseSImplemented(SImplemented object)

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

### caseSImplementation

    public T caseSImplementation(SImplementation object)

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

### caseIAttributeChild

    public T caseIAttributeChild(IAttributeChild object)

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

### caseSState

    public T caseSState(SState object)

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

### caseSStateValue

    public T caseSStateValue(SStateValue object)

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

### caseSActable

    public T caseSActable(SActable object)

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