Interface LongDataLayout<S extends DataBuffer<?>>

Type Parameters:
S - type of buffer this layout can be applied to
All Superinterfaces:
DataLayout<S,Long>

public interface LongDataLayout<S extends DataBuffer<?>> extends DataLayout<S,Long>
A DataLayout that converts data stored in a buffer to longs.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    applyTo(S buffer)
    Apply this layout to the provided buffer.
    long
    readLong(S buffer, long index)
    Reads n = scale() values from the buffer at the given index and return them as a long.
    default Long
    readObject(S buffer, long index)
    Reads n = scale() values from the buffer at the given index and return them as a single value in the user type.
    void
    writeLong(S buffer, long value, long index)
    Writes a long into the buffer at the given index after converting it to the buffer type.
    default void
    writeObject(S buffer, Long value, long index)
    Writes a user value into the buffer at the given index after converting it to the buffer type.

    Methods inherited from interface DataLayout

    scale
  • Method Details

    • applyTo

      default LongDataBuffer applyTo(S buffer)
      Description copied from interface: DataLayout
      Apply this layout to the provided buffer.

      The returned DataBuffer instance is simply a wrapper to the original buffer and does not have a backing storage of his own.

      Specified by:
      applyTo in interface DataLayout<S extends DataBuffer<?>, Long>
      Parameters:
      buffer - the target buffer to apply this layout to
      Returns:
      a buffer with this layout
    • writeLong

      void writeLong(S buffer, long value, long index)
      Writes a long into the buffer at the given index after converting it to the buffer type.
      Parameters:
      buffer - the buffer to write to
      value - the long to convert and write
      index - index in the buffer where the converted value should be written
      See Also:
    • readLong

      long readLong(S buffer, long index)
      Reads n = scale() values from the buffer at the given index and return them as a long.
      Parameters:
      buffer - the buffer to read from
      index - position of the buffer to read in the buffer
      Returns:
      the long value
      See Also:
    • writeObject

      default void writeObject(S buffer, Long value, long index)
      Description copied from interface: DataLayout
      Writes a user value into the buffer at the given index after converting it to the buffer type.

      It is the responsibility of the implementors of this interface to write the converted value to the given buffer before this call returns, using the most appropriate method. For example, for a layout converting a BigInteger to a single long,

      @Override
      public void writeObject(LongDataBuffer buffer, BigInteger value, long index) {
        buffer.setLong(value.longValue(), index);
      }
      
      If a single user value scales over more than one buffer values, index indicates the starting position of the sequence to be written to the buffer.
      Specified by:
      writeObject in interface DataLayout<S extends DataBuffer<?>, Long>
      Parameters:
      buffer - the buffer to write to
      value - the value in the user type to convert and write
      index - index in the buffer where the converted value should be written
    • readObject

      default Long readObject(S buffer, long index)
      Description copied from interface: DataLayout
      Reads n = scale() values from the buffer at the given index and return them as a single value in the user type.

      It is the responsibility of the implementors of this interface to read the value to be converted from the given buffer, using the most appropriate method. For example, for a layout that converting a single long to a BigInteger,

      @Override
      public BigInteger readObject(LongDataBuffer buffer, long index) {
        return BigInteger.valueOf(buffer.getLong(index));
      }
      
      If a single user value scales over more than one buffer values, index indicates the starting position of the sequence to be read from the buffer.
      Specified by:
      readObject in interface DataLayout<S extends DataBuffer<?>, Long>
      Parameters:
      buffer - the buffer to read from
      index - position of the buffer to read in the buffer
      Returns:
      the converted value