## org.eclipse.ocl.types.util
Class TypesSwitch<T>

    java.lang.Object
      org.eclipse.ocl.types.util.TypesSwitch<T>

    public class TypesSwitch<T>

extends 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:
  `TypesPackage`

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

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

Method Summary

`

`<O> T`

`

`caseAnyType(AnyType<O> object)`
Returns the result of interpreting the object as an instance of 'Any Type'

`T` `caseASTNode(ASTNode object)` Returns the result of interpreting the object as an instance of 'AST Node'

`

`<C,O> T`

`

`caseBagType(BagType<C,O> object)`
Returns the result of interpreting the object as an instance of 'Bag Type'

`

`<C,O> T`

`

`caseCollectionType(CollectionType<C,O> object)`
Returns the result of interpreting the object as an instance of 'Collection Type'

`T` `caseElementType(ElementType object)` Returns the result of interpreting the object as an instance of 'Element Type'

`

`<O> T`

`

`caseInvalidType(InvalidType<O> object)`
Returns the result of interpreting the object as an instance of 'Invalid Type'

`

`<C,O,P> T`

`

`caseMessageType(MessageType<C,O,P> object)`
Returns the result of interpreting the object as an instance of 'Message Type'

`

`<C,O> T`

`

`caseOrderedSetType(OrderedSetType<C,O> object)`
Returns the result of interpreting the object as an instance of 'Ordered Set Type'

`

`<O> T`

`

`casePredefinedType(PredefinedType<O> object)`
Returns the result of interpreting the object as an instance of 'Predefined Type'

`

`<O> T`

`

`casePrimitiveType(PrimitiveType<O> object)`
Returns the result of interpreting the object as an instance of 'Primitive Type'

`

`<C,O> T`

`

`caseSequenceType(SequenceType<C,O> object)`
Returns the result of interpreting the object as an instance of 'Sequence Type'

`

`<C,O> T`

`

`caseSetType(SetType<C,O> object)`
Returns the result of interpreting the object as an instance of 'Set Type'

`

`<O,P> T`

`

`caseTupleType(TupleType<O,P> object)`
Returns the result of interpreting the object as an instance of 'Tuple Type'

`T` `caseTypedASTNode(TypedASTNode object)` Returns the result of interpreting the object as an instance of 'Typed AST Node'

`

`<C,O> T`

`

`caseTypeType(TypeType<C,O> object)`
Returns the result of interpreting the object as an instance of 'Type Type'

`

`<O> T`

`

`caseVoidType(VoidType<O> object)`
Returns the result of interpreting the object as an instance of 'Void Type'

`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
`protected T` `doSwitchSuperTypes(EClass theEClass, EObject theEObject)`

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

Field Detail

### modelPackage

    protected static TypesPackage modelPackage

  The cached model package

Constructor Detail

### TypesSwitch

    public TypesSwitch()

  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.

### doSwitchSuperTypes

    protected T doSwitchSuperTypes(EClass theEClass,
                                   EObject theEObject)

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

### caseAnyType

    public <O> T caseAnyType(AnyType<O> object)

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

### caseBagType

    public <C,O> T caseBagType(BagType<C,O> object)

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

### caseCollectionType

    public <C,O> T caseCollectionType(CollectionType<C,O> object)

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

### caseElementType

    public T caseElementType(ElementType object)

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

### caseInvalidType

    public <O> T caseInvalidType(InvalidType<O> object)

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

### caseMessageType

    public <C,O,P> T caseMessageType(MessageType<C,O,P> object)

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

### caseOrderedSetType

    public <C,O> T caseOrderedSetType(OrderedSetType<C,O> object)

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

### casePrimitiveType

    public <O> T casePrimitiveType(PrimitiveType<O> object)

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

### caseSequenceType

    public <C,O> T caseSequenceType(SequenceType<C,O> object)

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

### caseSetType

    public <C,O> T caseSetType(SetType<C,O> object)

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

### caseTupleType

    public <O,P> T caseTupleType(TupleType<O,P> object)

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

### caseTypeType

    public <C,O> T caseTypeType(TypeType<C,O> object)

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

### caseVoidType

    public <O> T caseVoidType(VoidType<O> object)

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

### casePredefinedType

    public <O> T casePredefinedType(PredefinedType<O> object)

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

### caseASTNode

    public T caseASTNode(ASTNode object)

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

### caseTypedASTNode

    public T caseTypedASTNode(TypedASTNode object)

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

Copyright 2002, 2007 IBM Corporation and others. All Rights Reserved.