public interface SoftwareProcessDriver extends EntityDriver
EntityDriver
for a SoftwareProcess
.
In many cases it is cleaner to store entity lifecycle effectors (and sometimes other implementations) in a class to
which the entity delegates. Classes implementing this interface provide this delegate, often inheriting utilities
specific to a particular transport (e.g. ssh) shared among many different entities.
In this way, it is also possible for entities to cleanly support multiple mechanisms for start/stop and other methods.Modifier and Type | Method and Description |
---|---|
EntityLocal |
getEntity()
The entity whose components we are controlling.
|
boolean |
isRunning()
Whether the entity components have started.
|
void |
kill()
Kills the process, ungracefully and immediately where possible (e.g.
|
void |
rebind()
Rebinds the driver to a pre-existing software process.
|
void |
restart()
Performs software restart (or queues tasks to do this).
|
void |
start()
Performs software start (or queues tasks to do this)
|
void |
stop()
Performs software stop (or queues tasks to do this)
|
getLocation
EntityLocal getEntity()
getEntity
in interface EntityDriver
boolean isRunning()
void rebind()
void start()
void restart()
Startable.restart()
void stop()
Startable.stop()
void kill()