Class DataStorageSpec.IntMebibytesBound

java.lang.Object
org.apache.cassandra.config.DataStorageSpec
org.apache.cassandra.config.DataStorageSpec.IntMebibytesBound
Enclosing class:
DataStorageSpec

public static final class DataStorageSpec.IntMebibytesBound extends DataStorageSpec
Represents a data storage quantity used for Cassandra configuration. The bound is [0, Integer.MAX_VALUE) in mebibytes. If the user sets a different unit - we still validate that converted to mebibytes the quantity will not exceed that upper bound. (CASSANDRA-17571)
  • Constructor Details

    • IntMebibytesBound

      public IntMebibytesBound(String value)
      Creates a DataStorageSpec.IntMebibytesBound of the specified amount.
      Parameters:
      value - the data storage
    • IntMebibytesBound

      public IntMebibytesBound(long quantity, DataStorageSpec.DataStorageUnit unit)
      Creates a DataStorageSpec.IntMebibytesBound of the specified amount in the specified unit.
      Parameters:
      quantity - where quantity shouldn't be bigger than Integer.MAX_VALUE - 1 in mebibytes
      unit - in which the provided quantity is
    • IntMebibytesBound

      public IntMebibytesBound(long mebibytes)
      Creates a DataStorageSpec.IntMebibytesBound of the specified amount in mebibytes.
      Parameters:
      mebibytes - where mebibytes shouldn't be bigger than Integer.MAX_VALUE-1
  • Method Details

    • toBytes

      public int toBytes()
      Returns the amount of data storage in bytes as an int
      Returns:
      the amount of data storage in bytes or Integer.MAX_VALUE if the number of bytes is too large.
    • toKibibytes

      public int toKibibytes()
      Returns the amount of data storage in kibibytes as an int
      Returns:
      the amount of data storage in kibibytes or Integer.MAX_VALUE if the number of kibibytes is too large.
    • toMebibytes

      public int toMebibytes()
      Returns the amount of data storage in mebibytes as an int
      Returns:
      the amount of data storage in mebibytes or Integer.MAX_VALUE if the number of mebibytes is too large.
    • toBytesInLong

      public long toBytesInLong()
      Returns the amount of data storage in bytes as long
      Returns:
      the amount of data storage in bytes.