Package org.intocps.maestro.interpreter
Class TransitionManager
java.lang.Object
org.intocps.maestro.interpreter.TransitionManager
- All Implemented Interfaces:
ITransitionManager
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.intocps.maestro.interpreter.ITransitionManager
ITransitionManager.ISpecificationProvider, ITransitionManager.ITTransitionInfo -
Constructor Summary
ConstructorsConstructorDescriptionTransitionManager(ITransitionManager.ISpecificationProvider specificationProvider) -
Method Summary
Modifier and TypeMethodDescriptionGet a provider that can deliver potential new specifications that the manager can transfer into.getTransferInfo(org.intocps.maestro.ast.node.ATransferStm node, org.intocps.maestro.interpreter.Context ctxt, String transferToName) Check if the manager has a new spec available that is type compatible for transfervoidtransfer(Interpreter interpreter, ITransitionManager.ITTransitionInfo info) Perform the transfer - pausing the current interpretation flow and restarting a new interpreter reusing the context
-
Constructor Details
-
TransitionManager
-
-
Method Details
-
getTransferInfo
public ITransitionManager.ITTransitionInfo getTransferInfo(org.intocps.maestro.ast.node.ATransferStm node, org.intocps.maestro.interpreter.Context ctxt, String transferToName) throws org.intocps.maestro.ast.analysis.AnalysisException Description copied from interface:ITransitionManagerCheck if the manager has a new spec available that is type compatible for transfer- Specified by:
getTransferInfoin interfaceITransitionManager- Parameters:
node- the transfer node used for locationctxt- the current context which should be used to check if available identifierstransferToName- name of the spec to transfer to- Returns:
- a transfer object or null if no transfer object is found or matches the desired name
- Throws:
org.intocps.maestro.ast.analysis.AnalysisException
-
transfer
public void transfer(Interpreter interpreter, ITransitionManager.ITTransitionInfo info) throws org.intocps.maestro.ast.analysis.AnalysisException Description copied from interface:ITransitionManagerPerform the transfer - pausing the current interpretation flow and restarting a new interpreter reusing the context- Specified by:
transferin interfaceITransitionManager- Parameters:
interpreter- to use for the transferinfo- into to transfer to- Throws:
org.intocps.maestro.ast.analysis.AnalysisException
-
getSpecificationProvider
Description copied from interface:ITransitionManagerGet a provider that can deliver potential new specifications that the manager can transfer into. The same provider must be returned if called twice- Specified by:
getSpecificationProviderin interfaceITransitionManager- Returns:
- a specification provider
-