org.eclipse.hyades.automation.client
Interface AutomationClient
- All Superinterfaces:
- Service.Discoverable, Service.Executable, Service.Requestable
- All Known Implementing Classes:
- AutomationClient.Default
public interface AutomationClient
- extends Service.Discoverable, Service.Executable, Service.Requestable
The automation client is the client-side intrastructure that allows easy
automation of automatable published services and is the primary access-point
for all client adapters. A client adapter allows for the adaptation of a
particular client's invocation paradigm into the standard expected calls.
These adapted calls then trigger an appropriate invocation of the automation
server using the Eclipse headless mode feature from the command-line (or
other methods such as directly communicating with the Eclipse starter
platform class).
The automation client can launch another Java VM process that is independent
of the automation launcher's process. This Java VM has its own classpath and
is the heavyweight component of the two key automation components. The
automation launcher is the lightweight component of the pair having few
dependencies and abstracting the complexities and need to understand Eclipse
headless mode operation. It also shields clients from the actual components
servicing the automation requests and therefore also protects the automation
server's ability to change over time without clients having to change (given
there is still a mapping from client request to server functionality main-
tained).
The automation client can also sit in-process with the Eclipse instance that
hosts the automation server by constructing and configuring the automation
client appropriately.
The automation client is associated with one and only one root, to automate
instances of TPTP rooted at different locations create a new automation
client via the automation client factory. It will maintain exactly one
instance per root (and per execution strategy). An automation client also is
associated with only one execution strategy -- to establish a client context
that has a different execution strategy one must also create a new automation
client via the factory.
|
Nested Class Summary |
static class |
AutomationClient.Default
The default automation client |
static class |
AutomationClient.Factory
The automation factory provides the public factory methods for all
automation-related elements that provide the ability to substitute the
actual concrete class to be used when creating instances. |
|
Method Summary |
java.lang.String |
getRoot()
The Eclipse root or home directory |
getRoot
java.lang.String getRoot()
- The Eclipse root or home directory
- Returns:
- this determines which Eclipse will be invoked