com.netease.cloud.services.nos.transfer.internal
public abstract class AbstractTransfer extends Object implements Transfer
Transfer.TransferState
Modifier and Type | Field and Description |
---|---|
protected TransferMonitor |
monitor |
protected ProgressListenerChain |
progressListenerChain
Hook for adding/removing more progress listeners.
|
protected Collection<TransferStateChangeListener> |
stateChangeListeners
Collection of listeners to be notified for changes to the state of this
transfer via setState()
|
Modifier and Type | Method and Description |
---|---|
void |
addProgressListener(ProgressListener listener)
Adds the specified progress listener to the list of listeners receiving
updates about this transfer's progress.
|
void |
addStateChangeListener(TransferStateChangeListener listener)
Adds the given state change listener to the collection of listeners.
|
String |
getDescription()
Returns a human-readable description of this transfer.
|
TransferMonitor |
getMonitor() |
TransferProgress |
getProgress()
Returns progress information about this transfer.
|
Transfer.TransferState |
getState()
Returns the current state of this transfer.
|
boolean |
isDone()
Returns whether or not the transfer is finished (i.e.
|
void |
removeProgressListener(ProgressListener listener)
Removes the specified progress listener from the list of progress
listeners receiving updates about this transfer's progress.
|
void |
removeStateChangeListener(TransferStateChangeListener listener)
Removes the given state change listener from the collection of listeners.
|
protected void |
rethrowExecutionException(ExecutionException e)
Examines the cause of the specified ExecutionException and either
rethrows it directly (if it's a type of ClientException) or wraps it in
an ClientException and rethrows it.
|
void |
setMonitor(TransferMonitor monitor)
Sets the monitor used to poll for transfer completion.
|
void |
setState(Transfer.TransferState state)
Sets the current state of this transfer.
|
protected ClientException |
unwrapExecutionException(ExecutionException e)
Unwraps the root exception that caused the specified ExecutionException
and returns it.
|
void |
waitForCompletion()
Waits for this transfer to complete.
|
ClientException |
waitForException()
Waits for this transfer to finish and returns any error that occurred, or
returns
null if no errors occurred. |
protected TransferMonitor monitor
protected ProgressListenerChain progressListenerChain
protected final Collection<TransferStateChangeListener> stateChangeListeners
public boolean isDone()
public void waitForCompletion() throws ClientException, ServiceException, InterruptedException
waitForCompletion
in interface Transfer
ClientException
- If any errors were encountered in the client while making the
request or handling the response.ServiceException
- If any errors occurred in Nos while processing the request.InterruptedException
- If this thread is interrupted while waiting for the transfer
to complete.public ClientException waitForException() throws InterruptedException
null
if no errors occurred. This is a blocking call;
the current thread will be suspended until this transfer either fails or
completes successfully.waitForException
in interface Transfer
null
if no errors occurred.InterruptedException
- If this thread is interrupted while waiting for the transfer
to complete.public String getDescription()
getDescription
in interface Transfer
public Transfer.TransferState getState()
public void setState(Transfer.TransferState state)
public void addProgressListener(ProgressListener listener)
addProgressListener
in interface Transfer
listener
- The progress listener to add.public void removeProgressListener(ProgressListener listener)
removeProgressListener
in interface Transfer
listener
- The progress listener to remove.public void addStateChangeListener(TransferStateChangeListener listener)
public void removeStateChangeListener(TransferStateChangeListener listener)
public TransferProgress getProgress()
getProgress
in interface Transfer
public void setMonitor(TransferMonitor monitor)
public TransferMonitor getMonitor()
protected void rethrowExecutionException(ExecutionException e)
e
- The execution exception to examine.protected ClientException unwrapExecutionException(ExecutionException e)
e
- The ExecutionException to unwrap.Copyright © 2017. All Rights Reserved.