org.eclipse.ecf.provider.filetransfer.browse
Class AbstractFileSystemBrowser

java.lang.Object
  extended by org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser
Direct Known Subclasses:
HttpClientFileSystemBrowser, HttpClientFileSystemBrowser, LocalFileSystemBrowser, URLFileSystemBrowser

public abstract class AbstractFileSystemBrowser
extends java.lang.Object

Abstract class for browsing an efs file system.


Nested Class Summary
protected  class AbstractFileSystemBrowser.DirectoryJob
           
 class AbstractFileSystemBrowser.RemoteFileSystemRequest
           
 
Field Summary
protected  IConnectContext connectContext
           
protected  java.net.URL directoryOrFile
           
protected  IFileID fileID
           
protected  AbstractFileSystemBrowser.DirectoryJob job
           
protected  IRemoteFileSystemListener listener
           
protected  Proxy proxy
           
protected  IRemoteFile[] remoteFiles
           
 
Constructor Summary
AbstractFileSystemBrowser(IFileID directoryOrFileID, IRemoteFileSystemListener listener, java.net.URL url, IConnectContext connectContext, Proxy proxy)
           
 
Method Summary
protected  void cancel()
           
protected  void cleanUp()
           
protected  IRemoteFileSystemEvent createRemoteFileEvent()
           
protected  IRemoteFileSystemRequest createRemoteFileSystemRequest()
           
protected  java.lang.Exception getException()
           
protected  boolean isCanceled()
           
protected  UserCancelledException newUserCancelledException()
           
protected abstract  void runRequest()
          Run the actual request.
protected  org.eclipse.core.net.proxy.IProxyData selectProxyFromProxies(java.lang.String protocol, org.eclipse.core.net.proxy.IProxyData[] proxies)
          Select a single proxy from a set of proxies available for the given host.
 IRemoteFileSystemRequest sendBrowseRequest()
           
protected  void setCanceled(java.lang.Exception e)
           
protected  void setException(java.lang.Exception exception)
           
protected  void setupProxies()
           
protected abstract  void setupProxy(Proxy proxy)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fileID

protected IFileID fileID

listener

protected IRemoteFileSystemListener listener

remoteFiles

protected IRemoteFile[] remoteFiles

proxy

protected Proxy proxy

directoryOrFile

protected java.net.URL directoryOrFile

connectContext

protected IConnectContext connectContext

job

protected AbstractFileSystemBrowser.DirectoryJob job
Constructor Detail

AbstractFileSystemBrowser

public AbstractFileSystemBrowser(IFileID directoryOrFileID,
                                 IRemoteFileSystemListener listener,
                                 java.net.URL url,
                                 IConnectContext connectContext,
                                 Proxy proxy)
Method Detail

cancel

protected void cancel()

cleanUp

protected void cleanUp()

runRequest

protected abstract void runRequest()
                            throws java.lang.Exception
Run the actual request. This method is called within the job created to actually get the directory or file information.

Throws:
java.lang.Exception - if some problem with making the request or receiving response to the request.

sendBrowseRequest

public IRemoteFileSystemRequest sendBrowseRequest()

createRemoteFileSystemRequest

protected IRemoteFileSystemRequest createRemoteFileSystemRequest()

createRemoteFileEvent

protected IRemoteFileSystemEvent createRemoteFileEvent()
Returns:
file system directory event

setupProxy

protected abstract void setupProxy(Proxy proxy)

selectProxyFromProxies

protected org.eclipse.core.net.proxy.IProxyData selectProxyFromProxies(java.lang.String protocol,
                                                                       org.eclipse.core.net.proxy.IProxyData[] proxies)
Select a single proxy from a set of proxies available for the given host. This implementation selects in the following manner: 1) If proxies provided is null or array of 0 length, null is returned. If only one proxy is available (array of length 1) then the entry is returned. If proxies provided is length > 1, then if the type of a proxy in the array matches the given protocol (e.g. http, https), then the first matching proxy is returned. If the protocol does not match any of the proxies, then the *first* proxy (i.e. proxies[0]) is returned. Subclasses may override if desired.

Parameters:
protocol - the target protocol (e.g. http, https, scp, etc). Will not be null.
proxies - the proxies to select from. May be null or array of length 0.
Returns:
proxy data selected from the proxies provided.

setupProxies

protected void setupProxies()

setException

protected void setException(java.lang.Exception exception)

getException

protected java.lang.Exception getException()

isCanceled

protected boolean isCanceled()

setCanceled

protected void setCanceled(java.lang.Exception e)

newUserCancelledException

protected UserCancelledException newUserCancelledException()