org.objectweb.proactive.core.process
Interface ExternalProcess

All Superinterfaces:
java.io.Serializable, UniversalProcess
All Known Subinterfaces:
ExternalProcessDecorator, JVMProcess
All Known Implementing Classes:
AbstractExternalProcess, AbstractExternalProcessDecorator, AbstractListProcessDecorator, JVMProcessImpl, RSHJVMProcess, SSHJVMProcess

public interface ExternalProcess
extends UniversalProcess

A class implementing this interface is able to start a UniversalProcess and to connect its input/output to handlers or to close all streams.


Field Summary
 
Fields inherited from interface org.objectweb.proactive.core.process.UniversalProcess
logger, UNKNOWN_NODE_NUMBER
 
Method Summary
 void closeStream()
          Closes Input, Output, Error stream just after forking this process
 int getCompositionType()
          Returns the type of this process.
 RemoteProcessMessageLogger getErrorMessageLogger()
          Returns the RemoteProcessMessageLogger handling the error stream of the process
 FileTransferWorkShop getFileTransferWorkShopDeploy()
          This method returns a single FileTransferStructure instance for this process.
 FileTransferWorkShop getFileTransferWorkShopRetrieve()
          This method returns a single FileTransferStructure instance for this process.
 RemoteProcessMessageLogger getInputMessageLogger()
          Returns the RemoteProcessMessageLogger handling the input stream of the process
 MessageSink getOutputMessageSink()
          Returns the MessageSink handling the output stream of the process
 void setErrorMessageLogger(RemoteProcessMessageLogger errorMessageLogger)
          sets the RemoteProcessMessageLogger handling the error stream of the process
 void setInputMessageLogger(RemoteProcessMessageLogger inputMessageLogger)
          sets the RemoteProcessMessageLogger handling the input stream of the process
 void setOutputMessageSink(MessageSink outputMessageSink)
          sets the MessageSink handling the output stream of the process
 
Methods inherited from interface org.objectweb.proactive.core.process.UniversalProcess
getCommand, getCommandPath, getEnvironment, getFinalProcess, getHostname, getNodeNumber, getProcessId, getUsername, isFinished, isHierarchical, isStarted, setCommandPath, setEnvironment, setHostname, setUsername, startFileTransfer, startProcess, stopProcess, waitFor
 

Method Detail

closeStream

public void closeStream()
Closes Input, Output, Error stream just after forking this process


getInputMessageLogger

public RemoteProcessMessageLogger getInputMessageLogger()
Returns the RemoteProcessMessageLogger handling the input stream of the process

Returns:
the RemoteProcessMessageLogger handling the input stream of the process

getErrorMessageLogger

public RemoteProcessMessageLogger getErrorMessageLogger()
Returns the RemoteProcessMessageLogger handling the error stream of the process

Returns:
the RemoteProcessMessageLogger handling the error stream of the process

getOutputMessageSink

public MessageSink getOutputMessageSink()
Returns the MessageSink handling the output stream of the process

Returns:
the MessageSink handling the output stream of the process

setInputMessageLogger

public void setInputMessageLogger(RemoteProcessMessageLogger inputMessageLogger)
sets the RemoteProcessMessageLogger handling the input stream of the process

Parameters:
inputMessageLogger - the handler of the input stream of the process

setErrorMessageLogger

public void setErrorMessageLogger(RemoteProcessMessageLogger errorMessageLogger)
sets the RemoteProcessMessageLogger handling the error stream of the process

Parameters:
errorMessageLogger - the handler of the error stream of the process

setOutputMessageSink

public void setOutputMessageSink(MessageSink outputMessageSink)
sets the MessageSink handling the output stream of the process

Parameters:
outputMessageSink - the handler of the output stream of the process

getFileTransferWorkShopDeploy

public FileTransferWorkShop getFileTransferWorkShopDeploy()
This method returns a single FileTransferStructure instance for this process. If many invocations to this method are done, the same instance of FileTransferStructure will be returned. This means, that changes made to the structure will be reflected on all the references obtained through this method for this process. Note that different process do not share a FileTransferStructure, and thus changes made to one will not reflect on the other.


getFileTransferWorkShopRetrieve

public FileTransferWorkShop getFileTransferWorkShopRetrieve()
This method returns a single FileTransferStructure instance for this process. If many invocations to this method are done, the same instance of FileTransferStructure will be returned. This means, that changes made to the structure will be reflected on all the references obtained through this method for this process. Note that different process do not share a FileTransferStructure, and thus changes made to one will not reflect on the other.


getCompositionType

public int getCompositionType()
Returns the type of this process. For processes that does not reference another process, the type is NO_COMPOSITION For other types are APPEND_TO_COMMAND_COMPOSITION or SEND_TO_OUTPUT_STREAM_COMPOSITION or GIVE_COMMAND_AS_PARAMETER or COPY_FILE_AND_APPEND_COMMAND.

Returns:
the type this process.


Copyright 2001-2005 INRIA All Rights Reserved.