Package io.airlift.units
Class DataSize
- java.lang.Object
-
- io.airlift.units.DataSize
-
- All Implemented Interfaces:
Comparable<DataSize>
public final class DataSize extends Object implements Comparable<DataSize>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDataSize.Unit
-
Constructor Summary
Constructors Constructor Description DataSize(double size, DataSize.Unit unit)Deprecated.UseofBytes(long)instead.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description intcompareTo(DataSize o)DataSizeconvertTo(DataSize.Unit unit)Deprecated.Useto(Unit)instead.DataSizeconvertToMostSuccinctDataSize()Deprecated.Usesuccinct()instead.booleanequals(Object o)DataSize.UnitgetUnit()doublegetValue()Deprecated.UsetoBytes()instead to avoid floating point precision semanticsdoublegetValue(DataSize.Unit unit)Deprecated.UsetoBytes()instead to avoid floating point precision semanticsinthashCode()static DataSizeof(long size, DataSize.Unit unit)Creates aDataSizeinstance with the provided quantity of the providedDataSize.Unit.static DataSizeofBytes(long bytes)longroundTo(DataSize.Unit unit)Deprecated.UsetoBytes()instead.DataSizesuccinct()static DataSizesuccinctBytes(long bytes)PreferofBytes(long)when conversion to the most 'succinct' unit is not necessary or desirablestatic DataSizesuccinctDataSize(double size, DataSize.Unit unit)Deprecated.usesuccinctBytes(long)instead, double values are impreciseDataSizeto(DataSize.Unit unit)longtoBytes()StringtoBytesValueString()StringtoString()static DataSizevalueOf(String size)
-
-
-
Constructor Detail
-
DataSize
@Deprecated public DataSize(double size, DataSize.Unit unit)
Deprecated.UseofBytes(long)instead. The imprecise nature of using doubles for DataSize is deprecated for removal
-
-
Method Detail
-
of
public static DataSize of(long size, DataSize.Unit unit) throws IllegalArgumentException
Creates aDataSizeinstance with the provided quantity of the providedDataSize.Unit. This value is immediately converted to bytes which might overflow.- Parameters:
size- The quantity of the supplied unitunit- The unit to use as the default unit for the constructed instance and to convert the size to bytes- Throws:
IllegalArgumentException- If the provided size would overflow a long value when converting to bytes
-
ofBytes
public static DataSize ofBytes(long bytes)
-
succinctBytes
public static DataSize succinctBytes(long bytes)
PreferofBytes(long)when conversion to the most 'succinct' unit is not necessary or desirable
-
succinctDataSize
@Deprecated public static DataSize succinctDataSize(double size, DataSize.Unit unit)
Deprecated.usesuccinctBytes(long)instead, double values are imprecisePreferof(long, Unit)when conversion to the most 'succinct' unit is not necessary or desirable. Otherwise, usesuccinctBytes(long)since it will not incur rounding and loss of precision.
-
toBytes
public long toBytes()
-
getValue
@Deprecated public double getValue()
Deprecated.UsetoBytes()instead to avoid floating point precision semantics
-
getUnit
public DataSize.Unit getUnit()
-
getValue
@Deprecated public double getValue(DataSize.Unit unit)
Deprecated.UsetoBytes()instead to avoid floating point precision semantics
-
roundTo
@Deprecated public long roundTo(DataSize.Unit unit)
Deprecated.UsetoBytes()instead. This method uses floating point semantics to compute the rounded value which can yield to unexpected loss of precision beyond the intended rounding
-
convertTo
@Deprecated public DataSize convertTo(DataSize.Unit unit)
Deprecated.Useto(Unit)instead. No conversion occurs when calling this method, only the unit used for the default string representation is changed. This has no effect on the unit used during JSON serialization
-
to
public DataSize to(DataSize.Unit unit)
-
succinct
public DataSize succinct()
-
convertToMostSuccinctDataSize
@Deprecated public DataSize convertToMostSuccinctDataSize()
Deprecated.Usesuccinct()instead. No conversion occurs when calling this method, only the unit used for the default string representation is changed. This has no effect on the unit used during JSON serialization
-
toBytesValueString
public String toBytesValueString()
-
valueOf
public static DataSize valueOf(String size) throws IllegalArgumentException
- Throws:
IllegalArgumentException
-
compareTo
public int compareTo(DataSize o)
- Specified by:
compareToin interfaceComparable<DataSize>
-
-