forked from aws/aws-sdk-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTransferProgress.java
More file actions
72 lines (65 loc) · 2.25 KB
/
TransferProgress.java
File metadata and controls
72 lines (65 loc) · 2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*
* Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.amazonaws.services.s3.transfer;
/**
* Describes the progress of a transfer.
*/
public abstract class TransferProgress {
protected volatile long bytesTransferred = 0;
protected volatile long totalBytesToTransfer = -1;
/**
* @deprecated Replaced by {@link #getBytesTransferred()}
*/
public long getBytesTransfered() {
return getBytesTransferred();
}
/**
* Returns the number of bytes completed in the associated transfer.
*
* @return The number of bytes completed in the associated transfer.
*/
public long getBytesTransferred() {
return bytesTransferred;
}
/**
* Returns the total size in bytes of the associated transfer, or -1
* if the total size isn't known.
*
* @return The total size in bytes of the associated transfer.
* Returns or -1 if the total size of the associated
* transfer isn't known yet.
*/
public long getTotalBytesToTransfer() {
return totalBytesToTransfer;
}
/**
* @deprecated Replaced by {@link #getPercentTransferred()}
*/
@Deprecated
public synchronized double getPercentTransfered() {
return getPercentTransferred();
}
/**
* Returns a percentage of the number of bytes transferred out of the total
* number of bytes to transfer.
*
* @return A percentage of the number of bytes transferred out of the total
* number of bytes to transfer.
*/
public synchronized double getPercentTransferred() {
if (getBytesTransferred() < 0) return 0;
return ((double)getBytesTransferred() / (double)getTotalBytesToTransfer()) * (double)100;
}
}