![]() |
FlatBuffers
An open source project by FPL.
|
Class that helps you build a FlatBuffer. More...
Class that helps you build a FlatBuffer.
See the section "Use in Java/C#" in the main FlatBuffers documentation.
Classes | |
class | ByteBufferBackedInputStream |
A class that allows a user to create an InputStream from a ByteBuffer. | |
interface | ByteBufferFactory |
An interface that provides a user of the FlatBufferBuilder class the ability to specify the method in which the internal buffer gets allocated. More... | |
class | HeapByteBufferFactory |
An implementation of the ByteBufferFactory interface that is used when one is not provided by the user. More... | |
Public Member Functions | |
void | addBoolean (boolean x) |
Add a boolean to the buffer, properly aligned, and grows the buffer (if necessary). More... | |
void | addByte (byte x) |
Add a byte to the buffer, properly aligned, and grows the buffer (if necessary). More... | |
void | addDouble (double x) |
Add a double to the buffer, properly aligned, and grows the buffer (if necessary). More... | |
void | addFloat (float x) |
Add a float to the buffer, properly aligned, and grows the buffer (if necessary). More... | |
void | addInt (int x) |
Add an int to the buffer, properly aligned, and grows the buffer (if necessary). More... | |
void | addLong (long x) |
Add a long to the buffer, properly aligned, and grows the buffer (if necessary). More... | |
void | addOffset (int off) |
Adds on offset, relative to where it will be written. More... | |
void | addShort (short x) |
Add a short to the buffer, properly aligned, and grows the buffer (if necessary). More... | |
void | clear () |
Reset the FlatBufferBuilder by purging all data that it holds. | |
int | createByteVector (byte[] arr) |
Create a byte array in the buffer. More... | |
int | createString (CharSequence s) |
Encode the string s in the buffer using UTF-8. More... | |
int | createString (ByteBuffer s) |
Create a string in the buffer from an already encoded UTF-8 string in a ByteBuffer. More... | |
ByteBuffer | createUnintializedVector (int elem_size, int num_elems, int alignment) |
Create a new array/vector and return a ByteBuffer to be filled later. More... | |
int | createVectorOfTables (int[] offsets) |
Create a vector of tables. More... | |
ByteBuffer | dataBuffer () |
Get the ByteBuffer representing the FlatBuffer. More... | |
void | finish (int root_table) |
Finalize a buffer, pointing to the given root_table . More... | |
void | finish (int root_table, String file_identifier) |
Finalize a buffer, pointing to the given root_table . More... | |
void | finishSizePrefixed (int root_table) |
Finalize a buffer, pointing to the given root_table , with the size prefixed. More... | |
void | finishSizePrefixed (int root_table, String file_identifier) |
Finalize a buffer, pointing to the given root_table , with the size prefixed. More... | |
FlatBufferBuilder (int initial_size, ByteBufferFactory bb_factory) | |
Start with a buffer of size initial_size , then grow as required. More... | |
FlatBufferBuilder (int initial_size) | |
Start with a buffer of size initial_size , then grow as required. More... | |
FlatBufferBuilder () | |
Start with a buffer of 1KiB, then grow as required. | |
FlatBufferBuilder (ByteBuffer existing_bb, ByteBufferFactory bb_factory) | |
Alternative constructor allowing reuse of ByteBuffers. More... | |
FlatBufferBuilder (ByteBuffer existing_bb) | |
Alternative constructor allowing reuse of ByteBuffers. More... | |
FlatBufferBuilder | forceDefaults (boolean forceDefaults) |
In order to save space, fields that are set to their default value don't get serialized into the buffer. More... | |
FlatBufferBuilder | init (ByteBuffer existing_bb, ByteBufferFactory bb_factory) |
Alternative initializer that allows reusing this object on an existing ByteBuffer . More... | |
int | offset () |
Offset relative to the end of the buffer. More... | |
void | pad (int byte_size) |
Add zero valued bytes to prepare a new entry to be added. More... | |
void | prep (int size, int additional_bytes) |
Prepare to write an element of size after additional_bytes have been written, e.g. More... | |
void | putBoolean (boolean x) |
Add a boolean to the buffer, backwards from the current location. More... | |
void | putByte (byte x) |
Add a byte to the buffer, backwards from the current location. More... | |
void | putDouble (double x) |
Add a double to the buffer, backwards from the current location. More... | |
void | putFloat (float x) |
Add a float to the buffer, backwards from the current location. More... | |
void | putInt (int x) |
Add an int to the buffer, backwards from the current location. More... | |
void | putLong (long x) |
Add a long to the buffer, backwards from the current location. More... | |
void | putShort (short x) |
Add a short to the buffer, backwards from the current location. More... | |
byte [] | sizedByteArray (int start, int length) |
A utility function to copy and return the ByteBuffer data from start to start + length as a byte[] . More... | |
byte [] | sizedByteArray () |
A utility function to copy and return the ByteBuffer data as a byte[] . More... | |
InputStream | sizedInputStream () |
A utility function to return an InputStream to the ByteBuffer data. More... | |
Protected Member Functions | |
void | finish (int root_table, boolean size_prefix) |
Finalize a buffer, pointing to the given root_table . More... | |
void | finish (int root_table, String file_identifier, boolean size_prefix) |
Finalize a buffer, pointing to the given root_table . More... | |
|
inline |
Start with a buffer of size initial_size
, then grow as required.
initial_size | The initial size of the internal buffer to use. |
bb_factory | The factory to be used for allocating the internal buffer |
|
inline |
Start with a buffer of size initial_size
, then grow as required.
initial_size | The initial size of the internal buffer to use. |
|
inline |
Alternative constructor allowing reuse of ByteBuffers.
The builder can still grow the buffer as necessary. User classes should make sure to call dataBuffer() to obtain the resulting encoded message.
existing_bb | The byte buffer to reuse. |
bb_factory | The factory to be used for allocating a new internal buffer if the existing buffer needs to grow |
|
inline |
Alternative constructor allowing reuse of ByteBuffers.
The builder can still grow the buffer as necessary. User classes should make sure to call dataBuffer() to obtain the resulting encoded message.
existing_bb | The byte buffer to reuse. |
|
inline |
Add a boolean
to the buffer, properly aligned, and grows the buffer (if necessary).
x | A boolean to put into the buffer. |
|
inline |
Add a byte
to the buffer, properly aligned, and grows the buffer (if necessary).
x | A byte to put into the buffer. |
|
inline |
Add a double
to the buffer, properly aligned, and grows the buffer (if necessary).
x | A double to put into the buffer. |
|
inline |
Add a float
to the buffer, properly aligned, and grows the buffer (if necessary).
x | A float to put into the buffer. |
|
inline |
Add an int
to the buffer, properly aligned, and grows the buffer (if necessary).
x | An int to put into the buffer. |
|
inline |
Add a long
to the buffer, properly aligned, and grows the buffer (if necessary).
x | A long to put into the buffer. |
|
inline |
Adds on offset, relative to where it will be written.
off | The offset to add. |
|
inline |
Add a short
to the buffer, properly aligned, and grows the buffer (if necessary).
x | A short to put into the buffer. |
|
inline |
Create a byte array in the buffer.
arr | A source array with data |
|
inline |
Encode the string s
in the buffer using UTF-8.
If
is already a CharBuffer, this method is allocation free.
s | The string to encode. |
|
inline |
Create a string in the buffer from an already encoded UTF-8 string in a ByteBuffer.
s | An already encoded UTF-8 string as a ByteBuffer . |
|
inline |
Create a new array/vector and return a ByteBuffer to be filled later.
Call endVector after this method to get an offset to the beginning of vector.
elem_size | the size of each element in bytes. |
num_elems | number of elements in the vector. |
alignment | byte alignment. |
|
inline |
Create a vector of tables.
offsets | Offsets of the tables. |
|
inline |
Get the ByteBuffer representing the FlatBuffer.
Only call this after you've called finish()
. The actual data starts at the ByteBuffer's current position, not necessarily at 0
.
|
inlineprotected |
Finalize a buffer, pointing to the given root_table
.
root_table | An offset to be added to the buffer. |
size_prefix | Whether to prefix the size to the buffer. |
|
inline |
Finalize a buffer, pointing to the given root_table
.
root_table | An offset to be added to the buffer. |
|
inlineprotected |
Finalize a buffer, pointing to the given root_table
.
root_table | An offset to be added to the buffer. |
file_identifier | A FlatBuffer file identifier to be added to the buffer before root_table . |
size_prefix | Whether to prefix the size to the buffer. |
|
inline |
Finalize a buffer, pointing to the given root_table
.
root_table | An offset to be added to the buffer. |
file_identifier | A FlatBuffer file identifier to be added to the buffer before root_table . |
|
inline |
Finalize a buffer, pointing to the given root_table
, with the size prefixed.
root_table | An offset to be added to the buffer. |
|
inline |
Finalize a buffer, pointing to the given root_table
, with the size prefixed.
root_table | An offset to be added to the buffer. |
file_identifier | A FlatBuffer file identifier to be added to the buffer before root_table . |
|
inline |
In order to save space, fields that are set to their default value don't get serialized into the buffer.
Forcing defaults provides a way to manually disable this optimization.
forceDefaults | When set to true , always serializes default values. |
this
.
|
inline |
Alternative initializer that allows reusing this object on an existing ByteBuffer
.
This method resets the builder's internal state, but keeps objects that have been allocated for temporary storage.
existing_bb | The byte buffer to reuse. |
bb_factory | The factory to be used for allocating a new internal buffer if the existing buffer needs to grow |
this
.
|
inline |
Offset relative to the end of the buffer.
|
inline |
Add zero valued bytes to prepare a new entry to be added.
byte_size | Number of bytes to add. |
|
inline |
Prepare to write an element of size
after additional_bytes
have been written, e.g.
if you write a string, you need to align such the int length field is aligned to com.google.flatbuffers.Constants#SIZEOF_INT, and the string data follows it directly. If all you need to do is alignment, additional_bytes
will be 0.
size | This is the of the new element to write. |
additional_bytes | The padding size. |
|
inline |
Add a boolean
to the buffer, backwards from the current location.
Doesn't align nor check for space.
x | A boolean to put into the buffer. |
|
inline |
Add a byte
to the buffer, backwards from the current location.
Doesn't align nor check for space.
x | A byte to put into the buffer. |
|
inline |
Add a double
to the buffer, backwards from the current location.
Doesn't align nor check for space.
x | A double to put into the buffer. |
|
inline |
Add a float
to the buffer, backwards from the current location.
Doesn't align nor check for space.
x | A float to put into the buffer. |
|
inline |
Add an int
to the buffer, backwards from the current location.
Doesn't align nor check for space.
x | An int to put into the buffer. |
|
inline |
Add a long
to the buffer, backwards from the current location.
Doesn't align nor check for space.
x | A long to put into the buffer. |
|
inline |
Add a short
to the buffer, backwards from the current location.
Doesn't align nor check for space.
x | A short to put into the buffer. |
|
inline |
A utility function to copy and return the ByteBuffer data from start
to start
+ length
as a byte[]
.
start | Start copying at this offset. |
length | How many bytes to copy. |
IndexOutOfBoundsException | If the range of bytes is ouf of bound. |
|
inline |
A utility function to copy and return the ByteBuffer data as a byte[]
.
|
inline |
A utility function to return an InputStream to the ByteBuffer data.