com.hammurapi.reasoning.spi.model.util
Class ModelSwitch<T>

java.lang.Object
  extended by com.hammurapi.reasoning.spi.model.util.ModelSwitch<T>

public class ModelSwitch<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:
ModelPackage

Field Summary
protected static ModelPackage modelPackage
          The cached model package
 
Constructor Summary
ModelSwitch()
          Creates an instance of the switch.
 
Method Summary
 T caseCommonObject(CommonObject object)
          Returns the result of interpreting the object as an instance of 'Common Object'.
 T caseFactory(Factory object)
          Returns the result of interpreting the object as an instance of 'Factory'.
 T caseNamed(Named object)
          Returns the result of interpreting the object as an instance of 'Named'.
 T caseNamedObjectDefinition(NamedObjectDefinition object)
          Returns the result of interpreting the object as an instance of 'Named Object Definition'.
 T caseObjectDefinition(ObjectDefinition object)
          Returns the result of interpreting the object as an instance of 'Object Definition'.
 T casePropertySource(PropertySource object)
          Returns the result of interpreting the object as an instance of 'Property Source'.
 T caseRule(Rule object)
          Returns the result of interpreting the object as an instance of 'Rule'.
 T caseRuleSet(RuleSet object)
          Returns the result of interpreting the object as an instance of 'Rule Set'.
 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 ModelPackage modelPackage
The cached model package

Constructor Detail

ModelSwitch

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

caseRuleSet

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

caseRule

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

caseCommonObject

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

caseFactory

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

caseNamed

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

casePropertySource

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

caseObjectDefinition

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

caseNamedObjectDefinition

public T caseNamedObjectDefinition(NamedObjectDefinition object)
Returns the result of interpreting the object as an instance of 'Named Object Definition'. 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 'Named Object Definition'.
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)