org.eclipse.mtl.cst.util
Class CstSwitch<T>

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

public class CstSwitch<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:
CstPackage

Field Summary
protected static CstPackage modelPackage
          The cached model package
 
Constructor Summary
CstSwitch()
          Creates an instance of the switch.
 
Method Summary
 T caseBlock(Block object)
          Returns the result of interpreting the object as an instance of 'Block'.
 T caseComment(Comment object)
          Returns the result of interpreting the object as an instance of 'Comment'.
 T caseCSTNode(CSTNode object)
          Returns the result of interpreting the object as an instance of 'CST Node'.
 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 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 caseModelExpression(ModelExpression object)
          Returns the result of interpreting the object as an instance of 'Model Expression'.
 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 caseModuleExtendsValue(ModuleExtendsValue object)
          Returns the result of interpreting the object as an instance of 'Module Extends Value'.
 T caseModuleImportsValue(ModuleImportsValue object)
          Returns the result of interpreting the object as an instance of 'Module Imports Value'.
 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 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 caseTemplateOverridesValue(TemplateOverridesValue object)
          Returns the result of interpreting the object as an instance of 'Template Overrides Value'
 T caseTextExpression(TextExpression object)
          Returns the result of interpreting the object as an instance of 'Text Expression'.
 T caseTraceBlock(TraceBlock object)
          Returns the result of interpreting the object as an instance of 'Trace Block'.
 T caseTypedModel(TypedModel object)
          Returns the result of interpreting the object as an instance of 'Typed Model'.
 T caseVariable(Variable object)
          Returns the result of interpreting the object as an instance of '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 CstPackage modelPackage
The cached model package

Constructor Detail

CstSwitch

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

caseCSTNode

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

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)

caseModuleExtendsValue

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

caseModuleImportsValue

public T caseModuleImportsValue(ModuleImportsValue object)
Returns the result of interpreting the object as an instance of 'Module Imports 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 'Module Imports Value'.
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)

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)

caseComment

public T caseComment(Comment object)
Returns the result of interpreting the object as an instance of 'Comment'. 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 'Comment'.
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)

caseTemplateOverridesValue

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

caseVariable

public T caseVariable(Variable object)
Returns the result of interpreting the object as an instance of '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 'Variable'.
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)

caseModelExpression

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

caseTextExpression

public T caseTextExpression(TextExpression object)
Returns the result of interpreting the object as an instance of 'Text 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 'Text 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)

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)

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)

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)

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.