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

java.lang.Object
  extended by 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.