org.eclipse.hyades.execution.core
Interface IRemoteHyadesComponent

All Superinterfaces:
IExecutionComponent

public interface IRemoteHyadesComponent
extends IExecutionComponent

IRemoteHyadesComponent defines an interface exposed by remote agents that are capable of monitoring a running application.

Version:
0.0.2

Method Summary
 boolean isActive()
          Determine whether this agent is currently active.
 boolean isLocked()
          Determine is this agent is currently attached to a client.
 boolean isMonitored()
          Determine if this agent is currently being monitored.
 void lock(long timeout)
          The lock request will either succeed within the specified timeout, or will throw a TimeoutException.
 void startMonitoring(IChannelReader processor)
          Start monitoring the data output of this IRemoteHyadesComponent using the specified DataProcessor.
 void stopMonitoring()
          Stop monitoring this IRemoteHyadesComponent.
 void unlock()
          Unlocks the component for use by other readers.
 
Methods inherited from interface org.eclipse.hyades.execution.core.IExecutionComponent
addChild, createChild, getChildById, getChildByName, getChildren, getChildren, getChildren, getId, getName, getNode, getParent, getType, getVersion, isDead, isInactive, isReady, isSuspended
 

Method Detail

isActive

public boolean isActive()
Determine whether this agent is currently active.
Returns:
whether this agent is currently active

isMonitored

public boolean isMonitored()
Determine if this agent is currently being monitored.
Returns:
if this agent is currently being monitored

isLocked

public boolean isLocked()
Determine is this agent is currently attached to a client.
Returns:
if this agent is currently attached to a client

lock

public void lock(long timeout)
          throws TimeoutException

The lock request will either succeed within the specified timeout, or will throw a TimeoutException. If the IRemoteHyadesComponent supports multiple readers, it can allow multiple readers to have simultaneous locks.

Parameters:
timeout - The number of milliseconds that during which the lock will attempt to be acquired.
Throws:
TimeoutException - If the lock can not be acquired within the specified timeout.

unlock

public void unlock()
Unlocks the component for use by other readers.

startMonitoring

public void startMonitoring(IChannelReader processor)
                     throws ExecutionComponentStateException

Start monitoring the data output of this IRemoteHyadesComponent using the specified DataProcessor. You must be attached to the IRemoteHyadesComponent before you can start monitoring it.

Parameters:
processor - a reader to process the captured data
Throws:
ExecutionComponentStateException - if the remote hyades component is not in a state that can accept this call.

stopMonitoring

public void stopMonitoring()
                    throws ExecutionComponentStateException
Stop monitoring this IRemoteHyadesComponent.
Throws:
ExecutionComponentStateException - if the remote hyades component is not in a state that can accept this call.