public abstract class AbstractTransfer extends Object implements Transfer
Transfer.TransferState| 限定符和类型 | 字段和说明 |
|---|---|
protected ProgressListenerChain |
listenerChain
Hook for adding/removing more progress listeners.
|
protected TransferMonitor |
monitor |
protected Transfer.TransferState |
state
The current state of this transfer.
|
protected Collection<TransferStateChangeListener> |
stateChangeListeners
Collection of listeners to be notified for changes to the state of this transfer via setState()
|
| 构造器和说明 |
|---|
AbstractTransfer(String description,
TransferProgress transferProgress,
ProgressListenerChain progressListenerChain) |
AbstractTransfer(String description,
TransferProgress transferProgress,
ProgressListenerChain progressListenerChain,
TransferStateChangeListener stateChangeListener) |
| 限定符和类型 | 方法和说明 |
|---|---|
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.
|
protected void |
fireProgressEvent(ProgressEventType eventType) |
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. completed successfully,
failed, or was canceled).
|
void |
notifyStateChangeListeners(Transfer.TransferState state)
Notifies all the registered state change listeners of the state update.
|
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 CosClientException) or wraps
it in an CosClientException 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 CosClientException |
unwrapExecutionException(ExecutionException e)
Unwraps the root exception that caused the specified ExecutionException
and returns it.
|
void |
waitForCompletion()
Waits for this transfer to complete.
|
CosClientException |
waitForException()
Waits for this transfer to finish and returns any error that occurred, or
returns
null if no errors occurred. |
protected volatile Transfer.TransferState state
protected TransferMonitor monitor
protected final ProgressListenerChain listenerChain
protected final Collection<TransferStateChangeListener> stateChangeListeners
public AbstractTransfer(String description, TransferProgress transferProgress, ProgressListenerChain progressListenerChain)
public AbstractTransfer(String description, TransferProgress transferProgress, ProgressListenerChain progressListenerChain, TransferStateChangeListener stateChangeListener)
public final boolean isDone()
public void waitForCompletion()
throws CosClientException,
CosServiceException,
InterruptedException
waitForCompletion 在接口中 TransferCosClientException - If any errors were encountered in the client while making the
request or handling the response.CosServiceException - If any errors occurred in Qcloud COS while processing the
request.InterruptedException - If this thread is interrupted while waiting for the transfer
to complete.public CosClientException 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 在接口中 Transfernull if no errors occurred.InterruptedException - If this thread is interrupted while waiting for the transfer
to complete.public String getDescription()
getDescription 在接口中 Transferpublic Transfer.TransferState getState()
public void setState(Transfer.TransferState state)
public void notifyStateChangeListeners(Transfer.TransferState state)
public void addProgressListener(ProgressListener listener)
addProgressListener 在接口中 Transferlistener - The progress listener to add.public void removeProgressListener(ProgressListener listener)
removeProgressListener 在接口中 Transferlistener - The progress listener to remove.public void addStateChangeListener(TransferStateChangeListener listener)
public void removeStateChangeListener(TransferStateChangeListener listener)
public TransferProgress getProgress()
getProgress 在接口中 Transferpublic void setMonitor(TransferMonitor monitor)
public TransferMonitor getMonitor()
protected void fireProgressEvent(ProgressEventType eventType)
protected void rethrowExecutionException(ExecutionException e)
e - The execution exception to examine.protected CosClientException unwrapExecutionException(ExecutionException e)
e - The ExecutionException to unwrap.Copyright © 2020. All rights reserved.