TPTP 4.6.0 Platform Project
Internal API Specification

org.eclipse.hyades.internal.execution.core.file
Interface IFileServerCommandFactory

All Known Implementing Classes:
FileServerCommandFactory

public interface IFileServerCommandFactory

Interface for file server command factories -- used by both the client and server sides of the file service implementation. The server side uses the create file server command method while the client side of this mechanism uses the rest. File server commands have client and server side personalities that in effect, change the class of the command at run-time (the state pattern is implemented in all file server commands, one state represents the server-side personality and another represents the client-side).


Method Summary
 IDeleteDirectoryCommand createDeleteDirectoryCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList remoteIdentifiers, org.eclipse.core.runtime.IProgressMonitor monitor)
          Create delete directory command for use by file transfer service clients
 IDeleteFileCommand createDeleteFileCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.Cookie cookie, org.eclipse.core.runtime.IProgressMonitor monitor)
          Create delete file command for use by file transfer service clients
 IDeleteFileCommand createDeleteFileCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList remoteIdentifiers, org.eclipse.core.runtime.IProgressMonitor monitor)
          Create delete file command for use by file transfer service clients
 IFileServerCommand createFileServerCommand(java.lang.String identity, ISocketChannel clientChannel)
          Create a file server command to be used by the file transfer service server, all server-side hosted file server commands are created through this method -- the appropriate command to create is identified by the identity argument passed in.
 IGetFileCommand createGetFileCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList localIdentifiers, org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList remoteIdentifiers, org.eclipse.hyades.execution.core.file.IFileManagerExtended.Option[] options, org.eclipse.core.runtime.IProgressMonitor monitor)
          Create get file command for use by file transfer service clients
 IListContentCommand createListContentCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList remoteIdentifiers, org.eclipse.core.runtime.IProgressMonitor monitor)
          Create list content command for use by file transfer service clients, used to list the content of a directory or folder on the remote server
 IModifyPermissionCommand createModifyPermissionCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList remoteIdentifiers, java.lang.String permissionDirective, org.eclipse.core.runtime.IProgressMonitor monitor)
          Create modify permission command for use by file transfer service clients, used to modify the permissions of files on the remote file server
 IPutFileCommand createPutFileCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.Cookie cookie, org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList localIdentifiers, org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList remoteIdentifiers, org.eclipse.hyades.execution.core.file.IFileManagerExtended.Option[] options, org.eclipse.core.runtime.IProgressMonitor monitor)
          Create put file command for use by file transfer service clients
 IQueryServerStatusCommand createQueryServerStatusCommand()
          Create query server status command for use by file transfer service clients, used to query the status of the file server, a simple echo test or equivalent is used as a simple sanity test
 void reset()
          Resets any appropriate resources or connections associated with this factory, cleans out the state as if the factory instance was constructed new
 

Method Detail

createDeleteDirectoryCommand

IDeleteDirectoryCommand createDeleteDirectoryCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList remoteIdentifiers,
                                                     org.eclipse.core.runtime.IProgressMonitor monitor)
                                                     throws ServerNotAvailableException
Create delete directory command for use by file transfer service clients

Parameters:
remoteIdentifiers - the identifiers on the remote server to be deleted
monitor - progress monitor for the delete directory command
Returns:
the delete directory command that is ready to command
Throws:
ServerNotAvailableException

createDeleteFileCommand

IDeleteFileCommand createDeleteFileCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.Cookie cookie,
                                           org.eclipse.core.runtime.IProgressMonitor monitor)
                                           throws ServerNotAvailableException
Create delete file command for use by file transfer service clients

Parameters:
cookie - the cookie to use for identifying the associated file operation that created files, a cookie used for a put file command for example, can then be used to pass in the delete file command -- this will then result in the delete command deleting only the files that were created during the put file command operation, the cookie identifies which files to remove via the remote server process
monitor - progress monitor for the delete file command
Returns:
the delete file command that is ready to command
Throws:
ServerNotAvailableException

createDeleteFileCommand

IDeleteFileCommand createDeleteFileCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList remoteIdentifiers,
                                           org.eclipse.core.runtime.IProgressMonitor monitor)
                                           throws ServerNotAvailableException
Create delete file command for use by file transfer service clients

Parameters:
remoteIdentifiers - the identifiers on the remote server to be deleted
monitor - progress monitor for the delete file command
Returns:
the delete file command that is ready to command
Throws:
ServerNotAvailableException

createFileServerCommand

IFileServerCommand createFileServerCommand(java.lang.String identity,
                                           ISocketChannel clientChannel)
                                           throws InvalidFileServerCommandException
Create a file server command to be used by the file transfer service server, all server-side hosted file server commands are created through this method -- the appropriate command to create is identified by the identity argument passed in. The client channel is passed in, which is the channel to use for communicating with the client-side of the file transfer mechanism. Uses the default classloader to load the file server command.

Parameters:
identity - the identity of the command to create on the server
clientChannel - the channel to use to communicate with the client from the server
Returns:
a file server command for server-side handling
Throws:
InvalidFileServerCommandException
See Also:
#createFileServerCommand(String, ISocketChannel, ClassLoader)

createGetFileCommand

IGetFileCommand createGetFileCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList localIdentifiers,
                                     org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList remoteIdentifiers,
                                     org.eclipse.hyades.execution.core.file.IFileManagerExtended.Option[] options,
                                     org.eclipse.core.runtime.IProgressMonitor monitor)
                                     throws ServerNotAvailableException
Create get file command for use by file transfer service clients

Parameters:
localIdentifiers - the identifiers of the files to be created locally, the destination file identifiers for the transfer
remoteIdentifiers - the identifiers of the files to be transferred from the remote server to the local client, the source file identifiers for the transfer
options - options to configure the get file command behavior
monitor - progress monitor for the get file command operation
Returns:
the get file command that is ready to command
Throws:
ServerNotAvailableException

createListContentCommand

IListContentCommand createListContentCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList remoteIdentifiers,
                                             org.eclipse.core.runtime.IProgressMonitor monitor)
                                             throws ServerNotAvailableException
Create list content command for use by file transfer service clients, used to list the content of a directory or folder on the remote server

Parameters:
remoteIdentifiers - identifies the directories to list the contents of
monitor - progress monitor for the list content command
Returns:
the list content command
Throws:
ServerNotAvailableException

createModifyPermissionCommand

IModifyPermissionCommand createModifyPermissionCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList remoteIdentifiers,
                                                       java.lang.String permissionDirective,
                                                       org.eclipse.core.runtime.IProgressMonitor monitor)
                                                       throws ServerNotAvailableException
Create modify permission command for use by file transfer service clients, used to modify the permissions of files on the remote file server

Parameters:
remoteIdentifiers - the remote identifiers to affect with the modify permission command's operation
permissionDirective - the permission directives to affect the files
monitor - progress monitor for the modify permission command
Returns:
the modify permission command
Throws:
ServerNotAvailableException

createPutFileCommand

IPutFileCommand createPutFileCommand(org.eclipse.hyades.execution.core.file.IFileManagerExtended.Cookie cookie,
                                     org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList localIdentifiers,
                                     org.eclipse.hyades.execution.core.file.IFileManagerExtended.FileIdentifierList remoteIdentifiers,
                                     org.eclipse.hyades.execution.core.file.IFileManagerExtended.Option[] options,
                                     org.eclipse.core.runtime.IProgressMonitor monitor)
                                     throws ServerNotAvailableException
Create put file command for use by file transfer service clients

Parameters:
cookie - the cookie to use for identifying the instance of the command between client and server, for example, the cookie represents an instance of the command on the client and can then be associated with the command on the server that is associated with the same operation
localIdentifiers - the identifiers of the files to be sent to the remote server, the source file identifiers in this operation
remoteIdentifiers - the identifiers of the files to be created on the remote server process, the destination file identifiers in the operation
options - options to configure the put file command behavior
monitor - progress monitor for the put file command
Returns:
the put file command that is ready to command
Throws:
ServerNotAvailableException

createQueryServerStatusCommand

IQueryServerStatusCommand createQueryServerStatusCommand()
                                                         throws ServerNotAvailableException
Create query server status command for use by file transfer service clients, used to query the status of the file server, a simple echo test or equivalent is used as a simple sanity test

Returns:
the query server status command
Throws:
ServerNotAvailableException

reset

void reset()
Resets any appropriate resources or connections associated with this factory, cleans out the state as if the factory instance was constructed new


TPTP 4.6.0 Platform Project
Internal API Specification