package org.limewire.core.api.upload;
/**
* The states related to managed uploads encapsulated in {@link UploadItem}.
*/
public enum UploadState {
/**
* Upload is being queued.
*/
QUEUED(false, false),
/**
* Upload completed.
*/
DONE(true, false),
/**
* Upload in progress.
*/
UPLOADING(false, false),
/**
* Upload was stopped due to an error with the request.
*/
REQUEST_ERROR(false, true),
/**
* Upload was stopped because a limit was reached.
*/
LIMIT_REACHED(false, true),
/**
* Upload cancelled by user.
*/
CANCELED(true, false),
/**
* Only related to bittorrent?
* <p>{@link UploadStatus.WAITING_REQUESTS}
*/
PAUSED(false, false),
/**
* This upload corresponds to a a live browse host.
*/
BROWSE_HOST(false, false),
/**
* The upload was a browse host, but is now complete.
*/
BROWSE_HOST_DONE(true, false);
private final boolean finished;
private final boolean error;
/**
* Constructs an UploadState with the specified values.
*/
UploadState(boolean finished, boolean error) {
this.finished = finished;
this.error = error;
}
/**
* Returns true if the state represents a finished condition.
*/
public boolean isFinished() {
return finished;
}
/**
* Returns true if the state represents an error.
*/
public boolean isError() {
return error;
}
}