Class NumberType.NumberArgumentDeserializer<M extends org.apache.commons.lang3.mutable.Mutable<Number>>

java.lang.Object
org.apache.cassandra.db.marshal.NumberType.NumberArgumentDeserializer<M>
Type Parameters:
M - The Mutable wrapper type
All Implemented Interfaces:
ArgumentDeserializer
Enclosing class:
NumberType<T extends Number>

protected abstract static class NumberType.NumberArgumentDeserializer<M extends org.apache.commons.lang3.mutable.Mutable<Number>> extends Object implements ArgumentDeserializer
Base class for numeric type ArgumentDeserializer.

This class uses and returns a mutable wrapper instead of the Java immutable primitive wrapper. This wrapper is being reused between each call to minimize the amount of objects instantiated.

  • Field Details

    • wrapper

      protected final M extends org.apache.commons.lang3.mutable.Mutable<Number> wrapper
  • Constructor Details

    • NumberArgumentDeserializer

      public NumberArgumentDeserializer(M wrapper)
  • Method Details

    • deserialize

      public Object deserialize(ProtocolVersion protocolVersion, ByteBuffer buffer)
      Description copied from interface: ArgumentDeserializer
      Deserializes the specified function argument.
      Specified by:
      deserialize in interface ArgumentDeserializer
      Parameters:
      protocolVersion - the protocol version
      buffer - the serialized argument
      Returns:
      the deserialized argument
    • setMutableValue

      protected abstract void setMutableValue(M mutable, ByteBuffer buffer)
      Sets the value of the mutable.
      Parameters:
      buffer - the serialized value.