Class CounterColumnType

All Implemented Interfaces:
Comparator<ByteBuffer>, AssignmentTestable

public class CounterColumnType extends NumberType<Long>
  • Field Details

  • Method Details

    • allowsEmpty

      public boolean allowsEmpty()
      Description copied from class: AbstractType
      Defines if the type allows an empty set of bytes (new byte[0]) as valid input. The AbstractType.validate(Object, ValueAccessor) and AbstractType.compose(Object, ValueAccessor) methods must allow empty bytes when this returns true, and must reject empty bytes when this is false.

      As of this writing, the main user of this API is for testing to know what types allow empty values and what types don't, so that the data that gets generated understands when ByteBufferUtil.EMPTY_BYTE_BUFFER is allowed as valid data.

      Overrides:
      allowsEmpty in class AbstractType<Long>
    • isEmptyValueMeaningless

      public boolean isEmptyValueMeaningless()
      Description copied from class: AbstractType
      Returns true for types where empty should be handled like null like Int32Type.
      Overrides:
      isEmptyValueMeaningless in class AbstractType<Long>
    • isCounter

      public boolean isCounter()
      Overrides:
      isCounter in class AbstractType<Long>
    • compose

      public <V> Long compose(V value, ValueAccessor<V> accessor)
      Overrides:
      compose in class AbstractType<Long>
    • decompose

      public ByteBuffer decompose(Long value)
      Overrides:
      decompose in class AbstractType<Long>
    • validateCellValue

      public <V> void validateCellValue(V cellValue, ValueAccessor<V> accessor) throws MarshalException
      Description copied from class: AbstractType
      Validate cell value. Unlike AbstractType.validate(java.nio.ByteBuffer), cell value is passed to validate its content. Usually, this is the same as validate except collection.
      Overrides:
      validateCellValue in class AbstractType<Long>
      Parameters:
      cellValue - ByteBuffer representing cell value
      Throws:
      MarshalException
    • getString

      public <V> String getString(V value, ValueAccessor<V> accessor)
      Description copied from class: AbstractType
      get a string representation of the bytes used for various identifier (NOT just for log messages)
      Overrides:
      getString in class AbstractType<Long>
    • fromString

      public ByteBuffer fromString(String source)
      Description copied from class: AbstractType
      get a byte representation of the given string.
      Specified by:
      fromString in class AbstractType<Long>
    • fromJSONObject

      public Term fromJSONObject(Object parsed)
      Description copied from class: AbstractType
      Given a parsed JSON string, return a byte representation of the object.
      Specified by:
      fromJSONObject in class AbstractType<Long>
      Parameters:
      parsed - the result of parsing a json string
    • toJSONString

      public String toJSONString(ByteBuffer buffer, ProtocolVersion protocolVersion)
      Description copied from class: AbstractType
      Converts the specified value into its JSON representation.

      The buffer position will stay the same.

      Overrides:
      toJSONString in class AbstractType<Long>
      Parameters:
      buffer - the value to convert
      protocolVersion - the protocol version to use for the conversion
      Returns:
      a JSON string representing the specified value
    • asCQL3Type

      public CQL3Type asCQL3Type()
      Overrides:
      asCQL3Type in class AbstractType<Long>
    • getSerializer

      public TypeSerializer<Long> getSerializer()
      Specified by:
      getSerializer in class AbstractType<Long>
    • getArgumentDeserializer

      public ArgumentDeserializer getArgumentDeserializer()
      Overrides:
      getArgumentDeserializer in class AbstractType<Long>
      Returns:
      the deserializer used to deserialize the function arguments of this type.
    • add

      public ByteBuffer add(Number left, Number right)
      Description copied from class: NumberType
      Adds the left argument to the right one.
      Specified by:
      add in class NumberType<Long>
      Parameters:
      left - the left argument
      right - the right argument
      Returns:
      the addition result
    • substract

      public ByteBuffer substract(Number left, Number right)
      Description copied from class: NumberType
      Substracts the left argument from the right one.
      Specified by:
      substract in class NumberType<Long>
      Parameters:
      left - the left argument
      right - the right argument
      Returns:
      the substraction result
    • multiply

      public ByteBuffer multiply(Number left, Number right)
      Description copied from class: NumberType
      Multiplies the left argument with the right one.
      Specified by:
      multiply in class NumberType<Long>
      Parameters:
      left - the left argument
      right - the right argument
      Returns:
      the multiplication result
    • divide

      public ByteBuffer divide(Number left, Number right)
      Description copied from class: NumberType
      Divides the left argument by the right one.
      Specified by:
      divide in class NumberType<Long>
      Parameters:
      left - the left argument
      right - the right argument
      Returns:
      the division result
    • mod

      public ByteBuffer mod(Number left, Number right)
      Description copied from class: NumberType
      Return the remainder.
      Specified by:
      mod in class NumberType<Long>
      Parameters:
      left - the left argument
      right - the right argument
      Returns:
      the remainder
    • negate

      public ByteBuffer negate(Number input)
      Description copied from class: NumberType
      Negates the argument.
      Specified by:
      negate in class NumberType<Long>
      Parameters:
      input - the argument to negate
      Returns:
      the negated argument
    • abs

      public ByteBuffer abs(Number input)
      Description copied from class: NumberType
      Takes the absolute value of the argument.
      Specified by:
      abs in class NumberType<Long>
      Parameters:
      input - the argument to take the absolute value of
      Returns:
      a ByteBuffer containing the absolute value of the argument. The type of the contents of the ByteBuffer will match that of the input.
    • exp

      public ByteBuffer exp(Number input)
      Description copied from class: NumberType
      Raises e to the power of the argument.
      Specified by:
      exp in class NumberType<Long>
      Parameters:
      input - the argument to raise e to
      Returns:
      a ByteBuffer containg the value of e (the base of natural logarithms) raised to the power of the argument. The type of the contents of the ByteBuffer will be a double, unless the input is a DecimalType or IntegerType, in which the ByteBuffer will contain a DecimalType.
    • log

      public ByteBuffer log(Number input)
      Description copied from class: NumberType
      Takes the natural logrithm of the argument.
      Specified by:
      log in class NumberType<Long>
      Parameters:
      input - the argument to take the natural log (ln) of
      Returns:
      a ByteBuffer containg the log base e (ln) of the argument. The type of the contents of the ByteBuffer will be a double, unless the input is a DecimalType or IntegerType, in which the ByteBuffer will contain a DecimalType.
    • log10

      public ByteBuffer log10(Number input)
      Description copied from class: NumberType
      Takes the log base 10 of the arguement.
      Specified by:
      log10 in class NumberType<Long>
      Parameters:
      input - the argument to take the log base ten of
      Returns:
      a ByteBuffer containg the log base 10 of the argument. The type of the contents of the ByteBuffer will be a double, unless the input is a DecimalType or IntegerType, in which the ByteBuffer will contain a DecimalType.
    • round

      public ByteBuffer round(Number input)
      Description copied from class: NumberType
      Rounds the argument to the nearest whole number.
      Specified by:
      round in class NumberType<Long>
      Parameters:
      input - the argument to round
      Returns:
      a ByteBuffer containg the rounded argument. If the input is an integral type, the ByteBuffer will contain a copy of the input. If the input is a float, the ByteBuffer will contain an int32. If the input is a double, the output will contain a long. If the input is a DecimalType, the output will contain an IntegerType.
    • getMaskedValue

      public ByteBuffer getMaskedValue()
      Overrides:
      getMaskedValue in class AbstractType<Long>
      Returns:
      A fixed, serialized value to be used when the column is masked, to be returned instead of the real value.