Interface IntDataLayout<S extends DataBuffer<?>>

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

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

    Modifier and Type
    Method
    Description
    applyTo(S buffer)
    Apply this layout to the provided buffer.
    int
    readInt(S buffer, long index)
    Reads n = scale() values from the buffer at the given index and return them as an int.
    default Integer
    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
    writeInt(S buffer, int value, long index)
    Writes a int into the buffer at the given index after converting it to the buffer type.
    default void
    writeObject(S buffer, Integer 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 IntDataBuffer 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<?>, Integer>
      Parameters:
      buffer - the target buffer to apply this layout to
      Returns:
      a buffer with this layout
    • writeInt

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

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

      default void writeObject(S buffer, Integer 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<?>, Integer>
      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 Integer 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<?>, Integer>
      Parameters:
      buffer - the buffer to read from
      index - position of the buffer to read in the buffer
      Returns:
      the converted value