Package org.eclipse.ecf.provider.filetransfer.browse

# Class AbstractFileSystemBrowser

java.lang.Object
org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser

Direct Known Subclasses:
  `HttpClientFileSystemBrowser`, `HttpClientFileSystemBrowser`, `LocalFileSystemBrowser`, `URLFileSystemBrowser`

public abstract class AbstractFileSystemBrowser extends Object
Abstract class for browsing an efs file system.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected class`
`AbstractFileSystemBrowser.DirectoryJob`
`class`
`AbstractFileSystemBrowser.RemoteFileSystemRequest`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected IConnectContext`
`connectContext`
`protected URL`
`directoryOrFile`
`protected IFileID`
`fileID`
`protected AbstractFileSystemBrowser.DirectoryJob`
`job`
`protected IRemoteFileSystemListener`
`listener`
`protected Proxy`
`proxy`
`protected IRemoteFile[]`
`remoteFiles`

## Constructor Summary

Constructors
Constructor
Description
`AbstractFileSystemBrowser(IFileID directoryOrFileID, IRemoteFileSystemListener listener, URL url, IConnectContext connectContext, Proxy proxy)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`cancel()`
`protected void`
`cleanUp()`
`protected IRemoteFileSystemEvent`
`createRemoteFileEvent()`
`protected IRemoteFileSystemRequest`
`createRemoteFileSystemRequest()`
`protected Exception`
`getException()`
`protected boolean`
`isCanceled()`
`protected UserCancelledException`
`newUserCancelledException()`
`protected abstract void`
`runRequest()`
Run the actual request.
`protected org.eclipse.core.net.proxy.IProxyData`
`selectProxyFromProxies(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(Exception e)`
`protected void`
`setException(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 Details

### fileID

protected IFileID fileID

### listener

protected IRemoteFileSystemListener listener

### remoteFiles

protected IRemoteFile[] remoteFiles

### proxy

protected Proxy proxy

### directoryOrFile

protected URL directoryOrFile

### connectContext

protected IConnectContext connectContext

### job

protected AbstractFileSystemBrowser.DirectoryJob job

## Constructor Details

### AbstractFileSystemBrowser

public AbstractFileSystemBrowser(IFileID directoryOrFileID, IRemoteFileSystemListener listener, URL url, IConnectContext connectContext, Proxy proxy)

## Method Details

### cancel

protected void cancel()

### cleanUp

protected void cleanUp()

### runRequest

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

Throws:
  `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(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 greater than 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(Exception exception)

### getException

protected Exception getException()

### isCanceled

protected boolean isCanceled()

### setCanceled

protected void setCanceled(Exception e)

### newUserCancelledException

protected UserCancelledException newUserCancelledException()