Class MultiProtocolOutgoingAdapter
- java.lang.Object
-
- org.eclipse.ecf.provider.filetransfer.outgoing.MultiProtocolOutgoingAdapter
-
- All Implemented Interfaces:
org.eclipse.core.runtime.IAdaptable
,ISendFileTransferContainerAdapter
,ISendFileTransfer
public class MultiProtocolOutgoingAdapter extends Object implements ISendFileTransfer
Multi protocol handler for outgoing file transfer. Multiplexes between Apache httpclient 3.0.1-based file retriever and the URLConnection-based file retriever.
-
-
Constructor Summary
Constructors Constructor Description MultiProtocolOutgoingAdapter()
-
Method Summary
-
-
-
Method Detail
-
getOutgoingNamespace
public Namespace getOutgoingNamespace()
Description copied from interface:ISendFileTransferContainerAdapter
Get namespace for outgoing file transfer.- Specified by:
getOutgoingNamespace
in interfaceISendFileTransferContainerAdapter
- Returns:
- Namespace for outgoing IFileID instances. Will not return
null
.
-
setConnectContextForAuthentication
public void setConnectContextForAuthentication(IConnectContext connectContext)
Description copied from interface:ISendFileTransferContainerAdapter
Set connect context for authentication upon subsequentISendFileTransferContainerAdapter.sendOutgoingRequest(IFileID, IFileTransferInfo, IFileTransferListener, Map)
. This method should be called with a non-null connectContext in order to allow authentication to occur during call toISendFileTransferContainerAdapter.sendOutgoingRequest(IFileID, IFileTransferInfo, IFileTransferListener, Map)
.- Specified by:
setConnectContextForAuthentication
in interfaceISendFileTransferContainerAdapter
- Parameters:
connectContext
- the connect context to use for authenticating during subsequent call toISendFileTransferContainerAdapter.sendOutgoingRequest(IFileID, IFileTransferInfo, IFileTransferListener, Map)
. Ifnull
, then no authentication will be attempted.
-
setProxy
public void setProxy(Proxy proxy)
Description copied from interface:ISendFileTransferContainerAdapter
Set proxy for use upon subsequentISendFileTransferContainerAdapter.sendOutgoingRequest(IFileID, IFileTransferInfo, IFileTransferListener, Map)
. This method should be called with a non-null proxy to allow the given proxy to be used in subsequent calls toISendFileTransferContainerAdapter.sendOutgoingRequest(IFileID, IFileTransferInfo, IFileTransferListener, Map)
.- Specified by:
setProxy
in interfaceISendFileTransferContainerAdapter
- Parameters:
proxy
- the proxy to use for subsequent calls toISendFileTransferContainerAdapter.sendOutgoingRequest(IFileID, IFileTransferInfo, IFileTransferListener, Map)
. Ifnull
, then no proxy will be used.
-
sendOutgoingRequest
public void sendOutgoingRequest(IFileID targetID, File outgoingFile, IFileTransferListener transferListener, Map options) throws SendFileTransferException
Description copied from interface:ISendFileTransferContainerAdapter
Send request for outgoing file transfer. This method is used to initiate a file transfer to a targetReceiver (first parameter) of the localFileToSend (second parameter). File transfer events are asynchronously delivered to the file transferListener (third parameter)- Specified by:
sendOutgoingRequest
in interfaceISendFileTransferContainerAdapter
- Parameters:
targetID
- the ID of the remote to receive the file transfer request. Must not benull
.outgoingFile
- theFile
for the local file to send. Must not benull
.transferListener
- aIFileTransferListener
for responding to file transfer events. Must not benull
. If the target receiver responds then an IOutgoingFileTransfer will be delivered to the listeneroptions
- a Map of options associated with sendOutgoingRequest. The particular name/value pairs will be unique to the individual providers. May benull
.- Throws:
SendFileTransferException
- if the provider is not connected or is not in the correct state for initiating file transfer
-
addListener
public void addListener(IIncomingFileTransferRequestListener listener)
Description copied from interface:ISendFileTransferContainerAdapter
Add incoming file transfer listener. If the underlying provider supports receiving file transfer requests- Specified by:
addListener
in interfaceISendFileTransferContainerAdapter
- Parameters:
listener
- to receive incoming file transfer request events. Must not benull
.
-
removeListener
public boolean removeListener(IIncomingFileTransferRequestListener listener)
Description copied from interface:ISendFileTransferContainerAdapter
Remove incoming file transfer listener- Specified by:
removeListener
in interfaceISendFileTransferContainerAdapter
- Parameters:
listener
- the listener to remove. Must not benull
.- Returns:
- true if listener actually removed, false otherwise
-
sendOutgoingRequest
public void sendOutgoingRequest(IFileID targetID, IFileTransferInfo localFileToSend, IFileTransferListener transferListener, Map options) throws SendFileTransferException
Description copied from interface:ISendFileTransferContainerAdapter
Send request for outgoing file transfer. This method is used to initiate a file transfer to a targetReceiver (first parameter) of the localFileToSend (second parameter). File transfer events are asynchronously delivered to the file transferListener (third parameter)- Specified by:
sendOutgoingRequest
in interfaceISendFileTransferContainerAdapter
- Parameters:
targetID
- the ID of the remote to receive the file transfer request. Must not be should not benull
.localFileToSend
- theIFileTransferInfo
for the local file to send. Must not be should not benull
.transferListener
- aIFileTransferListener
for responding to file transfer events. Must not be should not benull
.. If the target receiver responds then anIOutgoingFileTransferResponseEvent
will be delivered to the listeneroptions
- a Map of options associated with sendOutgoingRequest. The particular name/value pairs will be unique to the individual providers. May be should not benull
..- Throws:
SendFileTransferException
- if the provider is not connected or is not in the correct state for initiating file transfer
-
getAdapter
public <T> T getAdapter(Class<T> adapter)
- Specified by:
getAdapter
in interfaceorg.eclipse.core.runtime.IAdaptable
-
-