Package org.intocps.maestro.interpreter
Interface ITransitionManager
-
- All Known Implementing Classes:
TransitionManager
public interface ITransitionManager
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceITransitionManager.ISpecificationProviderA specification provider.static interfaceITransitionManager.ITTransitionInfoTransition information.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ITransitionManager.ISpecificationProvidergetSpecificationProvider()Get a provider that can deliver potential new specifications that the manager can transfer into.ITransitionManager.ITTransitionInfogetTransferInfo(org.intocps.maestro.ast.node.ATransferStm node, org.intocps.maestro.interpreter.Context question, 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
-
-
-
Method Detail
-
getTransferInfo
ITransitionManager.ITTransitionInfo getTransferInfo(org.intocps.maestro.ast.node.ATransferStm node, org.intocps.maestro.interpreter.Context question, String transferToName) throws org.intocps.maestro.ast.analysis.AnalysisException
Check if the manager has a new spec available that is type compatible for transfer- Parameters:
node- the transfer node used for locationquestion- 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
void transfer(Interpreter interpreter, ITransitionManager.ITTransitionInfo info) throws org.intocps.maestro.ast.analysis.AnalysisException
Perform the transfer - pausing the current interpretation flow and restarting a new interpreter reusing the context- Parameters:
interpreter- to use for the transferinfo- into to transfer to- Throws:
org.intocps.maestro.ast.analysis.AnalysisException
-
getSpecificationProvider
ITransitionManager.ISpecificationProvider getSpecificationProvider()
Get a provider that can deliver potential new specifications that the manager can transfer into. The same provider must be returned if called twice- Returns:
- a specification provider
-
-