org.eclipse.mtl.util
Class MtlSwitch<T>

java.lang.Object
  extended by org.eclipse.mtl.util.MtlSwitch<T>

public class MtlSwitch<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:
MtlPackage

Field Summary
protected static MtlPackage modelPackage
          The cached model package
 
Constructor Summary
MtlSwitch()
          Creates an instance of the switch.
 
Method Summary
 T caseASTNode(org.eclipse.ocl.utilities.ASTNode object)
          Returns the result of interpreting the object as an instance of ' AST Node'.
 T caseBlock(Block object)
          Returns the result of interpreting the object as an instance of 'Block'.
 T caseEModelElement(org.eclipse.emf.ecore.EModelElement object)
          Returns the result of interpreting the object as an instance of ' EModel Element'.
 T caseENamedElement(org.eclipse.emf.ecore.ENamedElement object)
          Returns the result of interpreting the object as an instance of ' ENamed Element'.
 T caseEPackage(org.eclipse.emf.ecore.EPackage object)
          Returns the result of interpreting the object as an instance of ' EPackage'.
 T caseETypedElement(org.eclipse.emf.ecore.ETypedElement object)
          Returns the result of interpreting the object as an instance of ' ETyped Element'.
 T caseFileBlock(FileBlock object)
          Returns the result of interpreting the object as an instance of ' File Block'.
 T caseForBlock(ForBlock object)
          Returns the result of interpreting the object as an instance of ' For Block'.
 T caseIfBlock(IfBlock object)
          Returns the result of interpreting the object as an instance of ' If Block'.
 T caseInitSection(InitSection object)
          Returns the result of interpreting the object as an instance of ' Init Section'.
 T caseLetBlock(LetBlock object)
          Returns the result of interpreting the object as an instance of ' Let Block'.
 T caseMacro(Macro object)
          Returns the result of interpreting the object as an instance of 'Macro'.
 T caseMacroInvocation(MacroInvocation object)
          Returns the result of interpreting the object as an instance of ' Macro Invocation'.
 T caseModule(Module object)
          Returns the result of interpreting the object as an instance of 'Module'.
 T caseModuleElement(ModuleElement object)
          Returns the result of interpreting the object as an instance of ' Module Element'.
 T caseOCLExpression_1(org.eclipse.ocl.ecore.OCLExpression object)
          Returns the result of interpreting the object as an instance of ' OCL Expression'.
<C> T
caseOCLExpression(org.eclipse.ocl.expressions.OCLExpression<C> object)
          Returns the result of interpreting the object as an instance of ' OCL Expression'.
 T caseProtectedAreaBlock(ProtectedAreaBlock object)
          Returns the result of interpreting the object as an instance of ' Protected Area Block'.
 T caseQuery(Query object)
          Returns the result of interpreting the object as an instance of 'Query'.
 T caseQueryInvocation(QueryInvocation object)
          Returns the result of interpreting the object as an instance of ' Query Invocation'.
 T caseTemplate(Template object)
          Returns the result of interpreting the object as an instance of ' Template'.
 T caseTemplateExpression(TemplateExpression object)
          Returns the result of interpreting the object as an instance of ' Template Expression'.
 T caseTemplateInvocation(TemplateInvocation object)
          Returns the result of interpreting the object as an instance of ' Template Invocation'.
 T caseTraceBlock(TraceBlock object)
          Returns the result of interpreting the object as an instance of ' Trace Block'.
<C> T
caseTypedElement(org.eclipse.ocl.utilities.TypedElement<C> object)
          Returns the result of interpreting the object as an instance of ' Typed Element'.
 T caseTypedModel(TypedModel object)
          Returns the result of interpreting the object as an instance of ' Typed Model'.
 T caseVisitable(org.eclipse.ocl.utilities.Visitable object)
          Returns the result of interpreting the object as an instance of ' Visitable'.
 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 MtlPackage modelPackage
The cached model package

Constructor Detail

MtlSwitch

public MtlSwitch()
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.

caseModule

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

caseModuleElement

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

caseTemplateExpression

public T caseTemplateExpression(TemplateExpression object)
Returns the result of interpreting the object as an instance of ' Template Expression'. 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 ' Template Expression'.
See Also:
doSwitch(EObject)

caseBlock

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

caseInitSection

public T caseInitSection(InitSection object)
Returns the result of interpreting the object as an instance of ' Init Section'. 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 ' Init Section'.
See Also:
doSwitch(EObject)

caseTemplate

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

caseTemplateInvocation

public T caseTemplateInvocation(TemplateInvocation object)
Returns the result of interpreting the object as an instance of ' Template Invocation'. 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 ' Template Invocation'.
See Also:
doSwitch(EObject)

caseQuery

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

caseQueryInvocation

public T caseQueryInvocation(QueryInvocation object)
Returns the result of interpreting the object as an instance of ' Query Invocation'. 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 ' Query Invocation'.
See Also:
doSwitch(EObject)

caseProtectedAreaBlock

public T caseProtectedAreaBlock(ProtectedAreaBlock object)
Returns the result of interpreting the object as an instance of ' Protected Area Block'. 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 ' Protected Area Block'.
See Also:
doSwitch(EObject)

caseForBlock

public T caseForBlock(ForBlock object)
Returns the result of interpreting the object as an instance of ' For Block'. 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 ' For Block'.
See Also:
doSwitch(EObject)

caseIfBlock

public T caseIfBlock(IfBlock object)
Returns the result of interpreting the object as an instance of ' If Block'. 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 ' If Block'.
See Also:
doSwitch(EObject)

caseLetBlock

public T caseLetBlock(LetBlock object)
Returns the result of interpreting the object as an instance of ' Let Block'. 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 ' Let Block'.
See Also:
doSwitch(EObject)

caseFileBlock

public T caseFileBlock(FileBlock object)
Returns the result of interpreting the object as an instance of ' File Block'. 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 ' File Block'.
See Also:
doSwitch(EObject)

caseTraceBlock

public T caseTraceBlock(TraceBlock object)
Returns the result of interpreting the object as an instance of ' Trace Block'. 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 ' Trace Block'.
See Also:
doSwitch(EObject)

caseMacro

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

caseMacroInvocation

public T caseMacroInvocation(MacroInvocation object)
Returns the result of interpreting the object as an instance of ' Macro Invocation'. 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 ' Macro Invocation'.
See Also:
doSwitch(EObject)

caseTypedModel

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

caseEModelElement

public T caseEModelElement(org.eclipse.emf.ecore.EModelElement object)
Returns the result of interpreting the object as an instance of ' EModel 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 ' EModel Element'.
See Also:
doSwitch(EObject)

caseENamedElement

public T caseENamedElement(org.eclipse.emf.ecore.ENamedElement object)
Returns the result of interpreting the object as an instance of ' ENamed 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 ' ENamed Element'.
See Also:
doSwitch(EObject)

caseEPackage

public T caseEPackage(org.eclipse.emf.ecore.EPackage object)
Returns the result of interpreting the object as an instance of ' EPackage'. 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 ' EPackage'.
See Also:
doSwitch(EObject)

caseASTNode

public T caseASTNode(org.eclipse.ocl.utilities.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)

caseETypedElement

public T caseETypedElement(org.eclipse.emf.ecore.ETypedElement object)
Returns the result of interpreting the object as an instance of ' ETyped 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 ' ETyped Element'.
See Also:
doSwitch(EObject)

caseTypedElement

public <C> T caseTypedElement(org.eclipse.ocl.utilities.TypedElement<C> object)
Returns the result of interpreting the object as an instance of ' Typed 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 ' Typed Element'.
See Also:
doSwitch(EObject)

caseVisitable

public T caseVisitable(org.eclipse.ocl.utilities.Visitable object)
Returns the result of interpreting the object as an instance of ' Visitable'. 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 ' Visitable'.
See Also:
doSwitch(EObject)

caseOCLExpression

public <C> T caseOCLExpression(org.eclipse.ocl.expressions.OCLExpression<C> object)
Returns the result of interpreting the object as an instance of ' OCL Expression'. 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 ' OCL Expression'.
See Also:
doSwitch(EObject)

caseOCLExpression_1

public T caseOCLExpression_1(org.eclipse.ocl.ecore.OCLExpression object)
Returns the result of interpreting the object as an instance of ' OCL Expression'. 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 ' OCL Expression'.
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)

Copyright 2008 Obeo
All Rights Reserved.