public abstract class AbstractRetrieveFileTransfer
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected int |
buff_length |
protected long |
bytesReceived |
protected static int |
CLOSE_TIMEOUT |
protected boolean |
closeOutputStream |
protected IConnectContext |
connectContext |
static int |
DEFAULT_BUF_LENGTH |
protected boolean |
done |
protected double |
downloadRateBytesPerSecond |
protected java.lang.Exception |
exception |
protected long |
fileLength |
protected Job |
job |
protected java.lang.Object |
jobLock |
protected long |
lastModifiedTime |
protected IFileTransferListener |
listener |
protected java.io.OutputStream |
localFileContents |
protected java.util.Map |
options |
protected boolean |
paused |
protected static int |
POLLING_RETRY_ATTEMPTS |
protected Proxy |
proxy |
protected IFileRangeSpecification |
rangeSpecification |
protected static int |
READ_TIMEOUT |
protected java.io.InputStream |
remoteFileContents |
protected IFileID |
remoteFileID |
protected java.net.URL |
remoteFileURL |
protected java.util.Map |
responseHeaders |
protected static int |
TIMEOUT_INPUTSTREAM_BUFFER_SIZE |
protected long |
transferStartTime |
| Constructor and Description |
|---|
AbstractRetrieveFileTransfer() |
| Modifier and Type | Method and Description |
|---|---|
void |
cancel() |
protected java.lang.String |
createJobName() |
protected java.lang.String |
createRangeName() |
protected abstract boolean |
doPause()
Subclass overridable version of
pause(). |
protected abstract boolean |
doResume()
Subclass overridable version of
resume(). |
protected void |
fireReceiveResumedEvent() |
protected void |
fireReceiveStartEvent() |
protected void |
fireTransferReceiveDataEvent() |
protected void |
fireTransferReceiveDoneEvent() |
protected void |
fireTransferReceivePausedEvent() |
java.lang.Object |
getAdapter(java.lang.Class adapter) |
long |
getBytesReceived() |
java.lang.Exception |
getException() |
long |
getFileLength() |
IFileRangeSpecification |
getFileRangeSpecification() |
protected IStatus |
getFinalStatus(java.lang.Throwable exception1) |
ID |
getID() |
IFileTransferListener |
getListener() |
protected java.util.Map |
getOptions() |
double |
getPercentComplete() |
java.lang.String |
getRemoteFileName() |
protected java.net.URL |
getRemoteFileURL() |
java.util.Date |
getRemoteLastModified() |
Namespace |
getRetrieveNamespace() |
protected int |
getSocketCloseTimeout() |
protected int |
getSocketReadTimeout() |
protected void |
handleReceivedData(byte[] buf,
int bytes,
double factor,
IProgressMonitor monitor) |
protected void |
hardClose() |
protected boolean |
isCanceled() |
boolean |
isDone() |
boolean |
isPaused() |
protected UserCancelledException |
newUserCancelledException() |
protected abstract void |
openStreams()
Open incoming and outgoing streams associated with this file transfer.
|
boolean |
pause() |
protected void |
resetDoneAndException() |
boolean |
resume() |
protected IProxyData |
selectProxyFromProxies(java.lang.String protocol,
IProxyData[] proxies)
Select a single proxy from a set of proxies available for the given host.
|
void |
sendRetrieveRequest(IFileID rFileID,
IFileRangeSpecification rangeSpec,
IFileTransferListener transferListener,
java.util.Map ops) |
void |
sendRetrieveRequest(IFileID remoteFileID1,
IFileTransferListener transferListener,
java.util.Map options1) |
protected void |
setCloseOutputStream(boolean close) |
void |
setConnectContextForAuthentication(IConnectContext connectContext) |
protected void |
setDone(boolean done) |
protected void |
setDoneCanceled() |
protected void |
setDoneCanceled(java.lang.Exception e) |
protected void |
setDoneException(java.lang.Exception e) |
protected void |
setFileLength(long length) |
protected void |
setInputStream(java.io.InputStream ins) |
protected void |
setLastModifiedTime(long timestamp) |
protected void |
setOutputStream(java.io.OutputStream outs) |
void |
setProxy(Proxy proxy) |
protected void |
setupAndScheduleJob(FileTransferJob fileTransferJob) |
protected void |
setupProxies() |
protected abstract void |
setupProxy(Proxy proxy)
Setup ECF proxy.
|
protected boolean |
targetHasGzSuffix(java.lang.String target) |
static java.lang.String |
toHumanReadableBytes(double size) |
protected java.io.InputStream |
wrapTransferReadInputStream(java.io.InputStream inputStream,
IProgressMonitor monitor) |
public static final int DEFAULT_BUF_LENGTH
protected static final int POLLING_RETRY_ATTEMPTS
protected static final int TIMEOUT_INPUTSTREAM_BUFFER_SIZE
protected static final int READ_TIMEOUT
protected static final int CLOSE_TIMEOUT
protected java.lang.Object jobLock
protected Job job
protected java.net.URL remoteFileURL
protected IFileID remoteFileID
protected IFileTransferListener listener
protected int buff_length
protected boolean done
protected volatile long bytesReceived
protected java.io.InputStream remoteFileContents
protected java.io.OutputStream localFileContents
protected boolean closeOutputStream
protected java.lang.Exception exception
protected long fileLength
protected long lastModifiedTime
protected java.util.Map options
protected boolean paused
protected IFileRangeSpecification rangeSpecification
protected Proxy proxy
protected IConnectContext connectContext
protected long transferStartTime
protected double downloadRateBytesPerSecond
protected java.util.Map responseHeaders
protected java.io.InputStream wrapTransferReadInputStream(java.io.InputStream inputStream,
IProgressMonitor monitor)
protected java.net.URL getRemoteFileURL()
protected int getSocketReadTimeout()
protected int getSocketCloseTimeout()
protected void setInputStream(java.io.InputStream ins)
protected void setOutputStream(java.io.OutputStream outs)
protected void setCloseOutputStream(boolean close)
protected void setFileLength(long length)
protected void setLastModifiedTime(long timestamp)
protected java.util.Map getOptions()
protected void handleReceivedData(byte[] buf,
int bytes,
double factor,
IProgressMonitor monitor)
throws java.io.IOException
java.io.IOExceptionpublic static java.lang.String toHumanReadableBytes(double size)
public ID getID()
protected IStatus getFinalStatus(java.lang.Throwable exception1)
protected void hardClose()
protected void fireTransferReceivePausedEvent()
protected void fireTransferReceiveDoneEvent()
protected void fireTransferReceiveDataEvent()
public void setConnectContextForAuthentication(IConnectContext connectContext)
public void setProxy(Proxy proxy)
public long getBytesReceived()
protected UserCancelledException newUserCancelledException()
protected void resetDoneAndException()
protected void setDone(boolean done)
protected void setDoneException(java.lang.Exception e)
protected boolean isCanceled()
protected void setDoneCanceled()
protected void setDoneCanceled(java.lang.Exception e)
public void cancel()
public java.lang.Exception getException()
public double getPercentComplete()
public long getFileLength()
public java.util.Date getRemoteLastModified()
public boolean isDone()
public java.lang.Object getAdapter(java.lang.Class adapter)
protected abstract void openStreams()
throws IncomingFileTransferException
remoteFileContents and localFileContent
must be non-null after successful completion of the
implementation of this method.IncomingFileTransferException - if some problempublic void sendRetrieveRequest(IFileID remoteFileID1,
IFileTransferListener transferListener,
java.util.Map options1)
throws IncomingFileTransferException
IncomingFileTransferExceptionpublic Namespace getRetrieveNamespace()
public boolean isPaused()
protected abstract boolean doPause()
pause(). Subclasses must provide
an implementation of this method to support IFileTransferPausable
.false otherwise.public boolean pause()
protected abstract boolean doResume()
resume(). Subclasses must
provide an implementation of this method to support
IFileTransferPausable.false otherwise.public boolean resume()
public IFileTransferListener getListener()
protected java.lang.String createRangeName()
protected java.lang.String createJobName()
protected void setupAndScheduleJob(FileTransferJob fileTransferJob)
protected void fireReceiveStartEvent()
protected void fireReceiveResumedEvent()
public IFileRangeSpecification getFileRangeSpecification()
public void sendRetrieveRequest(IFileID rFileID,
IFileRangeSpecification rangeSpec,
IFileTransferListener transferListener,
java.util.Map ops)
throws IncomingFileTransferException
IncomingFileTransferException - if some problem sending retrieve requestprotected abstract void setupProxy(Proxy proxy)
sendRetrieveRequest(IFileID, IFileTransferListener, Map) and
sendRetrieveRequest(IFileID, IFileRangeSpecification, IFileTransferListener, Map)
, prior to the actual call to openStreams().proxy - the proxy to be setup. Will not be null.protected IProxyData selectProxyFromProxies(java.lang.String protocol,
IProxyData[] proxies)
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.protected void setupProxies()
public java.lang.String getRemoteFileName()
protected boolean targetHasGzSuffix(java.lang.String target)