Package org.springframework.util.unit
Class DataSize
java.lang.Object
org.springframework.util.unit.DataSize
- All Implemented Interfaces:
Serializable,Comparable<DataSize>
A data size, such as '12MB'. This class models data size in terms of
bytes and is immutable and thread-safe.
The terms and units used in this class are based on
binary prefixes
indicating multiplication by powers of 2. Consult the following table and
the Javadoc for DataUnit for details.
| Term | Data Size | Size in Bytes |
|---|---|---|
| byte | 1B | 1 |
| kilobyte | 1KB | 1,024 |
| megabyte | 1MB | 1,048,576 |
| gigabyte | 1GB | 1,073,741,824 |
| terabyte | 1TB | 1,099,511,627,776 |
- Since:
- 5.1
- Author:
- Stephane Nicoll, Sam Brannen
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionintbooleaninthashCode()booleanChecks if this size is negative, excluding zero.static DataSizestatic DataSizeofBytes(long bytes) Obtain aDataSizerepresenting the specified number of bytes.static DataSizeofGigabytes(long gigabytes) Obtain aDataSizerepresenting the specified number of gigabytes.static DataSizeofKilobytes(long kilobytes) Obtain aDataSizerepresenting the specified number of kilobytes.static DataSizeofMegabytes(long megabytes) Obtain aDataSizerepresenting the specified number of megabytes.static DataSizeofTerabytes(long terabytes) Obtain aDataSizerepresenting the specified number of terabytes.static DataSizeparse(CharSequence text) static DataSizeparse(CharSequence text, DataUnit defaultUnit) longtoBytes()Return the number of bytes in this instance.longReturn the number of gigabytes in this instance.longReturn the number of kilobytes in this instance.longReturn the number of megabytes in this instance.toString()longReturn the number of terabytes in this instance.
-
Method Details
-
ofBytes
Obtain aDataSizerepresenting the specified number of bytes.- Parameters:
bytes- the number of bytes, positive or negative- Returns:
- a
DataSize
-
ofKilobytes
Obtain aDataSizerepresenting the specified number of kilobytes.- Parameters:
kilobytes- the number of kilobytes, positive or negative- Returns:
- a
DataSize
-
ofMegabytes
Obtain aDataSizerepresenting the specified number of megabytes.- Parameters:
megabytes- the number of megabytes, positive or negative- Returns:
- a
DataSize
-
ofGigabytes
Obtain aDataSizerepresenting the specified number of gigabytes.- Parameters:
gigabytes- the number of gigabytes, positive or negative- Returns:
- a
DataSize
-
ofTerabytes
Obtain aDataSizerepresenting the specified number of terabytes.- Parameters:
terabytes- the number of terabytes, positive or negative- Returns:
- a
DataSize
-
of
- Parameters:
amount- the amount of the size, measured in terms of the unit, positive or negative- Returns:
- a corresponding
DataSize
-
parse
Obtain aDataSizefrom a text string such as12MBusingDataUnit.BYTESif no unit is specified.Examples:
"12KB" -- parses as "12 kilobytes" "5MB" -- parses as "5 megabytes" "20" -- parses as "20 bytes"
- Parameters:
text- the text to parse- Returns:
- the parsed
DataSize - See Also:
-
parse
Obtain aDataSizefrom a text string such as12MBusing the specified defaultDataUnitif no unit is specified.The string starts with a number followed optionally by a unit matching one of the supported suffixes.
If neither a unit nor a default
DataUnitis specified,DataUnit.BYTESwill be inferred.Examples:
"12KB" -- parses as "12 kilobytes" "5MB" -- parses as "5 megabytes" "20" -- parses as "20 kilobytes" (where the
defaultUnitisDataUnit.KILOBYTES) "20" -- parses as "20 bytes" (if thedefaultUnitisnull)- Parameters:
text- the text to parsedefaultUnit- the defaultDataUnitto use- Returns:
- the parsed
DataSize
-
isNegative
public boolean isNegative()Checks if this size is negative, excluding zero.- Returns:
- true if this size has a size less than zero bytes
-
toBytes
public long toBytes()Return the number of bytes in this instance.- Returns:
- the number of bytes
-
toKilobytes
public long toKilobytes()Return the number of kilobytes in this instance.- Returns:
- the number of kilobytes
-
toMegabytes
public long toMegabytes()Return the number of megabytes in this instance.- Returns:
- the number of megabytes
-
toGigabytes
public long toGigabytes()Return the number of gigabytes in this instance.- Returns:
- the number of gigabytes
-
toTerabytes
public long toTerabytes()Return the number of terabytes in this instance.- Returns:
- the number of terabytes
-
compareTo
- Specified by:
compareToin interfaceComparable<DataSize>
-
toString
-
equals
-
hashCode
public int hashCode()
-