public class DefaultController extends java.lang.Object implements IController
Modifier and Type | Field and Description |
---|---|
protected java.util.concurrent.locks.Lock |
_lock |
Constructor and Description |
---|
DefaultController() |
Modifier and Type | Method and Description |
---|---|
void |
attach()
attach to the runtime - called by the runtime during
ACTRRuntime.setController();
|
java.util.concurrent.Future<java.lang.Boolean> |
complete()
complete().get() will block until completeds
|
protected java.lang.Runnable |
createModelRunnable(IModel model,
java.util.concurrent.ExecutorService service) |
protected void |
destroyModelRunnable(IModel model,
java.lang.Runnable runnable) |
void |
detach()
detach the runtime - called by the runtime during
ACTRRuntime.setController(null);
|
java.util.Collection<IModel> |
getRunningModels() |
java.util.Collection<IModel> |
getSuspendedModels() |
java.util.Collection<IModel> |
getTerminatedModels() |
boolean |
isRunning() |
boolean |
isSuspended() |
java.util.concurrent.Future<java.lang.Boolean> |
resume()
resume from a suspend
|
java.util.concurrent.Future<java.lang.Boolean> |
start()
run the models..The runtime is not actually running until at least
one model has finished initialization.
|
java.util.concurrent.Future<java.lang.Boolean> |
start(boolean suspendImmediately)
start the models but suspend at the start of the first cycle
|
protected void |
startModel(IModel model) |
java.util.concurrent.Future<java.lang.Boolean> |
stop()
stop all the current running models at the nearest possible moment.
|
java.util.concurrent.Future<java.lang.Boolean> |
suspend()
pause at the next immediate opportunity
|
protected void |
suspendLocally(IModel model)
provides access to suspension mechanism.
|
java.util.concurrent.Future<java.lang.Boolean> |
terminate()
force all the models to terminate
|
java.util.concurrent.Future<java.lang.Boolean> |
waitForCompletion() |
java.util.concurrent.Future<java.lang.Boolean> |
waitForResumption() |
java.util.concurrent.Future<java.lang.Boolean> |
waitForStart()
returns a future that can be blocked on until the runtime starts fully (i.e.
|
java.util.concurrent.Future<java.lang.Boolean> |
waitForSuspension() |
public void attach()
IController
attach
in interface IController
public void detach()
IController
detach
in interface IController
public java.util.Collection<IModel> getRunningModels()
getRunningModels
in interface IController
public java.util.Collection<IModel> getSuspendedModels()
getSuspendedModels
in interface IController
public java.util.Collection<IModel> getTerminatedModels()
getTerminatedModels
in interface IController
public boolean isRunning()
isRunning
in interface IController
public boolean isSuspended()
isSuspended
in interface IController
public java.util.concurrent.Future<java.lang.Boolean> start()
IController
start
in interface IController
public java.util.concurrent.Future<java.lang.Boolean> start(boolean suspendImmediately)
IController
start
in interface IController
protected void startModel(IModel model)
public java.util.concurrent.Future<java.lang.Boolean> complete()
IController
complete
in interface IController
public java.util.concurrent.Future<java.lang.Boolean> stop()
IController
stop
in interface IController
protected void suspendLocally(IModel model)
public java.util.concurrent.Future<java.lang.Boolean> suspend()
IController
suspend
in interface IController
public java.util.concurrent.Future<java.lang.Boolean> resume()
IController
resume
in interface IController
public java.util.concurrent.Future<java.lang.Boolean> terminate()
IController
terminate
in interface IController
protected java.lang.Runnable createModelRunnable(IModel model, java.util.concurrent.ExecutorService service)
protected void destroyModelRunnable(IModel model, java.lang.Runnable runnable)
public java.util.concurrent.Future<java.lang.Boolean> waitForCompletion()
waitForCompletion
in interface IController
public java.util.concurrent.Future<java.lang.Boolean> waitForResumption()
waitForResumption
in interface IController
public java.util.concurrent.Future<java.lang.Boolean> waitForStart()
IController
waitForStart
in interface IController
public java.util.concurrent.Future<java.lang.Boolean> waitForSuspension()
waitForSuspension
in interface IController