Class FlatBufferBuilder.ByteBufferFactory

java.lang.Object
io.objectbox.flatbuffers.FlatBufferBuilder.ByteBufferFactory
Direct Known Subclasses:
FlatBufferBuilder.HeapByteBufferFactory
Enclosing class:
FlatBufferBuilder

public abstract static class FlatBufferBuilder.ByteBufferFactory extends Object
An interface that provides a user of the FlatBufferBuilder class the ability to specify the method in which the internal buffer gets allocated. This allows for alternatives to the default behavior, which is to allocate memory for a new byte-array backed `ByteBuffer` array inside the JVM. The FlatBufferBuilder class contains the HeapByteBufferFactory class to preserve the default behavior in the event that the user does not provide their own implementation of this interface.
  • Constructor Details

    • ByteBufferFactory

      public ByteBufferFactory()
  • Method Details

    • newByteBuffer

      public abstract ByteBuffer newByteBuffer(int capacity)
      Create a `ByteBuffer` with a given capacity. The returned ByteBuf must have a ByteOrder.LITTLE_ENDIAN ByteOrder.
      Parameters:
      capacity - The size of the `ByteBuffer` to allocate.
      Returns:
      Returns the new `ByteBuffer` that was allocated.
    • releaseByteBuffer

      public void releaseByteBuffer(ByteBuffer bb)
      Release a ByteBuffer. Current FlatBufferBuilder released any reference to it, so it is safe to dispose the buffer or return it to a pool. It is not guaranteed that the buffer has been created with newByteBuffer(int).
      Parameters:
      bb - the buffer to release