TPTP 4.6.0 Platform Project
Public API Specification

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
 
Methods inherited from interface org.eclipse.hyades.automation.core.Service.Discoverable
discover, discover
 
Methods inherited from interface org.eclipse.hyades.automation.core.Service.Executable
execute, execute
 
Methods inherited from interface org.eclipse.hyades.automation.core.Service.Requestable
request
 

Method Detail

getRoot

java.lang.String getRoot()
The Eclipse root or home directory

Returns:
this determines which Eclipse will be invoked

TPTP 4.6.0 Platform Project
Public API Specification